Нет интернета после перезагрузки без перезапуска сетевой службы.

Вопрос или проблема

У меня есть несколько серверов 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. Это может указывать на то, что интерфейсы не были правильно инициализированы при запуске системы.

Возможные причины проблемы

  1. Конфликт состояния интерфейсов:
    Логи показывают, что сетевые интерфейсы замерли в процессе инициализации. Это может происходить по причине неправильного управления состоянием сервисов.

  2. DHCP-клиент:
    Возможно, DHCP-клиент не успевает получить адреса на обоих интерфейсах до того, как система завершит инициализацию.

  3. Устаревшее управление сетями:
    В Ubuntu 17.10 и более поздних версиях введена утилита Netplan для управления сетевыми интерфейсами. Возможно, ваша конфигурация в случае настройки через старую систему может не работать должным образом.

Рекомендованные решения

  1. Переход на Netplan:
    Убедитесь, что ваши сетевые настройки соответствуют современным требованиям Ubuntu, используя Netplan. Сначала проверьте наличие конфигураций Netplan:

    ls /etc/netplan/

    Если у вас есть файл конфигурации, отредактируйте его так, чтобы он выглядел примерно так:

    network:
     version: 2
     renderer: networkd
     ethernets:
       eth0:
         dhcp4: true
       eth1:
         dhcp4: true

    Обратите внимание на правильный отступ и формат YAML.

  2. Проверка конфигурации:
    После редактирования проверьте корректность конфигурации командой:

    sudo netplan try

    Если конфигурация правильная, примените изменения:

    sudo netplan apply
  3. Анализ логов:
    После перезагрузки сервера проверьте логи:

    sudo journalctl -u networking.service

    Это поможет понять, где именно возникает сбой.

Заключение

Судя по описанию проблемы, наиболее вероятной причиной отсутствия соединения с интернетом после перезагрузки является конфликт состояния интерфейсов или необходимость перехода на Netplan для более эффективного управления сетевыми настройками.

Применяя рекомендуемые шаги и пользуясь современными инструментами управления сетью, вы сможете устранить проблему и обеспечить стабильное соединение на ваших серверах Ubuntu 18.04.3.

Оцените материал
Добавить комментарий

Капча загружается...