Route nach Port in Multi-ISP-Konfiguration

Route nach Port in Multi-ISP-Konfiguration

Ich verwende eine Shorewall-Firewall und habe mehrere ISP-Quellen erfolgreich konfiguriert.

Derzeit wird der gesamte Datenverkehr an beide ISPs verteilt. Ich möchte den SSH-Datenverkehr an ISP1 und den WWW-Datenverkehr an ISP2 weiterleiten. Wie kann ich das erreichen?

Antwort1

Ich denke, Sie müssen mehrere Routentabellen erstellen. Eine ist Ihre Standardtabelle für den normalen Datenverkehr, die nächste ist Ihre spezielle SSH-Tabelle, die nur Routeneinträge für die ISP-Verbindung enthält, die Sie verwenden möchten.

Richten Sie als Nächstes iptables ein, um Pakete zu markieren, die von Ihrer IP und dem lauschenden SSH-Port stammen.

Schließlich können Sie IP-Regeleinträge so einrichten, dass die Weiterleitung auf Grundlage der Firewall-Markierung erfolgt.

Es gibt jede Menge Informationen (die Sie aber vielleicht schon gesehen haben, da Sie schon so weit gekommen sind) in der LARTC-Dokumentation:http://lartc.org/howto/lartc.rpdb.html

Also, als Beispiel:

  1. Fügen Sie eine neue Routingtabelle mit einem Namen hinzu.

    echo SSH 500 >>/etc/iproute2/rt_tables
    
  2. Fügen Sie einer anderen Routing-Tabelle eine Standardroute hinzu, die das richtige Ergebnis liefert.

    ip route add default via $ISP2_GW table SSH 
    
  3. Richten Sie eine Regel ein, damit fwmark diese neue Tabelle verwendet.

    ip rule add fwmark 0x0001 table SSH
    
  4. Richten Sie abschließend eine iptables-Regel ein, um Ihre Pakete zu markieren.

    iptables -I PREROUTING -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001
    iptables -I OUTPUT     -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001
    

Damit sollte hoffentlich alles richtig eingerichtet sein. Sie müssen außerdem sicherstellen, dass diese Konfiguration Neustarts übersteht! Aber das überlasse ich Ihnen als Übung.

verwandte Informationen