Zwei Routen zum gleichen Netzwerk - unterschiedliche Priorität

493
pipe

Ich versuche, über die am besten geeignete Konfiguration für meinen Server mit zwei externen Schnittstellen zu entscheiden, die beide eine externe IP-Nummer von einem ISP über DHCP erhalten. Dadurch kann ich verschiedene Dienste auf verschiedenen IPs hosten. Die Adressen befinden sich höchstwahrscheinlich im selben Netzwerk, was bei meinem Routing möglicherweise Kopfschmerzen verursacht.

Das einfachste Szenario besteht einfach darin, jeder Netzwerkschnittstelle eine andere Priorität zuzuweisen, die eine Schnittstelle als "primäre" hat, an die standardmäßig alles weitergeleitet wird. Da ich mich nicht für Load-Balancing oder Failover interessiere, sollte dies funktionieren.

ifconfig em0 priority 0 ifconfig em2 priority 10 

Ich habe das Szenario mit einem lokalen DHCP-Server simuliert, und es scheint gut zu funktionieren. Die Routing-Tabelle sieht nach der automatischen Konfiguration über DHCP folgendermaßen aus:

# route -n show -inet Routing tables  Internet: Destination Gateway Flags Refs Use Mtu Prio Iface default 10.0.0.1 UGS 0 0 - 8 em0 224/4 127.0.0.1 URS 0 0 32768 8 lo0 10.0.0/24 10.0.0.2 UCn 1 13 - 4 em0 10.0.0/24 10.0.0.3 UCn 0 0 - 14 em2 10.0.0.1 xx:xx:xx:xx:xx:01 UHLch 1 12 - 3 em0 10.0.0.2 xx:xx:xx:xx:xx:02 UHLl 0 0 - 1 em0 10.0.0.3 xx:xx:xx:xx:xx:03 UHLl 0 3 - 1 em2 10.0.0.255 10.0.0.2 UHPb 0 0 - 1 em0 10.0.0.255 10.0.0.3 UHPb 0 0 - 1 em2 127/8 127.0.0.1 UGRS 0 0 32768 8 lo0 127.0.0.1 127.0.0.1 UHhl 1 2 32768 1 lo0 

Es gibt nur einen Standard-Exit durch mein Gateway, und die in Konflikt stehende Route 10.0.0/24hat unterschiedliche Prioritäten. Daher sollte nur ein Weg verwendet werden, sofern dies nicht ausdrücklich angefordert wird.

Nach all meinen Tests funktioniert das gut. Im Speziellen:

  • Dienste auf dem Server, die beide IPs abhören, können über beide IPs erreicht werden.
  • Dienste, die eine der beiden Schnittstellen abhören, sind nur über diese Schnittstelle erreichbar.
  • Beim Pingen eines Hosts vom Server kann ich eine ausgehende Schnittstelle auswählen. Das funktioniert wie erwartet.

Aber ich mache mir immer noch Sorgen und habe vor allem zwei Fragen:

Soll ich die zusätzliche Route zu meinem Netzwerk löschen?

Ich habe zwei Wege 10.0.0/24. Der "Use" -Zähler für Letzteres wird nicht inkrementiert, und mein Netzwerk scheint zu funktionieren, selbst wenn ich das für lösche em2.

10.0.0/24 10.0.0.2 UCn 1 13 - 4 em0 10.0.0/24 10.0.0.3 UCn 0 0 - 14 em2 

Ist die zweite Route überhaupt notwendig? Wenn nicht, schadet es?

Benötige ich zwei Sendungen für dasselbe Netzwerk?

Jede Schnittstelle richtet auch ihre eigene Sendung an dasselbe Netzwerk ein.

10.0.0.255 10.0.0.2 UHPb 0 0 - 1 em0 10.0.0.255 10.0.0.3 UHPb 0 0 - 1 em2 

Dieselbe Frage hier: Sind beide notwendig, und wenn nicht, ist es schädlich? Ich könnte mir leicht vorstellen, dass jede Schnittstelle einen Eintrag in der Tabelle haben muss, aber ich weiß leider nicht genug darüber. Ich sehe keine seltsamen Dinge in meinem LAN.


...warten Sie mal

Nachdem das Netzwerk für eine Weile mit diesem Setup ausgeführt wurde, funktionierte das Netzwerk nicht mehr. Beim Überprüfen der Protokolle sehe ich Folgendes:

arp: attempt to add entry for 10.0.0.1 on em0 by xx:xx:xx:xx:xx:xx on em2 arpresolve: 10.0.0.1: route contains no arp information arpresolve: 10.0.0.1: route contains no arp information arpresolve: 10.0.0.1: route contains no arp information ... 

Anscheinend muss sich etwas im Setup ändern. Ich bin mir immer noch nicht sicher was.

1

0 Antworten auf die Frage