Страница 1 из 1
NAT, несколько интерфейсов и конфиг-файлы
Добавлено: 2007-03-09 10:03:42
alex3
Вот задумал разобраться у себя на рутере и сделать все правильно и логически. Исходные данные - есть 3 сетевых интерфейса, на которые поднят НАТ. Для каждого ната куча опций, редиректы портов, адресов и пр.... Только сейчас в rc.conf natd отключен, создан файлик rc.local, где и указываются все эти прибабахи
Код: Выделить всё
/sbin/natd -n fxp2 -p 8668 -redirect_port tcp xxx.xxx.xxx.xxx:25 25 ...
и далее еще две таких строки только интерфейсы, порты и флаги разные.
Хочется - создать в rc.conf natd_enable, natd2_enable, natd3_enable и все эти редиректы разложить по 3 конфигам НАТа. Надыбал статью
http://www.opennet.ru/base/net/freebsd_2x_natd.txt.html. Возникли вопросы.
1. /etc/rc.d/natd у меня отличается от написанного в статье. соответственно непонятно как флаги передавать...
2. а как конфиг-файл к нату подцепить?
Добавлено: 2007-03-09 11:44:22
dikens3
Код: Выделить всё
rc.conf
natd_enable="YES"
natd_flags="-f /etc/natd.cf"
natd2_enable="YES"
natd2_flags="-f /etc/natd2.cf"
natd3_enable="YES"
natd3_flags="-f /etc/natd3.cf"
Код: Выделить всё
natd.cf
unregistered_only yes
use_sockets yes
deny_incoming yes
same_ports yes
interface rl0
verbose no
log no
port 8668
И т.д.
Лучше оставь как есть, только конф. файлы подтяни. Иначе после обновления исходников в системе все natd2 и т.п. файлы можно случайно удалить. :-) Если не ты будешь за рулём.
Добавлено: 2007-03-09 13:44:05
alex3
Спасибо. Но если я оставлю как есть - останется и то, от чего хотел уйти. При добавлении редиректа порта, например, приходится перезагружать, а если сделаю nat2 etc, то достаточно будет команды restart.
Добавлено: 2007-03-09 13:49:31
dikens3
alex3 писал(а):Спасибо. Но если я оставлю как есть - останется и то, от чего хотел уйти. При добавлении редиректа порта, например, приходится перезагружать, а если сделаю nat2 etc, то достаточно будет команды restart.
В выделенном проблема? Часто перезапускаешь?
kill ... не помогает? Написать killnat1.sh, killnat2.sh и вписать в него команды. :-)
Или вообще написать скрипт, который будет проверять ежеминутно конфиги nat.cf и т.п.
Если в каком либо изменения - перезапускать нужный nat. Самое оно. Я бы так сделал, если бы мне приходилось часто этим заниматься.
Добавлено: 2007-03-09 16:13:34
alex3
все дело в том, что хрен поймешь где какой нат
Код: Выделить всё
# ps -ax | grep nat
... [natd]
... [natd]
... /sbin/natd -n fxp3 .....
... grep nat
ну с последним то понятно .... а остальные?
можно killall natd и chmod +x rc.local , но это неправильно и некрасиво...
в принципе я уже сделал как хотел и балдю
Добавлено: 2007-03-09 16:21:39
dikens3
Сделал, значит молодец.
Код: Выделить всё
# ps -aux | grep nat | grep -v grep
root 13290 0,0 0,1 1480 372 ?? Ss 1мар07 7:23,81 /sbin/natd -f /etc/natd.cf -P /var/run/natd.pid
Вполне опознаваемо, хоть по конфигу.