我不知道为什么/何时,veth
我的系统中出现了一些接口(Ubuntu 16.0. LTS
):
» ifconfig | grep veth
veth4556676 Link encap:Ethernet HWaddr ee:b9:b9:ed:71:a6
veth8747335 Link encap:Ethernet HWaddr 66:40:47:fd:1f:a7
veth13905bf Link encap:Ethernet HWaddr ae:73:8f:f7:9d:d4
veth2636dd7 Link encap:Ethernet HWaddr fa:b8:3c:d4:52:9c
veth42de626 Link encap:Ethernet HWaddr 92:08:43:90:6e:f3
veth4eedb05 Link encap:Ethernet HWaddr 66:5f:b8:e7:52:05
veth7534db0 Link encap:Ethernet HWaddr 16:9c:06:e6:f2:aa
veth83508c7 Link encap:Ethernet HWaddr 5a:55:6c:ee:e5:7b
veth8f275d6 Link encap:Ethernet HWaddr 46:18:a1:52:7f:e9
veth9f370c9 Link encap:Ethernet HWaddr da:9e:49:37:b4:16
vethb96da94 Link encap:Ethernet HWaddr 42:11:90:11:8a:f4
vethba463c9 Link encap:Ethernet HWaddr 06:40:d5:9a:79:7a
vethd820900 Link encap:Ethernet HWaddr a2:94:53:c8:53:bf
vethdd077a0 Link encap:Ethernet HWaddr 1a:f9:00:93:05:5e
vethef191e6 Link encap:Ethernet HWaddr b2:b0:e1:68:50:7c
vethf70a6f9 Link encap:Ethernet HWaddr a6:a7:72:dd:88:69
这发生在刚刚重启的系统中。我有两个问题:
- 为什么那些韦特接口是否存在?
- 我怎样才能摆脱它们?
注意:我最近一直在做一些与 Vagrant / VirtualBox 相关的东西,所以这可能是原因。
答案1
为什么veth
存在这些接口?
可能是因为你正在使用虚拟化平台例如 vmware 或 virtualbox 或 vagrant。
摆脱veth
接口!
我认为存在更好的解决方案,但是暂时您可以这样做。
获取名称
interfaces
ifconfig | grep "^veth" | cut -d' ' -f1
这里仅选择以 开头的
grep "^veth"
那些接口(由 列出) ,并通过消除内容并仅显示第一个字段来仅显示名称。ifconfig
veth
cut
d
f
现在我们必须关闭驱动程序对于这些接口使用
ifconfig vethxxxxxx down
另外,您可以使用
ip
命令来执行此操作(按照建议@dirkt 在评论中)。ip link set $veth down
但由于它们太多,因此使用
for
如下循环:for veth in $(ifconfig | grep "^veth" | cut -d' ' -f1) do ifconfig $veth down # OR this ip link set $veth down done
以下是复制粘贴的一行代码:
for veth in $(ifconfig | grep "^veth" | cut -d' ' -f1); do ifconfig $veth down; done
请随意在答案中添加更多内容。
答案2
添加到@C0deDaedalus 答案,提供的解决方案对我来说并不完全起作用,因此我对其进行了修改以使其起作用ip
:
带来韦特接口关闭
for veth in $(ip a | grep veth | cut -d' ' -f 2 | rev | cut -c2- | rev | cut -d '@' -f 1 )
do
sudo ip link set $veth down
done
删除韦特接口
for veth in $(ip a | grep veth | cut -d' ' -f 2 | rev | cut -c2- | rev | cut -d '@' -f 1 )
do
sudo ip link delete $veth
done
根据你的根与否,你可以保留sudo
或不保留
答案3
尝试改进脚本(易于阅读)
查找接口名称(选择你喜欢的一个)
ip link | grep -Eo '\bveth\w+'
ifconfig | grep -Eo '^veth\w+'
ifconfig | grep '^veth' | cut -d':' -f1
调低界面
for f in `ifconfig | grep -Eo '^veth\w+'`;
do echo === $f;
sudo ifconfig $f up;
done
笔记:
当我关闭这些接口时,我的docker实例无法工作。
关于 veth:
https://vivek-syngh.medium.com/linux-virtual-ethernet-devices-aba9c3840d0d