Hallo,
ich hab schon überall gesucht aber nirgendwo eine Lösung gefunden die funktioniert und auch meine Fehlersuche läuft langsam ins Leere. Ich hoffe das jemand von euch eine Idee hat!
Problem:
Rechner mit einer prinzipiell Internet gültigen IP soll über einen Server geroutet werden.
INTERNET [Blockierte Grafik: http://www.linux-web.de/images/linux-web-main/smilies/pfeilr2.gif] UNI-ROUTER [Blockierte Grafik: http://www.linux-web.de/images/linux-web-main/smilies/pfeilr2.gif] SERVER [Blockierte Grafik: http://www.linux-web.de/images/linux-web-main/smilies/pfeilr2.gif] CLIENT (mit I-Net IP)
klar mag da einer denken, wenn I-Net IP, warum dann nicht:
INTERNET [Blockierte Grafik: http://www.linux-web.de/images/linux-web-main/smilies/pfeilr2.gif] UNI-ROUTER [Blockierte Grafik: http://www.linux-web.de/images/linux-web-main/smilies/pfeilr2.gif] CLIENT (mit I-Net IP)
der UNI-Router mag meinen Client leider nicht (MAC filter) und daher muss ich den Umweg über meinen Server gehen.
Der Server hat den UNI Router als default gateway und läuft damit auch problemlos.
auf dem Server hab ich:
*filter
:INPUT DROP [340:58795]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [20644:23432284]
:input_ext - [0:0]
-A FORWARD -s 134.130.59.153 -j ACCEPT ## das ist die IP des Client der geroutet werden soll
-A FORWARD -d 134.130.59.153 -j ACCEPT ## hier nochmal für die andere Richtung
*nat
:PREROUTING ACCEPT [540:81673]
:POSTROUTING ACCEPT [134:9633]
:OUTPUT ACCEPT [134:9633]
-A POSTROUTING -s 134.130.59.153 -j MASQUERADE
/proc/sys/net/ipv4/ip_forward ist natürlich 1
Fehleranalyse:
Client sendet Ping an 194.25.2.129 (T-Online DNS, nur ne test ip...)
am Server mit 'tcpdump icmp' liest man dann dies:
00:36:10.845715 IP dhcp-ip-153.dorf.RWTH-Aachen.DE > dns03.btx.dtag.de: icmp 40: echo request seq 28163
00:36:10.862096 IP dhcp-ip-172.dorf.rwth-aachen.de > dns03.btx.dtag.de: icmp 40: echo request seq 28163
00:36:10.869288 IP dns03.btx.dtag.de > dhcp-ip-172.dorf.rwth-aachen.de: icmp 40: echo reply seq 28163
00:36:10.869333 IP dns03.btx.dtag.de > dhcp-ip-153.dorf.RWTH-Aachen.DE: icmp 40: echo reply seq 28163
SUPER mag man da sagen, der Server bekommt das Paket an den dns, erzeugt es mit seinem Absender neu, bekommt die Antwort und erzeugt auch diese passend für die Client IP neu.
DUMMERWEISE kommt diese antwort NIEMALS am Client an! (auch mit tcpdump mitgelesen)
WARUM????
Pingen in beide Richtungen geht ansonsten aber bestens.
dhcp-ip-172:/etc/firewall# ping 134.130.59.153
PING 134.130.59.153 (134.130.59.153) 56(84) bytes of data.
64 bytes from 134.130.59.153: icmp_seq=1 ttl=128 time=0.263 ms
64 bytes from 134.130.59.153: icmp_seq=2 ttl=128 time=0.295 ms
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
134.130.56.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
0.0.0.0 134.130.59.254 0.0.0.0 UG 0 0 0 eth0
braucht iptables 2 verschiedene Geräte (eth0, eth1) zwischen denen es routet oder geht das auch so wie ich das möchte über eine LAN Karte???