Bindung an eine bestimmte Netzwerkschnittstelle auf einem Linux-Server mit mehreren Gateways

Bindung an eine bestimmte Netzwerkschnittstelle auf einem Linux-Server mit mehreren Gateways

Ich versuche, ein Serverprogramm auf meinem lokalen Computer auszuführen. Es hat zwei Routen zum Internet:

  • 10.0.0.1/24on eth0ist das Gateway und das Subnetz auf der Schnittstelle mit der schnellsten Verbindung; eine Firewall verhindert jedoch, dass ich auf an TCP-Ports gebundene Server zugreife.
  • 10.8.0.1/24An eth1ist das Gateway und das Subnetz auf der langsameren Schnittstelle; ich habe jedoch die Kontrolle über das Gateway-Gerät und kann erfolgreich Ports darüber weiterleiten und der Server ist im Internet sichtbar.

Auf meinem Rechner habe ich diese Routen:

default via 10.0.0.1 dev eth0 src 10.0.0.x metric 203 default via 10.8.0.1 dev eth1 metric 800 10.8.0.0/24 dev eth1 proto kernel scope link src 10.8.0.y 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.x metric 203

Natürlich eth0hätte die Route über unter normalen Umständen Vorrang. Damit mein Server jedoch portweitergeleitet werden kann, muss er das Standard-Gateway auf der eth1Schnittstelle verwenden.ohneUmleitung des gesamten übrigen Datenverkehrs über dieselbe Schnittstelle.

Was ich bisher versucht habe, ist, den Server an die Adresse zu binden, 10.8.0.ywas bedeutet, dass er nur Verbindungen akzeptiert, deren Ziel diese IP-Adresse ist. Für die Weiterleitung des Datenverkehrs in die entgegengesetzte Richtung hat es jedoch nicht funktioniert. Ich habe überprüft, tcpdump -i eth1 -p 25561dass eingehende Verbindungen empfangen werden, aber wenn ich beide überwache, eth0sehe eth1ich keine ausgehende Antwort. Die Verbindung wird dann auf dem Remote-Client abgebrochen, wenn keine Antwort eingeht.

Hat jemand anders versucht, etwas Ähnliches zu tun, und kann mir Hinweise geben, wie ich es einrichten muss?

verwandte Informationen