iptables routing problem

  • 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???

  • Wenn ausschließlich die MAC Adresse das Problem ist würde ich

    Code
    ifconfig eth0 hw ether 12:34:56:78:90:AB


    tippen und den Filter auslachen.

    Zum Routen braucht man prinzipill schon 2 verschiedene Devices. Theoretisch wäre es auch mit einem möglich, finde ich persönlich allerdings nicht besonders zu empfehlen.

  • Wieso filtert der Uni-Router überhaupt IPs? Was solln der Mist?
    Und wenns echt nicht geht, tausch halt die Netzwerkkarten aus, oder willst jetzt permanent den Server laufenlassen?

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • erst mal danke für eure Antworten!

    leider gehen beide Lösungen nicht :)


    Zu der Ersten mit dem ifconfig Befehl:

    leider läuft auf dem client kein linux...

    Karten tauschen is bei nem Notebook auch schwierig. Das ist ja auch der eigentliche Grund des Problems: Der UNI Router filtert Centrino W-Lan MAC Adressen. Wir haben ein uni W-LAN das über vpn Tunnel usw läuft, nun filtert das Rechenzentrum alle Rechner heraus die sich über einen anderen Weg, als das dafür vorgesehene W-LAN ins Netz einloggen möchten. Ich wohne in einem Studentenwohnheim und wir haben hier einen eigenen AccessPoint im Betrieb der unser Wohnheim versorgt. Das andere "offizielle" W-LAN reicht leider nicht ganz bis hier oben.

    Ich hab den Server eh im Serverraum ständig laufen, von daher wäre das nix besonderes. Ich brauch das ja auch nur wenn ich mich mit W-Lan bewegen möchte.

    Zitat

    Zum Routen braucht man prinzipiell schon 2 verschiedene Devices. Theoretisch wäre es auch mit einem möglich, finde ich persönlich allerdings nicht besonders zu empfehlen.

    Ok, ich habe leider keine andere Wahl. Entweder es geht mit einem device oder nicht (2. Karte einbauen ist fast unmöglich). Hast du denn eine Quelle wo ich mir anlesen kann, wie es mit einem device geht, oder kannst du das kurz erörtern?

  • Zitat von fanopanic

    Setz mal die Forward-Policy auf Accept und schau was passiert.

    Hatte ich auch schon probiert. Ist ja auch nicht das Problem. Ich erlaube ja explizit alles was von 153 und was zu 153 soll. Bekomme ja auch ensprechende Antworten des angepingten Zieles, sie werden nur nicht heraus an den fragenden client geschickt.

    hier nochmal den entsprechenden Auszug von tcpdump

    Zitat


    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

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!