Freebsd更改默认Internet通道路由


10

我在freebsd上有两个Internet通道和Gateway。当我使用命令切换频道时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默认

$睡眠10

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


您正在运行什么版本(uname -a应显示)?
克里斯S

FreeBSD 8.2-发布FreeBSD 8.2-发布#0:Fri Apr 15 12:45:40 MSD 2011 root@grs.ru:/ usr / src / sys / amd64 / compile / IXI_8_2_PF_x64 amd64
Taron

您的第一个路由表中的网关和您的traceroute的第一跳中的网关是不一样的(.53与.54)-您是否复制,粘贴或重新键入了此信息?您还可以发布的完整输出netstat -rnf inet吗?
James O'Gorman 2013年

从我的GW(.54)运行的traceroute,.53是IP优先提供商的设备。
Taron

5
在添加新的默认路由之前,请清除ARP缓存arp -d -a和/或路由表route flush。内核/用户空间可能正在查询过时的数据。
inetplumber

Answers:



0

您是否有到8.8.8.8的缓存路由?的完整输出netstat -nr将显示出来。如果是这样,您需要在测试更改之前将其删除-专门针对该路由,或者可以route flush然后添加而不是更改默认网关(但是请记住,如果执行此操作,这将在两个命令之间中断非本地流量办法)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.