Wie route ich nur ein bestimmtes Subnetz (Quell-IP) zu einer bestimmten Schnittstelle?


31

Wie route ich nur ein bestimmtes Subnetz (Quell-IP) zu einer bestimmten Schnittstelle?
Betriebssystem: Linux

Ich weiß, ich kann leicht nach Ziel-IP tun, indem ich so etwas benutze

route add 1.2.3.4/24 dev eth4

aber ich sehe nicht, wie man anhand der Quell-IP routen kann.

Antworten:


30

Sie müssen richtlinienbasiertes Routing verwenden. So etwas wie

ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>

<name>ist entweder Tabellenname in angegeben /etc/iproute2/rt_tablesoder Sie können numerische ID verwenden ...

Dies sagt so ziemlich aus, dass der gesamte Datenverkehr 1.2.3.4/24über die Routing-Tabelle weitergeleitet wird <name>. IIRC verwendet danach nicht mehr die Standardtabelle. Wenn Sie also andere Routen benötigen (z. B. Standardgateway), müssen Sie diese ebenfalls zur Tabelle hinzufügen.


1
eine korrektur (aber nicht sicher, ob deine auch funktionieren wird. für den zweiten befehl: ip route add default dev eth4 table <name>( tablerichtlinie sollte am ende stehen denke ich, genau wie im ersten befehl ... defaultkann auch durch ein subnetz ersetzt werden, genau wie in deinem beispiel )
Alex

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.