AdvNik Posted June 26, 2003 Posted June 26, 2003 Следующая ситуация: Правлю /etc/rc.firewall и, соответственно, надо его перечитать. Выполняю команду /etc/rc.d/ipwf reload, после этого файл перечитывается (с машины на которой это проделывается изменения "видит") Проблема: на этой машине также запущен natd для преобразования частного диапазона адресов локальной сети. При перезагрузки ipfw сообщается об ошибке, что порты natd уже заняты (что-то в таком роде). И , после этого, пакеты из локалки в мир не уходят (или не возвращаются). Выхожу из этой ситуации перезагрузкой всей машины. Вопрос: Что я делаю не так и как правильно это делать. OS: FreeBSD 5.0 realese Вставить ник Quote
shs Posted June 27, 2003 Posted June 27, 2003 Следующая ситуация: Правлю /etc/rc.firewall и, соответственно, надо его перечитать. Выполняю команду /etc/rc.d/ipwf reload, после этого файл перечитывается (с машины на которой это проделывается изменения "видит") Проблема: на этой машине также запущен natd для преобразования частного диапазона адресов локальной сети. При перезагрузки ipfw сообщается об ошибке, что порты natd уже заняты (что-то в таком роде). И , после этого, пакеты из локалки в мир не уходят (или не возвращаются). Выхожу из этой ситуации перезагрузкой всей машины. Вопрос: Что я делаю не так и как правильно это делать. OS: FreeBSD 5.0 realese может попробовать IPNAT ? Вставить ник Quote
AdvNik Posted June 30, 2003 Author Posted June 30, 2003 может попробовать IPNAT ? Выполняю следующие деиствия: /etc/rc.d/ipfw restart >Firewall rules loaded, starting divert daemons: natdnatd: Unable to bind divert socket.: Address already in use /etc/rc.d/ipnat restart Пинга с внутрених хостов внешних нет :( Вставить ник Quote
shs Posted June 30, 2003 Posted June 30, 2003 может попробовать IPNAT ? Выполняю следующие деиствия: /etc/rc.d/ipfw restart >Firewall rules loaded, starting divert daemons: natdnatd: Unable to bind divert socket.: Address already in use /etc/rc.d/ipnat restart Пинга с внутрених хостов внешних нет :( Ну тогда для начала /usr/share/examples/ipfilter стоит почитать. Вставить ник Quote
AdvNik Posted June 30, 2003 Author Posted June 30, 2003 shs, насколько я понимаю ipfilter это просто другой firewall. Т.е. я спрашиваю про одно, а ты мне говоришь совсем про другое. Или я чего-то не понимаю? Вставить ник Quote
shs Posted June 30, 2003 Posted June 30, 2003 shs, насколько я понимаю ipfilter это просто другой firewall. Т.е. я спрашиваю про одно, а ты мне говоришь совсем про другое. Или я чего-то не понимаю? Собственно - в чём преимущества при работе в связке ipfilter + ipfw ? А в том, что они никаким образом не взаимосвязаны друг с другом. Т.е. используя IPNAT ты имеешь гарантию что любые изменения в ipfw не затронут твой нат. Я лично не любля использовать natd. На то есть много причин. Вот и подумалось - может и тебе пригодится ??? Вставить ник Quote
AdvNik Posted June 30, 2003 Author Posted June 30, 2003 shs, спасибо за заботу, может быть когдани-будь руки доидут до того чтобы посмотреть ipfilter and ipnat, но в данный момент для меня актуалны ipfw and natd :) Вставить ник Quote
Dimka Posted July 1, 2003 Posted July 1, 2003 Да в чем проблема то? Ну напиши скрипт чтобы он вначале килял нат потом релоадил фаервол потом поднимал нат, Ну или сам напиши скрипт который реловадит фаервол как тебе надо , онже и так команды понимает Вставить ник Quote
Grumbler Posted July 1, 2003 Posted July 1, 2003 Следующая ситуация: Правлю /etc/rc.firewall и, соответственно, надо его перечитать. Выполняю команду /etc/rc.d/ipwf reload, после этого файл перечитывается (с машины на которой это проделывается изменения "видит") Проблема: на этой машине также запущен natd для преобразования частного диапазона адресов локальной сети. При перезагрузки ipfw сообщается об ошибке, что порты natd уже заняты (что-то в таком роде). И , после этого, пакеты из локалки в мир не уходят (или не возвращаются). Выхожу из этой ситуации перезагрузкой всей машины. Вопрос: Что я делаю не так и как правильно это делать. natd - это демон, который слушает некоторый TCP порт (обычно 8668, описан как порт natd в /etc/services) и когда у тебя стартует второй natd (из скрипта), он не может подключиться к этому порту. Решение: выполнить команду killall natd ; sleep 5 ; /etc/rc.d/ipwf reload (т.е. "прибить" работающий natd, подождать чтобы он успел завершиться и затем перезапустить правила файрвола и natd) Хотя я бы исправил /etc/rc.d/ipwf чтобы он посылал сигнал завершения в natd и проверял список процессов. OS: FreeBSD 5.0 realese Напрямую к вопросу не относится, но: эта версия слишком сырая. Или срочно накатывай 5.1 или (лучше) поставить 4.5 и пропатчить ее до RELEND_4_5 Вставить ник Quote
AdvNik Posted July 1, 2003 Author Posted July 1, 2003 Grumbler, проделал то что ты сказал - natd запустился (ошибок не пишет), но пакеты из "внутрених" хостов всеравно не уходят :( хотя до этой операции и после перезагрузки все "хорошо" Вставить ник Quote
AdvNik Posted July 2, 2003 Author Posted July 2, 2003 "Накатил" до 5.1 и стало все нормально работать :) Всем большое спасибо за помошь. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.