Buna,
Am o problema simpla si nu ii dau de cap:
LAN/192.168.1.0/24---192.168.1.1|eth1(Linux Router)eth0|1.2.3.4---Internet
1. Unul din serverele din LAN (192.168.1.2) este server de web, pentru
care exista in router o regula de DNAT:
iptables -t nat -A PREROUTING -d 1.2.3.4/255.255.255.255 -i eth0 -p tcp -m tcp
--dport 80 -j DNAT --to-destination 192.168.1.2
care functioneaza (deci din Internet, o adresare de forma
http://1.2.3.4/ este deservita de 192.168.1.2 fara nici o problema)
2. Ceea ce vreau sa fac si nu imi iese este ca din interiorul LAN-ului, un
access de forma http://1.2.3.4/ sa rezulte tot intr-un access la
192.168.1.2
Dupa multe ore de incercari si RTFM, am ajuns la regula:
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.0/255.255.255.0 -d
1.2.3.4/255.255.255.255 -j DNAT --to-destination 192.168.1.2
si cu ping/tracepath merge ok:
$tracepath 1.2.3.4
1: 192.168.1.34 0.177ms pmtu 1500
1: 192.168.1.1 0.419ms
2: 192.168.1.2 asymm 1 0.598ms reached
Resume: pmtu 1500 hops 2 back 1
Numai ca nu merge si la nivel de conexiuni TCP:
(192.168.1.2)$ tcpdump -nn | egrep -i 192.168.1.34
20:14:15.042053 IP 192.168.1.34.51426 > 192.168.1.2.80: F 575:575(0) ack 338
win 1728 <nop,nop,timestamp 546804086 3121889417>
20:14:15.042406 IP 192.168.1.2.80 > 192.168.1.34.51426: F 338:338(0) ack 576
win 1735 <nop,nop,timestamp 3121896669 546804086>
20:14:15.042469 IP 192.168.1.34.51426 > 192.168.1.2.80: . ack 339 win 1728
<nop,nop,timestamp 546804087 3121896669>
20:14:16.577841 IP 192.168.1.34.38061 > 192.168.1.2.80: S
4239008103:4239008103(0) win 5840 <mss 1460,sackOK,timestamp 546805622
0,nop,wscale2>
20:14:16.577889 IP 192.168.1.2.80 > 192.168.1.34.38061: S
3207082894:3207082894(0) ack 4239008104 win 5792 <mss 1460,sackOK,timestamp
3121898205 546805622,nop,wscale 2>
Deci la server pachetele ajung cu IP sursa si destinatie corecte (sursa
192.168.1.34, destinatia 192.168.1.2), numai ca:
(192.168.1.34)$ netstat -n | egrep -i 1.2.3.4
tcp 0 1 192.168.1.34:38062 1.2.3.4:80 SYN_SENT -
workstation-ul 192.168.1.34 degeaba primeste raspuns de la 192.168.1.2
cand el asteapta un raspuns de la 1.2.3.4
Probelma e ca ar trebui sa fac si SNAT si DNAT in acelasi timp, ceea ce nu
se poate. Unde gresesc? FORWARD e pe ACCEPT.
Multumesc
---
Detalii despre listele noastre de mail: http://www.lug.ro/