Probleme mit iptabels

    • Offizieller Beitrag

    Moinmoin!
    ich grübel gerade über ein Problem, und finde echt keine Lösung.


    Das Scenario sieht wie folgt aus:


    Unser Kundennetz hat einen Proxyserver. Bisher schickt dieser die www-Anfragen zu seinem Default GW. Das ist unser Firewall-Server.


    Das Problem ist, dass sich der Default Gateway nicht ändern darf, jedoch die www-Anfragen auf einen neuen Router (der Bonding macht) geleitet werden sollen. Routing ist nix, da nur TCP Port 80 (http) und 443 (https) umgeleitet werden sollen.


    Ich habe folgende Regel verwendet und und dabei voll ins Klo gegriffen:


    iptables -t nat -A OUTPUT -p TCP --dport 80 -j DNAT --to $ROUTER:80
    iptables -t nat -A OUTPUT -p TCP --dport 443 -j DNAT --to $ROUTER:443


    Dadurch habe ich es geschafft, dass wenn ich "www.google.de" eingebe, auf der Konfigseite des Routers lande :(
    Ich habe also dadurch die Zieladresse geändert.


    Was ich brauche, sind Regeln, die Anfragen für 80 und 443 einfach über den Router leiten und nicht über den Default GW.

    • Offizieller Beitrag

    Öhm, ok, hab ich nicht erklärt. Der Router liegt vor der Firewall. Der Router soll ja nur für www-Kram der Gateway sein.


    [edit] Ist blöd, aufzumalen. Proxy, Firewall und Router sind im gleichen Netz. Hinter dem Proxy sind die PCs vom Kunden.
    DFÜ-Daten usw. sollen nach wie vor über den Firewall-Server gehen, weshalb dieser Default GW bleiben muss.
    www-Kram soll nun über den neuen Router gehen. [/edit]


    [edit2]


    HEUREKA!! TADAAA: Des Rätsels Lösung heißt "mangle"! Falls es jemanden juckt, hier mal die Regeln, die nötig sind:


    iptables -t mangle -A OUTPUT -p TCP -m TCP --dport 80 -j MARK --set-mark 1
    iptables -t mangle -A OUTPUT -p TCP -m TCP --dport 443 -j MARK --set-mark 1
    ip rule add fwmark 1 table 1
    ip route add table 1 default via $ROUTER


    [/edit2]