[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: problem z NAT



On Thursday, 2 of September 2010, Maciej Koska wrote:
> > 1. Maskujesz tylko pakiety, ktore fizycznie opuszczaja interfejs
> > zewnetrzny.
> 
> Czyli:
> 
> $IPTABLES -t nat -A POSTROUTING -o $EXT_IF -j SNAT --to-source $EXT_IP
> 
> -----------------------
> 
> > 2. DNAT do serwera www dla pakietow wpadajacych z zewnatrz na adres ip
> > zewnetrzny
> 
> Czyli:
> 
> $IPTABLES -t nat -A PREROUTING -p tcp -i $EXT_IF -d $EXT_IP --dport 80 -j
> DNAT --to-destination 10.0.0.4:80
> 
> ----------------------
> 
> > 3. DNAT do serwera www dla pakietow kierowanych na ip zewnetrzne ale
> > przychodzace na interfejs wewnetrzny.
> 
> Czyli:
> 
> $IPTABLES -t nat -A PREROUTING -p tcp -i $INT_IF -d $EXT_IP --dport 80 -j
> DNAT --to-destination 10.0.0.4:80
> 
> -----------------------
> 
> No i żeby nie było, że tu jest problem to dla porządku:
> 
> $IPTABLES -A FORWARD -p tcp --dport 80 -j ACCEPT
> 
> 
> Taki setup przetestowałem i z zewnątrz nie ma problemu, ale z wewnątrz jak
> był tak jest, poprawcie mnie jeśli gdzieś się pomyliłem

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
-- 
/\-\/\-\/\-\/\-\/\-\/\-\/\ 
\  Kruk@epsilon.eu.org   / 
/ http://epsilon.eu.org/ \ 
\/-/\/-/\/-/\/-/\/-/\/-/\/ 


Reply to: