Wie konfiguriert man das Linux-Routing so, dass Pakete über dieselbe Schnittstelle gesendet werden, über die sie empfangen wurden?

Wie konfiguriert man das Linux-Routing so, dass Pakete über dieselbe Schnittstelle gesendet werden, über die sie empfangen wurden?

Ich habe die folgende Routing-Tabelle

10.0.1.0/24 dev eth0  proto kernel  scope link  src 10.0.1.151
10.0.10.0/24 dev eth1  proto kernel  scope link  src 10.0.10.151
default via 10.0.1.1 dev eth0

Ich habe zwei Verbindungen, eine geht durch ein LAN und über 10.0.1.1 hinaus ins Internet. Die andere ist ein ADSL-Router (10.0.10.1), der direkt an eth1 angeschlossen ist.

Wenn ich mich von außen mit der externen IP-Adresse 10.0.10.1 verbinde, erhalte ich ein Timeout. Wenn ich die Standardroute auf 10.0.10.1 ändere, funktioniert die Verbindung von außen mit der externen IP-Adresse 10.0.10.1. Das sieht also nach einem Routing-Problem aus (Pakete kommen von 10.0.10.1, gehen aber über 10.0.1.1, die Standardroute, hinaus), aber ich bin nicht sicher, wie ich es lösen soll.

Ich möchte eigentlich, dass die Standardroute 10.0.1.1 ist, ich möchte nur Anfragen an die externe IP 10.0.10.1 über dieselbe Schnittstelle beantworten.

Antwort1

Sie müssen die erweiterten Routingtabellen verwenden, die von iproute2 angeboten werden. Sie richten 2 Tabellen ein und senden den gesamten von einer IP kommenden Datenverkehr an eine bestimmte Tabelle. In dieser Tabelle können Sie ein Standard-Gateway festlegen. Um die globale Standardroute festzulegen, bevorzugen Sie einfach über Metriken eine Schnittstelle gegenüber der anderen.

ein Beispiel:

  • Hinzufügen der Standard-Gateways zu den Tabellen:

IP-Route hinzufügen Standard über 10.0.1.1 Tabelle 101

IP-Route hinzufügen Standard über 10.0.10.1 Tabelle 102

  • Fügen Sie eine Regel hinzu, dass der gesamte Datenverkehr von einer bestimmten IP an die Tabelle gesendet wird:

IP-Regel hinzufügen von 10.0.1.151 Lookup 101

IP-Regel hinzufügen von 10.0.10.151 Lookup 102

  • Fügen Sie die Metrik hinzu, welches Gateway bevorzugt werden soll:

IP-Route hinzufügen Standard über 10.0.1.151 Metrik 1000

IP-Route hinzufügen Standard über 10.0.10.151 Metrik 2000

ich hoffe, das hilft Ihnen beim Einstieg :)

verwandte Informationen