LINUX.ORG.RU
решено ФорумAdmin

Возможно ли переделать на динамический ip


0

1

Здраствуйте. Имеется скрипт, смысл которого маршрутизация двух интернет подключений. Сейчас на интерфейс eth0 по dhcp роутера назначается статический ip 192.168.3.115 и все отлично работает. Но есть желание сделать этот ip динамическим. Возможно ли как то в этом скрипте узнать ip назначенный на eth0 и его шлюз и вместо жестко прописанных айпишников записать переменную в которой будут содержаться сейчас неизвестные ip

#!/bin/sh sleep 5

ip route add 188.143.125.0 dev ppp0 src 188.143.125.32 table t2 ip route add default via 188.143.125.32 table t2 ip route add 192.168.3.0 dev eth0 src 192.168.3.115 table t1 ip route add default via 192.168.3.1 table t1 ip rule add from 192.168.3.115 table t1 ip rule add from 188.143.125.32 table t2

по dhcp роутера назначается статический ip

Fatal: division by zero attempted

1) нарисуйте для местных нетелепатов схему сети

2) оформите нормально портянку текста скрипта

3) опишите итоговый результат, которого добиваетесь

anonymous
()
Ответ на: комментарий от anonymous

Хэх. Чтобы разобраться с портянкой мне еще одну тему придется создать.

В итоге хочу просто поместить в переменную ip адрес интерфеса. Это есть в описании.

Похоже сам разобрался как, вытащив скриптом из выдачи ifconfig. Кроме шлюза, но надеюсь, что он всегда один и можно так прописать

createl
() автор топика
Ответ на: комментарий от createl

RTFM

Велосипедист, в зависимости от того, чей адрес ты хочешь - получаемый по DHCP или по PPPoE, читай два мана

для DHCP: man dhclient-script

When dhclient needs to invoke the client configuration script, it defines a set of variables in the environment, and then invokes CLIENTBINDIR/dhclient-script.

Переменные описаны в /etc/dhcp/dhclient-enter-hooks.d/debug, в зависимости от операции, к ним добавляется префикс new_ или old_

reason interface medium alias_ip_address ip_address host_name network_number subnet_mask broadcast_address routers static_routes rfc3442_classless_static_routes domain_name domain_search domain_name_servers netbios_name_servers netbios_scope ntp_servers ip6_address ip6_prefix ip6_prefixlen dhcp6_domain_search dhcp6_name_servers

Ты хочешь new_ip_address очевидно

Для PPPoE: man pppd

/etc/ppp/ip-up

A program or script which is executed when the link is available for sending and receiving IP packets (that is, IPCP has come up). It is executed with the parameters

interface-name tty-device speed local-IP-address remote-IP-address ipparam

Отдельные каталоги для скриптов в /etc/ppp/, пример использоваия переменных /etc/ppp/ip-up

Ты хочешь local-IP-address aka $PPP_LOCAL очевидно

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.