NATowanie adresów i wyjście przez drugi adres publiczny
Daniel Mróz
beorn w alpha.pl
Nie, 25 Sty 2009, 01:06:00 CET
On Sun, Jan 25, 2009 at 12:35:47AM +0100, Mieszko Kaczmarczyk wrote:
> pierwszy adres 83.16.13.1 jako adres serwera. Natomiast adres 83.16.13.2
> chcę już dać jako adres jednego komputera z LANu: 192.168.1.10
>
> Samo dowiązanie IP publicznego do komputera z LANu robię tak:
>
> ip address add 83.16.13.2 dev eth0
> iptables -t nat -A PREROUTING -d 83.16.13.2 -j DNAT --to 192.168.1.10
> iptables -t nat -A POSTROUTING -s 192.168.1.10 -j SNAT --to 83.16.13.2
>
> I to działa jak zrobię choc by ssh 83.16.13.2 to loguję się na komputer
> z LANu.
>
> Ale - tu mój problem: Jak odpaliłem FF na tym kompie z LANu i
> sprawdziłem jakie mam IP publiczne - to niestety mam to z serwera a nie
> NATowane.
Nie rozumiem za bardzo co chcesz osiągnąć. Na serwerze NATujesz w obie
strony, zatem logiczne jest, że na zewnątrz Twoje IP będzie tym z
serwera, a nie z kompa w LANie. Jeśli chcesz aby na zewnątrz Twoje
pakiety wychodziły z LANowym adresem źródłowym, to nie potrzebujesz NAT.
Z drugiej jednak strony jest to kiepski pomysł, gdyż adres z sieci
182.168.1.0/24 daleko nie poleci, a jeśli już poleci (rutery nie
odfiltrują), to nie bedzie wiadomo którędy mają wrócić.
Ciekawe też jest w jaki sposób sprawdzasz swoje IP (FF to Firefox?),
ponieważ jeśli dostałeś odpowiedź od zdalnej maszyny, to napewno nie
sprawdza ona tego według adresu źródłowego pakietów. Inaczej nie
otrzymałbyś żadnego pakietu zwrotnego. Nawet ACK by nie przeszedł, więc
"nie mógłbyś się połączyć".
Z powyższego opisu wnoszę, że masz dostęp administracyjny do bramki,
zatem jeśli chcesz sobie popatrzeć co się dzieje, puść jakiś ruch z
maszyny w LANie (np. ping), a na ruterze:
tshark -i <interfejs wewnętrzny> src 192.168.1.10
oraz:
tshark -i <interfejs zewnętrzny> dst <cel ruchu>
To Ci powie co i jak.
> Co robię źle albo czego nie zrobiłem?
Albo masz bardzo zły pomysł na realizację czegoś, albo źle opisałeś
problem.
P.S. Jeśli bawisz się tabelką "nat", dobrze jest wskazać interfejs
wyjściowy/wejściowy. Mniej problemów będziesz miał przy nietypowych
przepływach.
Pozdrawiam
Beorn
--
Daniel 'Beorn' Mróz <beorn w alpha.pl> http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V! PS+ PE++ Y+ PGP++ t- 5 X R !tv b+ DI D++ G++ e h*]
[ r++ y+ ]
Więcej informacji o liście dyskusyjnej pld-users-pl