Добрый день!

Кто-нибудь сталкивался с необходимостью редиректить порты в нате на
машине с двумя активными каналами и ECMP? (FreeBSD 8.1)

01000 nat 10 ip from 10.0.1.0/24 to any out xmit ng0
01010 nat 20 ip from 10.0.1.0/24 to any out xmit ng1
01020 fwd 192.168.0.254 ip from 192.168.0.1 to any out xmit ng0
01030 fwd 192.168.1.254 ip from 192.168.1.1 to any out xmit ng1
02000 nat 10 ip from any to 192.168.1.1 in recv ng0
02010 nat 20 ip from any to 192.168.0.1 in recv ng1

ipfw nat 20 config ip 192.168.0.1 same_ports reset redirect_port tcp
10.0.1.17:3389 22222
ipfw nat 10 config ip 192.168.1.1 same_ports reset redirect_port tcp
10.0.1.17:3389 22222

где 192.168.0.1 мой адрез в ng1, а 0.254 шлюз там же, и соответственно
192.168.1.1 и 1.254 в ng0.

Так как дефолтные маршруты есть в оба интерфейса, путь к произвольному
адресу в сети до попытки связаться с ним неопределен. Если с такого
адреса пробовать подключаться к внутренней машине через нат, обратный
пакет может выйти через другой интерейс. То есть связи через один из
внешних адресов не будет. Причем когда запись в ECMP устареет, следующая
попытка может оказаться неуспешной уже на адресе, к которому раньше
коннектилось.

Можно ли это вообще как-то правильно отконфигурировать? У меня идеи
кончились :(.

-- 
Cheers, Denis Zaika,                            ZDS-RIPE
"Soniko-svyaz" NOC engineer,                    ZDS-UANIC
Donetsk, Ukraine                                ZDS-EUNIC
+380933407844, +380623323232

Ответить