Есть FreeBSD-4.2 в качестве роутера у которого два канала в Инет.
Причем каналы в Инет обслуживаются одним NIC'ом (ed1), а внутреняя
сетка подключена через другой NIC (ed0). Пользователи из внутренней
сети должны быть разделены, т.е. одна часть использует один
канал в Инет (пользователи 192.168.0.2-192.168.0.127), другая
часть (пользователи 192.168.0.129-192.168.0.254) - второй канал.
NIC ed1 имеет два IP-адреса ext_IP1 и ext_IP2.
Выход в Инет планируется осуществить через natd. Однако в
чистом виде natd по-моему не сможет сделать то, чего мне надо.
Поэтому, я думаю, следует сделать вот что: запустить вторую
копию natd с другим конфигурационным файлом, чтобы все пакетики,
попадающие во второй natd, уходили с другого внешнего IP NIC'а,
подключенного в Инет, а правила ipfw настроить примерно так:
ipfw add 50 divert 8668 all from 192.168.0.0/25 to any out via ed1
ipfw add 60 divert 8668 all from any to ext_IP1/32 in recv ed1
ipfw add 80 divert 9668 all from 192.168.128.0/25 to any out via ed1
ipfw add 90 divert 9668 all from any to ext_IP2/32 in recv ed1
Первый natd запускается так:
/sbin/natd -port 8668 -alias_address ext_IP1
Второй natd запускается так:
/sbin/natd -port 9668 -alias_address ext_IP2
Теперь вопрос: будет ли все это работать?
Hе хочется просто долго экспериментировать на реальной сети.
|