Ich habe zwei Internetkanäle und Gateway auf freebsd. Wenn ich mit dem Befehl route change default chan2
den Kanal wechsle , netstat -nr
zeigt der Befehl die geänderte Standardroute an. traceroute
Zeigt aber , dass die Pakete die alte Route chan1 durchlaufen.
Beispiel:
$netstat -nr
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire
default xxx.xxx.183.54 US 0 8432 em3
$sudo route change default xxx.xxx.144.125
change net default: gateway> xxx.xxx.144.125
$netstat -nr
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire
default xxx.xxx.144.125 US 2 16450 em3
ABER
$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
1 xxx.xxx.183.53 (xxx.xxx.183.53) 0.527 ms 0.415 ms 0.483ms
Alles funktioniert, wenn ich die folgende Kombination ausführe:
$ sudo route del default
$ Schlaf 10
$ sudo route Standard hinzufügen xxx.xxx.144.125
netstat -rnf inet
?
arp -d -a
und / oder die Routing-Tabellen, route flush
bevor Sie die neue Standardroute hinzufügen. Möglicherweise konsultiert der Kernel / Benutzerbereich veraltete Daten.
uname -a
sollte zeigen)?