Freebsd 更改默认 Internet 通道路由

Tar*_*ron 10 freebsd route internet channel

我在 freebsd 上有两个 Internet 频道和网关。当我使用命令切换频道时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
Run Code Online (Sandbox Code Playgroud)

$ 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
Run Code Online (Sandbox Code Playgroud)

如果我运行以下组合,一切正常:

$sudo route del 默认

$sleep 10

$sudo 路由添加默认值 xxx.xxx.144.125

小智 0

如果使用route change命令,则需要重新启动网络服务才能应用更改,例如:

$ sudo /etc/rc.d/netif restart
Run Code Online (Sandbox Code Playgroud)