Shorewall 4-Schnittstellen-Setup

Shorewall 4-Schnittstellen-Setup

Ich versuche, Shorewall auf Arch zu verwenden, um ein Setup mit 2 lokalen Netzwerken und 2 ISP-Verbindungen zu verwalten. Letztendlich möchte ich, dass der Verkehr vom lokalen Netzwerk 1 (192.168.1.0/24 Schnittstelle enp5s0) ISP 1 (76. ... Schnittstelle enp6s0) und der Verkehr vom lokalen Netzwerk 2 (192.168.0.0/24 Schnittstelle enp7s0) ISP 2 (99. ... Schnittstelle enp3s0) verwendet. Derzeit kann ich das eine oder das andere zum Laufen bringen, aber nicht beides, je nachdem, welche Standardroute zuerst kommt:

output of `ip route ls` with sensitive information redacted:
default via 76.[rd].1 dev enp6s0  src 76.[rd].78  metric 203  mtu 576
default via 99.[rd].1 dev enp3s0  src 99.[rd].190  metric 205
76.[rd].0/24 dev enp6s0  proto kernel  scope link  src 76.[rd].78  metric 203  mtu 576
76.[rd].78 dev enp6s0  scope link  src 76.[rd].78
99.194.48.0/21 dev enp3s0  proto kernel  scope link  src 99.[rd].190  metric 205
99.[rd].190 dev enp3s0  scope link  src 99.[rd].190
192.168.0.0/24 dev enp7s0  proto kernel  scope link  src 192.168.0.1  metric 204
192.168.1.0/24 dev enp5s0  proto kernel  scope link  src 192.168.1.1  metric 202

Mit der obigen Ausgabe könnte Local 1 die Außenwelt erreichen, Local 2 jedoch nicht. Umgekehrt, wenn die erste Zeile weg wäre. Ich bin ziemlich sicher, dass mehrere Standardrouten ein No-Go sind, selbst bei mehreren ISPs, aber so hat Shorewall es gemacht.

Da es dafür nirgends ein Beispiel gab, habe ich mich an Shorewalls Beispiel mit drei Schnittstellen orientiert. Um diesen Beitrag nicht zu lang werden zu lassen, finden Sie hier Links zu Ausschnitten aller relevanten Shorewall-Konfigurationen:

Die Seiten von Shorewall zu diesem Thema sind nicht hilfreich, da das Ziel in ihrem Beispiel ganz anders ist als mein Ziel. Für jeden Hinweis in die richtige Richtung wäre ich sehr dankbar.

Antwort1

Stellen Sie sicher, dass Sie das Standard-Gateway nicht in den netctl-Dateien oder in anderen Dateien festlegen. Wenn Sie DHCP zum Abrufen von IP-Adressen verwenden, deaktivieren Sie unbedingt das Abrufen des Standard-Gateways (dhcpcd -G). Die Ausführung von „ip route ls“ solltekeine Standard-Gateways anzeigen. Nur „ip route show table all“ würde die Standard-Gateways für jede ISP-Tabelle auflisten. Etwa so:

default via 10.1.1.1 dev enp3s0  table ITC1  src 10.1.1.10
10.1.1.1 dev enp3s0  table ITC1  scope link  src 10.1.1.10
default via 10.1.2.1 dev enp4s0  table ITC2  src 10.1.2.10
10.1.2.1 dev enp4s0  table ITC2  scope link  src 10.1.2.10
default via X.X.X.X dev enp5s0  table MPLS  src X.X.X.X
X.X.X.X dev enp5s0  table MPLS  scope link  src X.X.X.X
default  table balance
    nexthop via X.X.X.X  dev enp5s0 weight 1
    nexthop via 10.1.1.1  dev enp3s0 weight 2
    nexthop via 10.1.2.1  dev enp4s0 weight 2

Sie können auch die Einträge aus der Mangle-Datei entfernen, da die rtrules-Einträge für Ihre Anforderungen ausreichen sollten

verwandte Informationen