我在FreeBSD上有两个互联网通道和网关。当我使用命令
但是
route change default chan2
切换通道时,命令netstat -nr
显示默认路由已更改。但是traceroute
显示数据包仍然通过旧的chan1通道传输。$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
但是
$ 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
只要我运行以下组合,一切都正常:
$sudo route del default
$sleep 10
$sudo route add default xxx.xxx.144.125
uname -a
应该显示)? - Chris Snetstat -rnf inet
的完整输出? - James O'Gormanarp -d -a
和/或路由表route flush
。可能内核/用户空间正在查询过时的数据。 - inetplumber