Ich habe ein Problem mit IP Route hinzufügen. Überraschenderweise kann ich die Route hinzufügen und dann ändern, aber ich kann sie nicht direkt hinzufügen:
# ip route add 192.168.0.0/16 via 192.168.255.254 src 192.168.1.101
RTNETLINK answers: No such process
aber:
# ip route add 192.168.0.0/16 dev eth0
# ip route change 192.168.0.0/16 via 192.168.255.254 src 192.168.1.101
Meine Schnittstellendatei lautet:
iface lo inet loopback
auto eth0
iface eth0 inet static
address 178.xxx.xxx.xxx
netmask 255.255.255.192
network 178.xxx.xxx.xxx
broadcast 178.xxx.xxx.xxx
gateway 178.xxx.xxx.xxx
auto eth0:1
iface eth0:1 inet static
address 192.168.1.101
netmask 255.255.0.0
Ich bin ein bisschen verloren, muss ich sagen. Ich kann gut hinzufügen und dann ändern, aber es ist nicht befriedigend, nicht zu verstehen, warum es in zwei Schritten und nicht direkt funktioniert. Ich habe Manpages nach Manpages ohne Verständnis gelesen.
Mit Hilfe der Antworten aktualisiert:
Ich habe jetzt ein Gateway aktiviert eth0
und eth0:0
, aber da ich möchte, dass mein gesamter Datenverkehr mit Ausnahme des 192.168.0.0/16
als von meiner 178.xxx.xxx.xxx
Adresse stammend markiert wird , habe ich eine Routing-Regel hinzugefügt. Vielleicht würde es eth0
mit der 192.168.1.101
IP und dann mit der 178.xxx.xxx.xxx
IP eth0:0
ohne Routing-Regel funktionieren, aber hier geht es:
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 178.xxx.xxx.131
netmask 255.255.255.192
network 178.xxx.xxx.128
broadcast 178.xxx.xxx.191
gateway 178.xxx.xxx.190
up /sbin/ip route add default via 178.xxx.xxx.190 dev eth0 table 125
up /sbin/ip rule add from 178.xxx.xxx.128/26 table 125
post-down /sbin/ip route del default via 178.xxx.xxx.190 dev eth0 table 125
post-down /sbin/ip rule del from 178.xxx.xxx.128/26 table 125
auto eth0:0
iface eth0:0 inet static
address 192.168.1.101
netmask 255.255.0.0
gateway 192.168.255.254
Ich habe auch deaktiviert rp_filter
:
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
Danke für Ihre Hilfe!
quelle
Wenn ich meine Ergebnisse für Ihr IP-Setup anpasse (ich bin auf einem 192.168.x.0 / 24):
Ich bekomme
Aber
funktioniert. Ich vermute, es liegt daran, dass sich 192.168.255.254 nicht in Ihrem lokalen Subnetz oder einer bekannten Route befindet. Sie benötigen also zuerst eine Route dazu.
quelle
Wie andere angegeben haben, bedeutet Ihre IP auf eth0: 1 von 192.168.1.101/16, dass Sie bereits eine statische Route für dieses Subnetz haben. Es sieht so aus, als müssten Sie ein Gateway für diese Schnittstelle hinzufügen, das auf 192.168.255.254 verweist.
quelle
Ich weiß, dass es etwas spät ist, aber ich möchte auch klarstellen, wofür "Route" gemacht ist. Du sagtest :
Mit dem Befehl route können Sie eine Route basierend auf einem Ziel und nicht auf einer Quelle bestimmen. Sie müssen Ihre Dienste so konfigurieren, dass sie eine IP-Adresse entsprechend dem Gateway verwenden, das Sie verwenden möchten. Wie Mathias Weidner sagte, benötigen Sie kein Gateway, da Sie direkt verbunden sind (gleiches Subnetz = kein Routing)
quelle