Как избавиться от veth интерфейсов?

494
dangonfast

Я не уверен, почему / когда некоторые 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  

Это происходит в недавно перезагруженной системе. У меня есть два вопроса:

  1. Почему эти ветеринарные интерфейсы присутствуют?
  2. Как я могу избавиться от них?

Примечание: в последнее время я занимался некоторыми вещами, связанными с Vagrant / VirtualBox, так что это может быть причиной.

0
veth-интерфейсы - это виртуальные интерфейсы, используемые для соединения виртуальных машин - я не знаком с Vagrant, но я ожидаю, что это является причиной - поскольку это выглядит очень похоже на то, что происходит с Docker. davidgo 6 лет назад 0
Конечно, veth - это виртуальные интерфейсы Ethernet, используемые для подключения к виртуальным машинам. C0deDaedalus 6 лет назад 0
@dangonfast, пожалуйста, смотрите [Что мне делать, когда кто-то отвечает на мой вопрос?] (https://superuser.com/help/someone-answers) C0deDaedalus 6 лет назад 0

1 ответ на вопрос

1
C0deDaedalus

Почему эти vethинтерфейсы присутствуют?

Возможно, потому что вы используете платформу виртуализации, такую ​​как vmware или virtualbox или vagrant.

Избавляемся от vethинтерфейсов!

Я полагаю, что существует лучшее решение, но пока вы можете сделать это таким образом.

  • Получение имени interfaces

    ifconfig | grep "^veth" | cut -d' ' -f1 

    Здесь grep "^veth"выбираются только те интерфейсы (перечислены ifconfig), которые начинаются с, vethи cutотображаются только имена, dисключая содержимое и показывая только первый field.

  • Теперь мы должны выключить драйверы для этого интерфейса, используя

    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 

Не стесняйтесь добавлять больше материала к ответу.

Кстати, я бы порекомендовал использовать `ip` поверх более старого` ifconfig` - `ip` может использовать сетевые функции ядра, которое не может использовать ifconfig, хотя это и не важно для этой конкретной проблемы. dirkt 6 лет назад 0
@dirkt, спасибо за ваше предложение. Поскольку я не часто использую команду, не могли бы вы отредактировать ответ для использования команды `ip`. Благодарю. C0deDaedalus 6 лет назад 0