Linux重命名VLAN标记接口 – 路由坚持从旧的

我们使用一个10Gig的网卡,上面有两个vlans(专用networking和互联网),我正在通过重命名networking脚本来改变专用networking的路由。 这是在CentOS 6.0上。

基本上,我采取了eth4.401,将其重命名为eth4.403(脚本中的脚本和接口名称)。 然后,我做了“服务networking重启”,新的界面出现,我可以ping其网关。 但是,ifconfig和route都仍然显示旧界面(eth4.401)。 我可以执行'ifconfig eth4.401'来取出ifconfig,但路由表仍然保留其直接连接的路由。 另外,在运行服务networking重启时,我看到这个错误:

Bringing up interface eth4.408: RTNETLINK answers: File exists [ OK ] 

如果我重新启动,它修复了一切,但有关如何让它删除旧界面(特别是其路线),而不重新启动机器的任何想法?

您的networking脚本几乎肯定会调用vconfig命令。

要删除VLAN接口,请使用命令vconfig rem interfacevconfig rem eth4.401 。 这将删除所有相关的地址和路由。

我可以执行'ifconfig eth4.401'来取出ifconfig,但路由表仍然保留其直接连接的路由

你可以运行一个像ip route flush dev eth4.401ip addr flush eth4.401这样的命令来清除与接口相关的所有路由和地址而不删除它。 但是你并不需要这样做。