今天遇到了一个关于Linux网络设置的奇怪的问题。
同事想写一个自动化脚本测试断网对应用系统的影响。他在Linux上执行命令:
[color=blue]ifconfig eth0 down[/color]
禁用网卡
再使用命令:
[color=blue]ifconfig ech0 up[/color]
启用网卡
但是很奇怪,跨网段的机器无法再访问这台Linux。
我帮忙找了很久,才找到原因。虽然两条命令只是简单的禁用并启用网卡,已经设置好的网关却莫名其妙的在路由表中消失了!!!
使用命令:
[color=blue]route -n[/color]
查看了下路由表,执行命令的前后,default的网关不见了。SUSE10.1和RHEL5都是如此。
最后只能重新执行一条命令:
[color=blue]route add default gw xxx.xxx.xxx.xxx(网关地址)[/color]
问题解决。
不知道这个算不算是linux内核的一个bug?
同事想写一个自动化脚本测试断网对应用系统的影响。他在Linux上执行命令:
[color=blue]ifconfig eth0 down[/color]
禁用网卡
再使用命令:
[color=blue]ifconfig ech0 up[/color]
启用网卡
但是很奇怪,跨网段的机器无法再访问这台Linux。
我帮忙找了很久,才找到原因。虽然两条命令只是简单的禁用并启用网卡,已经设置好的网关却莫名其妙的在路由表中消失了!!!
使用命令:
[color=blue]route -n[/color]
查看了下路由表,执行命令的前后,default的网关不见了。SUSE10.1和RHEL5都是如此。
最后只能重新执行一条命令:
[color=blue]route add default gw xxx.xxx.xxx.xxx(网关地址)[/color]
问题解决。
不知道这个算不算是linux内核的一个bug?