Вопрос или проблема
Я настраиваю сервер с сетевым интерфейсом QLogic на 4 порта (em1 по em4). Он подключен через em3, и IP-адрес автоматически предоставляется DHCP на основании mac-адреса. У меня нет доступа к сети после загрузки. Поэтому мне нужно использовать systemctl restart network
после каждой загрузки.
После загрузки systemctl status network
иногда выдает мне следующее:
network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since ven. 2019-03-15 09:20:18 CET; 2min 21s ago
Docs: man:systemd-sysv-generator(8)
Process: 1365 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
mars 15 09:19:32 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking...
mars 15 09:19:32 localhost.localdomain network[1365]: Активация интерфейса loopback: [ OK ]
mars 15 09:20:18 localhost.localdomain network[1365]: Активация интерфейса em3: Ошибка: активация соединения не удалась: конфигурация IP не могла быть зарезервирована (нет доступного адреса, таймаут и т.д.)
mars 15 09:20:18 localhost.localdomain network[1365]: [НЕ УДАЛОСЬ]
mars 15 09:20:18 localhost.localdomain systemd[1]: network.service: контрольный процесс завершился, код=выход статус=1
mars 15 09:20:18 localhost.localdomain systemd[1]: Не удалось запустить LSB: Bring up/down networking.
mars 15 09:20:18 localhost.localdomain systemd[1]: Юнит network.service вошел в состояние сбоя.
mars 15 09:20:18 localhost.localdomain systemd[1]: network.service не удалась.
Очевидно, сеть не активирована. Но иногда (по-видимому, случайным образом) после загрузки я также могу получить:
network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: active (exited) since ven. 2019-03-08 15:05:10 CET; 48s ago
Docs: man:systemd-sysv-generator(8)
Process: 2781 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS)
Process: 3019 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS)
mars 08 15:05:09 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking...
mars 08 15:05:09 localhost.localdomain network[3019]: Активация интерфейса loopback: [ OK ]
mars 08 15:05:09 localhost.localdomain network[3019]: Активация интерфейса em3: Соединение активировано (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/5)
mars 08 15:05:09 localhost.localdomain network[3019]: [ OK ]
mars 08 15:05:10 localhost.localdomain systemd[1]: Запущен LSB: Bring up/down networking.
но хотя соединение, кажется, активировано, мне нужно перезагрузиться, чтобы получить доступ к сети.
Позвольте добавить, что /etc/sysconfig/network-scripts/ifcfg-em3 содержит:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em3
UUID=442f***************************
ONBOOT=yes
IPV6_PRIVACY=no
Поскольку ONBOOT установлен в yes, я не знаю, как решить эту проблему.
PS: когда я смотрел в /var/log/message (только строки с networkManager), у меня во время загрузки:
Mar 15 09:10:59 localhost NetworkManager[1148]: <info> [1552637459.9299] ifcfg-rh: новое соединение /etc/sysconfig/network-scripts/ifcfg-em3 (442f*****************,"em3")
Mar 15 09:11:01 localhost NetworkManager[1148]: <info> [1552637461.9915] manager: (em3): новое Ethernet-устройство (/org/freedesktop/NetworkManager/Devices/4)
Mar 15 09:11:01 localhost NetworkManager[1148]: <info> [1552637461.9924] устройство (em3): изменение состояния: unmanaged -> unavailable (причина 'managed') [10 20 2]
Mar 15 09:11:01 localhost kernel: IPv6: ADDRCONF(NETDEV_UP): em3: ссылка не готова
Mar 15 09:11:02 localhost kernel: bnx2x 0000:01:00.2 em3: использует IRQ MSI-X: sp 85 fp[0] 87 ... fp[7] 94
Mar 15 09:11:02 localhost kernel: bnx2x 0000:01:00.2 em3: связь NIC исправна, 1000 Мбит/с полный дуплекс, контроль потока: нет
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.2490] устройство (em3): связь установлена
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5636] устройство (em3): изменение состояния: unavailable -> disconnected (причина 'none') [20 30 0]
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5657] политика: автоматическая активация соединения 'em3'
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5668] политика: автоматическая активация соединения 'em3'
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5682] устройство (em3): Активация: начало соединения 'em3' (442f********************)
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5683] устройство (em3): отключение соединения 'em3' для новой активации
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5683] устройство (em3): изменение состояния: disconnected -> deactivating (причина 'new-activation') [30 110 60]
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5691] устройство (em4): Активация: начало соединения 'em3' (442f************************)
Mar 15 09:11:02 localhost NetworkManager[1148]: <info> [1552637462.5702] устройство (em3): изменение состояния: deactivating -> disconnected (причина 'new-activation') [110 30 60]
Mar 15 09:11:02 localhost nm-dispatcher: req:2 'down' [em3]: новый запрос (4 скрипта)
Mar 15 09:11:02 localhost nm-dispatcher: req:2 'down' [em3]: начало выполнения упорядоченных скриптов...
Mar 15 09:11:30 localhost NetworkManager[1148]: <info> [1552637490.3692] устройство (em4): отключение соединения 'em3' для новой активации
Mar 15 09:11:30 localhost NetworkManager[1148]: <info> [1552637490.3704] аудит: оп="connection-activate" uuid="442f*********************" name="em3" pid=1484 uid=0 результат="успех"
Mar 15 09:11:30 localhost NetworkManager[1148]: <info> [1552637490.3909] устройство (em4): Активация: начало соединения 'em3' (442f*******************)
Mar 15 09:11:55 localhost network: Активация интерфейса em3: Соединение активировано (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/3)
Во-первых, похоже, что есть взаимодействия между em3 и em4, и ни в какой момент у меня нет ничего такого, что происходило, когда выполнялся systemctl restart network
:
localhost NetworkManager[14060]: <info> [1552637774.4521] устройство (em3): Активация: начало соединения 'em3' (442f**********************)
localhost nm-dispatcher: req:2 'down' [em3]: новый запрос (4 скрипта)
localhost nm-dispatcher: req:2 'down' [em3]: начало выполнения упорядоченных скриптов...
localhost NetworkManager[14060]: <info> [1552637774.4535] устройство (em3): изменение состояния: disconnected -> prepare (причина 'none') [30 40 0]
localhost NetworkManager[14060]: <info> [1552637774.4543] устройство (em3): изменение состояния: prepare -> config (причина 'none') [40 50 0]
localhost NetworkManager[14060]: <info> [1552637774.4779] устройство (em3): изменение состояния: config -> ip-config (причина 'none') [50 70 0]
localhost NetworkManager[14060]: <info> [1552637774.4787] dhcp4 (em3): активация: начало транзакции (таймаут через 45 секунд)
localhost NetworkManager[14060]: <info> [1552637774.4823] dhcp4 (em3): dhclient запущен с pid 14582
Я осознаю, используя cat /proc/net/dev
, что были некоторые сетевые обмены на em4. Я тогда вспомнил, что когда сервер был физически установлен, 2 порта Gb были подключены. Поэтому я отключил интернет-кабель, подключенный к em4, и моя проблема, похоже, теперь решена.
Ответ или решение
Вопрос: Нужно перезапускать сетевую службу после перезагрузки в CentOS 7
Введение
При настройке сервера с четырьмя портами сетевого интерфейса QLogic и DHCP-адресацией может возникнуть ситуация, когда после перезагрузки системы сетевое соединение не устанавливается автоматически. Рассмотрим причины этой проблемы и возможные пути её решения.
Проблема
На вашем сервере имеется интерфейс em3, который должен получать IP-адрес через DHCP. Однако, после перезагрузки системы, сеть активируется не всегда, что приводит к необходимости ручной перезапуска сетевой службы через команду systemctl restart network
.
Анализ сообщений
Согласно выводам systemctl status network
, состояние сетевой службы может колебаться между "активным" и "неактивным". Когда сеть не активируется, вы видите сообщение об ошибке:
Erreur : l'activation de la connexion a échoué : La configuration IP n'a pas pu être réservée (aucun adresse disponible, délai d'expiration, etc.)
Это указывает на проблему с получением IP-адреса от DHCP-сервера. Иногда после перезагрузки интерфейс em3 кажется активированным (Active: active), но сетевое соединение недоступно.
Конфигурация интерфейса
Ваш файл конфигурации для интерфейса em3 выглядит следующим образом:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
...
ONBOOT=yes
Параметр ONBOOT=yes
предполагает, что интерфейс должен активироваться сразу после загрузки системы. Тем не менее, внешние факторы могут влиять на успешность активации.
Возможные причины
-
Конфликт между интерфейсами: Ваша проблема могла быть связана с тем, что интерфейсы em3 и em4 пытались одновременно получить DHCP-адрес. Вы упомянули, что оба порта были подключены, что могло вызывать конфликты.
-
Проблемы с сигналом: Иногда, если физический кабель подключен к порту, который не должен использоваться (например, em4 вместо em3), может происходить задержка или сбой в получении DHCP.
-
Состояние сетевых служб: В зависимости от конфигурации сетевых служб (например, NetworkManager versus legacy сетевые службы) порядок и аутентификация интерфейсов могут варьироваться.
Решение
Исходя из вашего опыта, отсоединение кабеля от em4, который ранее вызывал конфликт, кажется, решило вашу проблему. Для стабилизации работы сети рекомендую следующее:
-
Отсоедините ненужные интерфейсы: Убедитесь, что только один сетевой интерфейс подключен к вашей сети, чтобы избежать путаницы среди DHCP-запросов.
-
Проверьте настройки DHCP: Убедитесь, что DHCP-сервер корректно настроен и предоставляет IP-адреса согласно MAC-адресам ваших интерфейсов.
-
Перепроверьте конфигурацию NetworkManager: Проверьте, используется ли NetworkManager для управления сетевыми интерфейсами и не вызывает ли он конфликтов с другими способами конфигурации сети.
-
Обновите и протестируйте: После внесения всех изменений, перезагрузите сервер и протестируйте доступ к сети. Если проблема повторяется, возможно, стоит дополнительно исследовать лог-файлы (например,
/var/log/messages
) для выявления других возможных причин.
Заключение
Проблемы с сетью в Linux, особенно на серверах с несколькими интерфейсами, могут быть сложными для диагностики из-за взаимодействий различных подсистем. Отключение лишних интерфейсов и корректная настройка DHCP могут радикально улучшить ситуацию. Следите за состоянием сети после каждой перезагрузки и при необходимости вносите дополнительные коррективы в конфигурацию.