fxp1 - внутренний 192.168.0.1. За freebsd стоят: почтарь МДемон+прокси+биллинг 192.168.0.99 и Kerio VPN сервер 192.168.0.4.
С почтарем и пробросом трафика разобрался просто:
natd.conf>
same_ports yes
use_sockets yes
interface xl0
redirect_port tcp 192.168.0.99:25 25
redirect_address 192.168.0.99 xxx.xxx.xxx.x
причем в правила ipfw ничего, аля divert не добавлял. И все работает. ОСь FreeBSD 6.1
добавил лишь
add allow tcp from any 25 to any
add allow tcp from any to any 25
Сейчас мне надо настроить VPN - для этого нужно настроить портмапинг, чтобы все запросы приходящие извне на порт 4090 перебрасывались вот сюда - 192.168.0.4:4090
Соответственно я вписываю в natd.conf вот такие строки
redirect_port tcp 192.168.0.4:4090 4090
redirect_port udp 192.168.0.4:4090 4090
А в rc.firewall вписываю следующее
add allow tcp from any to 192.168.0.4 4090
add allow tcp from 192.168.0.4 4090 to any
add allow udp from any to 192.168.0.4 4090
add allow udp from 192.168.0.4 4090 to any
В принципе должно работать, но меня терзают смутные сомнения.
Нужно ли вписывать в rc.firewall следующее
add divert 4090 tcp,udp from 192.168.0.4 to any out via xl0
add divert 4090 tcp,udp from any to 192.168.0.4 in via xl0
И можно ли настроить портмапинг с помощью команды fwd. Может есть у кого готовые решения? Знаю то, что, чтобы использовать команду fwd нужно пересобрать ядро с опциями options IPFIREWALL_FORWARD и options IPFIREWALL_FORWARD_EXTENDED - а некогда. И правильно ли делать портмапинг при помощи команды divert? И можно ли вообще обойтись одним ipfw не прикручивая natd.conf???