Вопрос или проблема
У меня есть несколько серверов Ubuntu (18.04.3). Они подключены к интернету и к частной локальной сети. Но сразу после перезагрузки сервера они не подключены к интернету. Мне нужно подключиться к серверу через локальную сеть и перезапустить службу networking
, чтобы установить соединение.
cat /etc/network/interface:
auto lo
iface lo inet loopback
#интернет
auto eth0
iface eth0 inet dhcp
#локальная сеть
auto eth1
iface eth1 inet dhcp
sudo systemctl status networking.service (после перезагрузки):
● networking.service - Поднять сетевые интерфейсы
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2019-09-23 12:19:57 UTC; 22min ago
Docs: man:interfaces(5)
Process: 829 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
Process: 802 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (code=exited, status=0/SUCCESS)
Main PID: 829 (code=exited, status=0/SUCCESS)
Sep 23 12:19:52 systemd[1]: Starting Raise network interfaces...
Sep 23 12:19:52 ifup[829]: /sbin/ifup: waiting for lock on /run/network/ifstate.eth0
Sep 23 12:19:57 ifup[829]: /sbin/ifup: waiting for lock on /run/network/ifstate.eth1
Sep 23 12:19:57 systemd[1]: Started Raise network interfaces.
sudo systemctl status networking.service (после перезапуска сетевой службы):
● networking.service - Поднять сетевые интерфейсы
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2019-09-23 12:43:52 UTC; 1s ago
Docs: man:interfaces(5)
Process: 4151 ExecStop=/sbin/ifdown -a --read-environment --exclude=lo (code=exited, status=0/SUCCESS)
Process: 4286 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
Process: 4272 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (code=exited, status=0/SUCCESS)
Main PID: 4286 (code=exited, status=0/SUCCESS)
Tasks: 2 (limit: 4702)
CGroup: /system.slice/networking.service
├─4355 /sbin/dhclient -1 -4 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0
└─4451 /sbin/dhclient -1 -4 -v -pf /run/dhclient.eth1.pid -lf /var/lib/dhcp/dhclient.eth1.leases -I -df /var/lib/dhcp/dhclient6.eth1.leases eth1
Sep 23 12:43:52 ifup[4286]: DHCPREQUEST of 192.168.0.3 on eth1 to 255.255.255.255 port 67 (xid=0x28c16f37)
Sep 23 12:43:52 ifup[4286]: DHCPOFFER of 192.168.0.3 from 192.168.0.2
Sep 23 12:43:52 ifup[4286]: DHCPACK of 192.168.0.3 from 192.168.0.2
Sep 23 12:43:52 dhclient[4409]: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 3 (xid=0x376fc128)
Sep 23 12:43:52 dhclient[4409]: DHCPREQUEST of 192.168.0.3 on eth1 to 255.255.255.255 port 67 (xid=0x28c16f37)
Sep 23 12:43:52 dhclient[4409]: DHCPOFFER of 192.168.0.3 from 192.168.0.2
Sep 23 12:43:52 dhclient[4409]: DHCPACK of 192.168.0.3 from 192.168.0.2
Sep 23 12:43:52 dhclient[4409]: bound to 192.168.0.3 -- renewal in 2147483648 seconds.
Sep 23 12:43:52 ifup[4286]: bound to 192.168.0.3 -- renewal in 2147483648 seconds.
Sep 23 12:43:52 systemd[1]: Started Raise network interfaces.
Может кто-нибудь объяснить, почему это происходит и как я могу это исправить?
Я думаю, что вам следует использовать Netplan для настройки сетевых интерфейсов.
Здесь по этой ссылке вы можете найти простые примеры.
Первый пример – это интерфейс с DHCP клиентом.
netplan.io.
Вы можете начать с проверки файлов, находящихся здесь:
ls /etc/netplan/
Отредактируйте тот, который вы найдете, чтобы он выглядел так (отступы очень важны):
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
Затем:
sudo netplan try
Это проверит, корректен ли ваш редактирование и уведомит вас о любых ошибках. Затем
sudo netplan apply
.
Ответ или решение
Проблема с отсутствием интернета после перезагрузки на серверах Ubuntu 18.04.3
Введение
Вы столкнулись с проблемой, когда ваши серверы, работающие под управлением Ubuntu 18.04.3, не имеют доступа к интернету сразу после перезагрузки. Однако после перезапуска сетевого сервиса связь восстанавливается. Давайте разберем возможные причины данной проблемы и способы ее решения.
Анализ текущих настроек
Вы предоставили конфигурацию сетевых интерфейсов в файле /etc/network/interfaces
, которая выглядит следующим образом:
auto lo
iface lo inet loopback
# интернет
auto eth0
iface eth0 inet dhcp
# локальная сеть
auto eth1
iface eth1 inet dhcp
При этом, после перезагрузки, статус сервиса networking.service
показывает, что он активен, но, судя по выводу, команда ifup
ожидает разблокировки на /run/network/ifstate.eth0
и /run/network/ifstate.eth1
. Это может указывать на то, что интерфейсы не были правильно инициализированы при запуске системы.
Возможные причины проблемы
-
Конфликт состояния интерфейсов:
Логи показывают, что сетевые интерфейсы замерли в процессе инициализации. Это может происходить по причине неправильного управления состоянием сервисов. -
DHCP-клиент:
Возможно, DHCP-клиент не успевает получить адреса на обоих интерфейсах до того, как система завершит инициализацию. -
Устаревшее управление сетями:
В Ubuntu 17.10 и более поздних версиях введена утилита Netplan для управления сетевыми интерфейсами. Возможно, ваша конфигурация в случае настройки через старую систему может не работать должным образом.
Рекомендованные решения
-
Переход на Netplan:
Убедитесь, что ваши сетевые настройки соответствуют современным требованиям Ubuntu, используя Netplan. Сначала проверьте наличие конфигураций Netplan:ls /etc/netplan/
Если у вас есть файл конфигурации, отредактируйте его так, чтобы он выглядел примерно так:
network: version: 2 renderer: networkd ethernets: eth0: dhcp4: true eth1: dhcp4: true
Обратите внимание на правильный отступ и формат YAML.
-
Проверка конфигурации:
После редактирования проверьте корректность конфигурации командой:sudo netplan try
Если конфигурация правильная, примените изменения:
sudo netplan apply
-
Анализ логов:
После перезагрузки сервера проверьте логи:sudo journalctl -u networking.service
Это поможет понять, где именно возникает сбой.
Заключение
Судя по описанию проблемы, наиболее вероятной причиной отсутствия соединения с интернетом после перезагрузки является конфликт состояния интерфейсов или необходимость перехода на Netplan для более эффективного управления сетевыми настройками.
Применяя рекомендуемые шаги и пользуясь современными инструментами управления сетью, вы сможете устранить проблему и обеспечить стабильное соединение на ваших серверах Ubuntu 18.04.3.