在 FreeBSD 中,是否配置调用似乎删除了默认网关路由,即使给定了相同的 IP 地址(例如,仅更新网络掩码时)。这是错误还是功能?
据我记得,在这种情况下,Linux 不会更改默认网关。
答案1
在 FreeBSD 中,ifconfig
删除与子网的直接连接也会删除包含该子网的路由(如果我没记错的话,更新网络掩码会简化为删除和替换)。这是一个“功能”,目的是避免因尝试与无法再访问的主机通信而混淆您的路由配置,尽管当用户遇到消失的路由时,它会造成一定程度的混乱。
答案2
我相信这种情况会发生,因为 ifconfig 命令实际上是删除旧 IP 并创建新 IP,而不仅仅是更改它。“这是一个功能!”
答案3
我一直在寻找一种方法来保持到默认网关的路由不变,但是因为我看到了这个帖子并自己尝试过,所以我猜没有办法。我唯一要做的就是在设置 ip 后立即手动设置默认网关:
sudo ifconfig eth0 10.0.0.2 subnet 255.255.255.0
sudo route add default gw 10.0.0.138
因此请记住,如果你远程执行此操作,最好使用 && 运行这两个命令,否则你会陷入困境
sudo ifconfig eth0 10.0.0.2 subnet 255.255.255.0 && sudo route add default gw 10.0.0.138