Ich versuche, ein Serverprogramm auf meinem lokalen Computer auszuführen. Es hat zwei Routen zum Internet:
10.0.0.1/24
oneth0
ist 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/24
Aneth1
ist 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 eth0
hätte die Route über unter normalen Umständen Vorrang. Damit mein Server jedoch portweitergeleitet werden kann, muss er das Standard-Gateway auf der eth1
Schnittstelle 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.y
was 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 25561
dass eingehende Verbindungen empfangen werden, aber wenn ich beide überwache, eth0
sehe eth1
ich 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?