On Thu, Sep 02, 2010 at 02:58:22PM +0200, Mariusz Kruk wrote: > Już pisałem, w tym setupie dzieje się tak: > - komputer wysyła pakiet 10.0.10.0:23756 (powiedzmy) -> $EXT_IP:80 > - router łapie to na DNAT w preroutingu i zamienia na 10.0.10.0:23756- > >10.0.0.4:80 > - router przekierowuje pakiet do wyjścia na $INT_IF > - router wysyła 10.0.10.0:23756->10.0.0.4:80 przez interfejs wewnętrzny > - serwer dostaje pakiet 10.0.10.0:23756->10.0.0.4:80 > - serwer odpowiada 10.0.0.4:80->10.0.10.0:23756 bezpośrednio do sieci, do > której jest przyłączony > - komputer ignoruje pakiet, bo nie nawiązywał połączenia z 10.0.0.4:80, tylko > z $EXT_IP:80. > Żeby to działało potrzebujesz jeszcze na routerze SNAT z sieci wewnętrznej na > $INT_IP
Nie trzeba SNAT, tylko serwer musi routować odpowiedzi dla sieci lokalnej tak jak dostał czyli przez router. Coś w tym rodzaju: router: iptables -t nat -A PREROUTING -p tcp -i $INT_IF -d $EXT_IP --dport 80 -j DNAT --to-destination 10.0.0.4:80 sewer: echo 1 WWW_LOCAL >> /etc/iproute2/rt_tables ip rule add from all fwmark 1 table WWW_LOCAL ip route add default via $IP_BRAMA dev eth0 table WWW_LOCAL iptables -I OUTPUT -t mangle -d $LOCAL_NET -p tcp --sport 80 -j MARK --set-mark 1 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

