Немає мережі після оновлення до 16.04


12

Я модернізував свій сервер до 16.04 з 14.04, який, в свою чергу, було оновлено з 12.04, і все це використовувало командний рядок do-release-upgrade. Це збірка сервера, без абсолютно GUI. Він запускає apache2, bind9, nfs та кілька інших служб, пов’язаних з мережею. Здебільшого в оновленні нічого не було зламано ... окрім мережі. Тепер мені треба бігти

sudo /etc/init.d/networking start

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

sudo update-rc.d networking defaults

але наведена вище команда просто видає помилку щодо неможливості підключення до запуску.

Що я можу зробити, щоб виправити свою мережу?

Редагувати: Вміст / etc / network / interface:

#loopback
auto lo
iface lo inet loopback

#eth0
auto eth0
iface eth0 inet dhcp

Ви можете додати рядки у /etc/network/interfacesфайлі до свого запитання?
Джон Оріон

@JohnOrion зроблено. Я також переконався, що мережевий пристрій насправді eth0; Раніше я змінював пристрої між eth0 та eth1. Це, дійсно, eth0.
ArmanX

Що ifconfigпоказує? Що відбувається, коли ти біжиш sudo ifup eth0?
Серін

1
Для майбутніх шукачів інформації: "ifconfig" нічого не показує; "ifconfig -a" показує, що адаптер є, але не активований. "sudo ifup eth0" (або "sudo ifconfig eth0 up") підніме адаптер, але не викличе клієнта dhcp. Ручне підведення адаптера та запуск dhclient підключається як очікувалося.
ArmanX

Це сказало, що я врешті-решт перевстановив усе з нуля, що це виправило.
ArmanX

Відповіді:


23

те ж саме.

Я думаю, що щось пішло не так, під час переходу від початкового до системного в процесі встановлення?

я опишу, як я це виправив

Дотримуючись цього керівництва, я ввімкнув мережеві системи: 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

Зараз все працює нормально :-)


гуца! Це вирішило це і для мене!
Крейг

Тут не працювали. Третя заява помилилася.
jjmerelo

2

Рішення статичної адреси:

Щоб додати відповідь HerrTaschenbier: Якщо у вас на сервері є статична адреса, ви повинні перевірити, чи було перейменовано NIC, зробивши 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 / interface interface file. Це сталося зі мною з оновлення 14.04 до 16.04.


1

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

Запуск systemctl status networking.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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.