LINUX.ORG.RU
ФорумAdmin

Перезагрузка iptables при смене IP ?


0

0

У меня DSL. От него Linux и раздает на сетку. Провайдер борется с домашней локалкой - регулярно меняя мне IP. Написал скрипт - он проверяет мой IP и при смене перезагружает iptables - востанавливает route. А можно ли прицепиться к DHCP клиенту, а не подвешивать свою програмку ? Ведь это по запросу DHCP у меня меняется арендуемый адрес? Всего наилучшего. Влад.

anonymous

Ответ на: комментарий от Anoxemian

У меня в наборе правил только в одной строке IP сетки : $iptables -t nat -A POSTROUTING -s 192.168.0.0/25 -o eth0 -j MASQUERADE

А так везде - интерфейсы.... И что мпопробовать можно ?

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

Тогда вообще в чём проблема? Какая разница, какой ip висит на интерфейсе eth0? 192.168.0.0/25 - это то что ты прячешь от провайдера? Или я что-то недопонял...

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

я сам мало понимаю - но при MASQUERADE - прописывается текущи IP как def route , а он то потом и меняется. Linux продолжает видеть интернет, а вот сетка - теряет

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

О_о. Преимущество MASQUERADE вкакраз в том, что не надо указывать конкретного ip. А подставляется ip согласно раутингу. Так что на правила iptables вообще не обращай внимания. Смотри в сторону dhcp клиента, поищи в скриптах где происходит процедура получения нового ip. И поправь там, чтобы default route выставлялся правильный. И опять же сделай проще:

route add -net 0.0.0.0 netmask 0.0.0.0 eth0

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

Мне кажется, без скрипта, отслеживающего изменения адреса, не обойтись. Заставить его по крону раз в минуту смотреть изменился ли адрес.. и т.д.

victorb ★★
()
Ответ на: комментарий от Anoxemian

добавил... и не стало совсем интернета.. :(

anonymous
()

Если адрес получает dhclient - можно попробовать использовать dhclient-exit-hooks для того, чтобы переконфигурировать ваши правила. Подробности смотрите в man dhclient-script (dhcp клиентов вроде бы несколько - я смотрел по тому, который идет в комплекте с ISC dhcpd).

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

запускается скриптик с rc.local в бэкграунд quicktables - содержит набор правил для iptables как fairewall и router после первой загрузки правил - мой IP хранит как ROUTED и потом каждые 10 сек смотрит текущий - CURRENT если не равны - перезагрузка правил.

#!/bin/sh /etc/rc.d/quicktables ROUTED=`ifconfig eth0 | grep inet | cut -d: -f2 | cut -d\ -f1` until false do CURRENT=`ifconfig eth0 | grep inet | cut -d: -f2 | cut -d\ -f1` if [ $ROUTED != $CURRENT ]; then /etc/rc.d/quicktables ROUTED=`ifconfig eth0 | grep inet | cut -d: -f2 | cut -d\ -f1` fi sleep 10 done

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

"А подставляется ip согласно раутингу" - дык про то и речь - раутинг меняется...

"И поправь там, чтобы default route выставлялся правильный" - он то как раз правильный, он потом, после смены IP неправильным становится

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