Как я могу перезагрузить сетевой интерфейс?


10

Как я могу перезагрузить сетевой интерфейс? У меня есть виртуальная машина, которая не обновляет свой IP-адрес правильно при переключении между домом и работой. VM запускает сервер Ubuntu и использует сетевой мостовой адаптер.


5
Под какой ОС / дистрибутивом? Как настроена сеть в ВМ?
Жиль "ТАК - перестань быть злым"

Ответы:


8

Используйте, ifdownчтобы выключить и ifupснова включить. Для перезапуска eth0:

> ifdown eth0
> ifup eth0

Вам понадобятся права суперпользователя.

Подробнее о ifupи ifdown.


3

Похоже, у вас настроен этот интерфейс с использованием DHCP. Если это так, вы хотите убить существующего клиента DHCP и перезапустить его. Для многих дистрибутивов вы бы сделали это:

dhcpcd -k eth0
dhcpcd -d eth0

но не каждый дистрибутив использовал dhcpcd. Я знаю, как использовать dhclient, и разве Debian не использует pump?

Кроме того, «eth0» может не указывать правильное имя интерфейса: сделать, ifconfig -aчтобы увидеть, что имеет эта виртуальная машина.


1
(Не о downvote :) Я на Debian, dhcpcd и pump находятся в репозиториях. Смущает, что dhclient нет, и это инструмент, который я получил при установке и с тех пор использую.
Эмануэль Берг

3

В Debian вы можете указать интерфейсу, чтобы получить еще одну аренду DHCP с

dhclient -v {interface_name}

В -vозначает «многословный» и покажет вам процесс в действии.

Ответ @ JustinY будет работать ( ifupи ifdownкоманды), если интерфейсы настроены на получение адресов из DHCP. Если они настроены как статические, они просто вернутся к своим статическим IP-адресам. dhclientбудет пытаться связаться с сервером DHCP, несмотря ни на что.


0

остальные ответы выглядят хорошо. Просто хотел добавить со 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).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.