![Как перезапустить сетевой интерфейс?](https://rvso.com/image/23943/%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%3F.png)
Как перезапустить сетевой интерфейс? У меня есть виртуальная машина, которая не обновляет свой IP-адрес правильно при переключении между домом и работой. Виртуальная машина работает на сервере Ubuntu и использует сетевой адаптер с мостовым подключением.
решение1
Используйте ifdown
для выключения и ifup
повторного включения. Для перезапуска eth0
:
> ifdown eth0
> ifup eth0
Вам понадобятся права root.
Подробнеео ifup
и ifdown
.
решение2
Похоже, что у вас настроен интерфейс с использованием DHCP. Если так, вам нужно убить существующего клиента DHCP и перезапустить его. Для многих дистрибутивов вам нужно сделать следующее:
dhcpcd -k eth0
dhcpcd -d eth0
но не каждый дистрибутив использует dhcpcd
. Я знаю, что некоторые используют dhclient
, а разве Debian не использует pump
?
Кроме того, «eth0» может не являться правильным именем интерфейса: сделайте это, ifconfig -a
чтобы узнать, что имеет эта виртуальная машина.
решение3
В Debian вы можете указать интерфейсу получить еще одну аренду DHCP с помощью
dhclient -v {interface_name}
Означает -v
«подробный» и покажет вам процесс в действии.
Ответ @JustinY будет работать ( ifup
и ifdown
команды), если интерфейсы настроены на извлечение адресов из DHCP. Если они настроены как статические, они просто вернутся к своим статическим IP-адресам. dhclient
будет пытаться связаться с DHCP-сервером, несмотря ни на что.
решение4
остальные ответы выглядят нормально. Просто хотел добавить, со страницы man
:
-a, --all If given to ifup, affect all interfaces marked auto. Interfaces are brought up in the order in which they are defined in /etc/network/inter‐ faces. Combined with --allow, acts on all interfaces of a specified class instead. If given to ifdown, affect all defined interfaces. Interfaces are brought down in the order in which they are currently listed in the state file. Only interfaces defined in /etc/network/interfaces will be brought down.
Как правило, этот --all
флаг может быть чрезвычайно полезен, поскольку он отображает сеть в целом (при условии, что интерфейсы помечены auto
).