GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich nur ein bestimmtes Subnetz (Quell-IP) an eine bestimmte Schnittstelle weiterleiten?

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 einer der in /etc/iproute2/rt_tables angegebenen Tabellennamen oder Sie können die numerische ID ...

verwenden

Das sagt ziemlich genau aus, dass der gesamte Verkehr von 1.2.3.4/24 wird über die Routing-Tabelle <name> geroutet . IIRC verwendet die Standardtabelle nicht, nachdem Sie dies durchlaufen haben. Wenn Sie also andere Routen benötigen (z. B. Standard-Gateway), müssen Sie diese ebenfalls zur Tabelle hinzufügen.


http://wiki.wlug.org.nz/SourceBasedRouting

Diese Seite hat ein nettes Beispiel für quellenbasiertes Routing.


Linux
  1. Wie betrete ich ein Verzeichnis, dessen Name nur ein Minus ist?

  2. Wie man nur bestimmten Nicht-Root-Benutzern erlaubt, crontab zu verwenden

  3. So ändern Sie den Schnittstellennamen in CentOS/RHEL 8 mit prefixdevname

  4. Wie unterscheiden Sie ein Verzeichnis nur für Dateien eines bestimmten Typs?

  5. Wie bekomme ich nur die Prozess-ID unter Angabe des Prozessnamens in Linux?

So binden Sie einen Raw-Socket an eine bestimmte Schnittstelle

Wie bekomme ich nur den Dateinamen mit Linux 'find'?

Leiten Sie nur bestimmten Datenverkehr durch VPN

lsof - Ausgabe nur auf physische Dateien beschränken - wie?

Wie kann ich unter Linux sehen, welche Netzwerkschnittstelle und Quell-IP-Adresse für eine Route zu einem bestimmten Zielhost verwendet wird?

Finden Sie die Schnittstelle für die Route zu einem bestimmten Host