iptables: prehozeni IP pro http

Ondrej Koala Vacha koala na vju.cz
Pondělí Prosinec 1 10:31:20 CET 2003


On Mon, 1 Dec 2003, Ondrej Koala Vacha wrote:


Byl jsem vyzvan, at doplnim informace, rad tak ucinim, nebot je to pro me
stale zahadou:

--------                                                         --------
| FW1  |---eth1 10.70.2.99    --------          eth1 10.70.2.100 |  FW2 |
|------|                                                         --------
  eth0                                                              eth0
1.1.1.1                                                           2.2.2.2
internet                                                          internet


na FW1 mam:
iptables -A PREROUTING -t nat -j DNAT -p tcp -d 1.1.1.1 --destination-port http --to-destination 10.70.2.100


na FW2 mi bezi SNAT:
iptables -A POSTROUTING -t nat -j SNAT -s 10.70.0.0/255.255.0.0 -o eth0 --to-source 2.2.2.2



 Jestli zvenci (napr. 6.6.6.6)  pristoupim na port 80 pocitace 1.1.1.1, je
 spravne presmerovan na pocitac 2.2.2.2. Z neho jde odpoved spravne na
 6.6.6.6, ale zdrojova adresa zustala 10.70.2.100, tedy se zda, ze
 neprobehl SNAT. Zjistovano tcpdump -i eth0 na FW2.


Z jineho pohledu vypada zahada takto:

na FW2, tedy kde bezi SNAT:
tcpdump -i eth0 | fgrep http

dostanu:

11:21:28.065814 10.70.2.100.http > bond.2922: S 1884532399:1884532399(0)
ack 3077128191 win 5792 <mss 1460,sackOK,timestamp 5304411
147375937,nop,wscale 0> (DF)


coz je mi zahadou, jakto, ze muzu videt 10.70.2.100 jako source, kdyz mam
SNAT. Nebo tcpdump to zobrazuje pred SNATem? Snad ne.


s diky
--
Ondrej Koala Vacha


Další informace o konferenci Linux