Sziasztok
Windows kliensről fut egy iBank kliensprogram, amellyel utalásokat lehet végezni, számlaegyenleget lekérni, stb. Ezt a gépet egy linuxos gép köti össze a nettel.
A problémám abból áll, hogy amikor közvetlenül kötöm a windows-os gépet az ADSL-netre, az iBank program tökéletesen működik, míg amikor a linuxos gépen keresztül kell ugyanezt a kapcsolatot létrehozni, hibát kapok (a program szerint a hálózat túlterhelt).
Az iptables-sorok így néznek ki:
- prerouting
Kód:
iptables -t nat -A PREROUTING -i ppp0 -s 62.77.229.87 -d $adsl_IP -p tcp --sport 80 -j DNAT --to 192.168.1.2
- forward
Kód:
iptables -A FORWARD -i eth0 -o ppp0 -d 62.77.229.87 -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -s 62.77.229.87 -j ACCEPT
iptables -A FORWARD -i eth0 -s $belso_halo -o ppp0 -d 62.77.229.87 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp0 -s 62.77.229.87 -o eth0 -d $belso_halo -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
A szabályok működnek, tehát ezzel elvileg nem lenne gond. Ha viszont megnézem az Ethereal segítségével, a következőt látom:
Kód:
No. Time Source Destination Protocol Info
1 0.000000 192.168.1.2 62.77.229.87 TCP 1214 > http [SYN] Seq=0 Ack=0 Win=16384 Len=0 MSS=1460
Frame 1 (62 bytes on wire, 62 bytes captured)
Ethernet II, Src: 192.168.1.2 (00:c0:f0:57:39:be), Dst: 192.168.1.1 (00:0a:0d:d4:91:9c)
Internet Protocol, Src: 192.168.1.2 (192.168.1.2), Dst: 62.77.229.87 (62.77.229.87)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 48
Identification: 0xc3e2 (50146)
Flags: 0x04 (Don't Fragment)
Fragment offset: 0
Time to live: 128
Protocol: TCP (0x06)
Header checksum: 0x5196 [correct]
Source: 192.168.1.2 (192.168.1.2)
Destination: 62.77.229.87 (62.77.229.87)
Transmission Control Protocol, Src Port: 1214 (1214), Dst Port: http (80), Seq: 0, Ack: 0, Len: 0
No. Time Source Destination Protocol Info
2 0.037540 62.77.229.87 192.168.1.2 TCP http > 1214 [SYN, ACK] Seq=0 Ack=1 Win=8760 Len=0 MSS=1460
Frame 2 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 192.168.1.1 (00:0a:0d:d4:91:9c), Dst: 192.168.1.2 (00:c0:f0:57:39:be)
Internet Protocol, Src: 62.77.229.87 (62.77.229.87), Dst: 192.168.1.2 (192.168.1.2)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 44
Identification: 0xca1c (51740)
Flags: 0x04 (Don't Fragment)
Fragment offset: 0
Time to live: 123
Protocol: TCP (0x06)
Header checksum: 0x5060 [correct]
Source: 62.77.229.87 (62.77.229.87)
Destination: 192.168.1.2 (192.168.1.2)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1214 (1214), Seq: 0, Ack: 1, Len: 0
No. Time Source Destination Protocol Info
3 0.038379 192.168.1.2 62.77.229.87 TCP 1214 > http [ACK] Seq=1 Ack=1 Win=17520 Len=0
Frame 3 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: 192.168.1.2 (00:c0:f0:57:39:be), Dst: 192.168.1.1 (00:0a:0d:d4:91:9c)
Internet Protocol, Src: 192.168.1.2 (192.168.1.2), Dst: 62.77.229.87 (62.77.229.87)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 40
Identification: 0xc3e3 (50147)
Flags: 0x04 (Don't Fragment)
Fragment offset: 0
Time to live: 128
Protocol: TCP (0x06)
Header checksum: 0x519d [correct]
Source: 192.168.1.2 (192.168.1.2)
Destination: 62.77.229.87 (62.77.229.87)
Transmission Control Protocol, Src Port: 1214 (1214), Dst Port: http (80), Seq: 1, Ack: 1, Len: 0
No. Time Source Destination Protocol Info
4 0.105231 192.168.1.2 62.77.229.87 HTTP Continuation or non-HTTP traffic
Frame 4 (849 bytes on wire, 849 bytes captured)
Ethernet II, Src: 192.168.1.2 (00:c0:f0:57:39:be), Dst: 192.168.1.1 (00:0a:0d:d4:91:9c)
Internet Protocol, Src: 192.168.1.2 (192.168.1.2), Dst: 62.77.229.87 (62.77.229.87)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 835
Identification: 0xc3e4 (50148)
Flags: 0x04 (Don't Fragment)
Fragment offset: 0
Time to live: 128
Protocol: TCP (0x06)
Header checksum: 0x4e81 [correct]
Source: 192.168.1.2 (192.168.1.2)
Destination: 62.77.229.87 (62.77.229.87)
Transmission Control Protocol, Src Port: 1214 (1214), Dst Port: http (80), Seq: 1, Ack: 1, Len: 795
Hypertext Transfer Protocol
No. Time Source Destination Protocol Info
5 0.241642 62.77.229.87 192.168.1.2 HTTP Continuation or non-HTTP traffic
Frame 5 (494 bytes on wire, 494 bytes captured)
Ethernet II, Src: 192.168.1.1 (00:0a:0d:d4:91:9c), Dst: 192.168.1.2 (00:c0:f0:57:39:be)
Internet Protocol, Src: 62.77.229.87 (62.77.229.87), Dst: 192.168.1.2 (192.168.1.2)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 480
Identification: 0xdc1c (56348)
Flags: 0x04 (Don't Fragment)
Fragment offset: 0
Time to live: 123
Protocol: TCP (0x06)
Header checksum: 0x3cac [correct]
Source: 62.77.229.87 (62.77.229.87)
Destination: 192.168.1.2 (192.168.1.2)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1214 (1214), Seq: 1, Ack: 796, Len: 440
Hypertext Transfer Protocol
No. Time Source Destination Protocol Info
6 0.324092 62.77.229.87 192.168.1.2 HTTP [TCP Previous segment lost] Continuation or non-HTTP traffic
Frame 6 (215 bytes on wire, 215 bytes captured)
Ethernet II, Src: 192.168.1.1 (00:0a:0d:d4:91:9c), Dst: 192.168.1.2 (00:c0:f0:57:39:be)
Internet Protocol, Src: 62.77.229.87 (62.77.229.87), Dst: 192.168.1.2 (192.168.1.2)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 201
Identification: 0xe41c (58396)
Flags: 0x04 (Don't Fragment)
Fragment offset: 0
Time to live: 123
Protocol: TCP (0x06)
Header checksum: 0x35c3 [correct]
Source: 62.77.229.87 (62.77.229.87)
Destination: 192.168.1.2 (192.168.1.2)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1214 (1214), Seq: 1901, Ack: 796, Len: 161
Hypertext Transfer Protocol
Ami furcsa, hogy nem fragmentált csomagokról van szó, tehát ez nem lehet probléma. A másik, hogy minden esetben a fentiekben logolt lépések történnek:
1-2-3. a belső gép létrehozza a kapcsolatot a bank gépével;
4. a belső hálón lógó gép lekér egy csomagot a bank 80-as portjáról;
5. a banki szerver elküldi a csomagot a belső gépnek;
6. kiderül, hogy a banki szerver által küldött csomag elvész.
(Ezután a gépek szépen elbontják a kapcsolatot ahogy kell)
Kérdéseim:
- van-e valaki, aki használja az iBank nevű programot hasonló kiépítettséggel (Windows kliens, linuxos routergépen tűzfallal)?
- lát-e valaki beállítási problémát az iptables-parancsokban?
Köszönöm