Нет сети после обновления до 16.04

Я обновил свой сервер до 16.04 с 14.04, который, в свою очередь, был обновлен с 12.04 с использованием командной строки do-release-upgrade. Это серверная сборка, абсолютно без графического интерфейса. Он запускает apache2, bind9, nfs и несколько других сетевых сервисов. По большей части, ничего не сломалось в обновлении ... кроме сети. Теперь мне нужно запускать

sudo /etc/init.d/networking start

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

sudo update-rc.d networking defaults

, но приведенная выше команда просто выдает ошибку о невозможности подключения к upstart.

Что я могу сделать, чтобы исправить мою сеть?

Редактировать: Содержимое / etc / network / interfaces:

#loopback
auto lo
iface lo inet loopback

#eth0
auto eth0
iface eth0 inet dhcp
12
задан 4 May 2016 в 20:02

3 ответа

то же самое здесь.

Я думаю что-то произошла ошибка при переходе с выскочки на systemd в процессе установки?

я опишу, как я это исправил

Следуя этому руководству, я включил сеть systemd: http://xmodulo.com/switch-from-networkmanager-to-systemd-networkd.html

Шаги, которые я выполнил:

$ sudo systemctl enable systemd-networkd
$ sudo systemctl enable systemd-resolved
$ sudo systemctl start systemd-resolved
$ sudo rm /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
$ sudo vi /etc/systemd/network/20-dhcp.network

Содержание:

[Match]
Name=e*

[Network]
DHCP=yes

Теперь все работает нормально: -)

23
ответ дан 5 May 2016 в 06:02
  • 1
    Очевидный факт, что все просто говорят о " Linux" говорит много. Никто не потрудился определять, к какой из многих конкурирующих версий они на самом деле обращаются! I' ve использовал достаточно различных версий ** ix, чтобы знать очень хорошо, что дьявол находится в деталях здесь. – alephzero 19 October 2017 в 17:57

Я столкнулся с той же проблемой после длительного использования 16.04, возможно, какое-то обновление все испортило.

Выполнение systemctl status network.service показало, что служба не запускалась из-за ошибки в вызове ifup -a . Выполнение ifup -a отдельно показало, что он пытается работать с интерфейсом eth0 , тогда как ifconfig -a перечисляет только enp0s31f6 и ] lo интерфейсов. Проверка / etc / network / interfaces показала:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Исправление имени интерфейса на то, что было найдено с помощью ifconfig , решило проблему:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp0s31f6
iface enp0s31f6 inet dhcp
1
ответ дан 29 September 2019 в 16:50

Решение для статического адреса:

Чтобы добавить к ответу HerrTaschenbier: Если у вас есть статический адрес на вашем сервере, вы должны проверить, был ли переименован сетевой адаптер, выполнив ifconfig -a Я обнаружил, что eth0 был переименован в ens32 . Используйте эту информацию и примените ее к ответу HerrTaschenbier. Вам также потребуется создать новый файл в соответствии с его инструкциями sudo vi /etc/systemd/network/20-ens32.network. Содержание немного другое.

[Match] 
Name=ens32

[Network]
DNS=xxx.xxx.xxx.xxx
Domains=somedomain.com
Address=xxx.xxx.xxx
Gateway=xxx.xxx.xxx

Обратите внимание, что формат имени файла содержит имя сетевого адаптера. Не забудьте также изменить имя адаптера в файле / etc / network / interfaces. Это случилось со мной при обновлении с 14.04 по 16.04.

2
ответ дан 23 November 2019 в 03:55

Другие вопросы по тегам:

Похожие вопросы: