#Симптом и границы применимости
После обновления Arch Linux сетевой интерфейс получил другое имя (например, enp3s0 вместо enp2s0), и старая конфигурация больше не применяется. Современные имена назначаются udev/systemd по сведениям об оборудовании и могут изменяться после изменения PCIe-структуры или правил .link.
#Возможные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Поменялась топология оборудованияFirmware или установка PCIe-устройства изменили путь до адаптера. | ip link показывает другое имя с тем же MAC и драйвером. | Обновить нужную конфигурацию на новое имя или использовать устойчивое сопоставление. |
| Изменилось правило именованияЛокальный .link либо обновлённый udev применяет другую политику. | udevadm выводит другой ID_NET_NAME_*; найден свой .link. | Сравнить правила и исключить конфликт. |
| Профиль менеджера привязан к старому имениNetworkManager/systemd-networkd ищет прежний интерфейс. | IP не назначается, профиль с interface-name старый. | Изменить именно профиль, не выключая сеть удалённо. |
#Подробная диагностика и безопасные действия
- 1. Запишите интерфейсы, не отключая ихОткройте локальный терминал или резервную консоль. Не выполняйте ip link set down по SSH: это может прервать единственное подключение. Найдите актуальные имена, MAC и маршруты, чтобы идентифицировать адаптер без угадывания.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
ip -br linkip -br addressip route
- 2. Сопоставьте MAC и оборудованиеПросмотрите адрес и драйвер актуального интерфейса. Замените ИНТЕРФЕЙС на имя из ip link. Для виртуальных машин MAC может задаваться гипервизором, поэтому дополнительно учитывайте PCI-адрес и тип устройства.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
cat /sys/class/net/ИНТЕРФЕЙС/addressreadlink -f /sys/class/net/ИНТЕРФЕЙС/deviceudevadm info --query=property --path=/sys/class/net/ИНТЕРФЕЙС
- 3. Проверьте причину выбранного имениsystemd/udev рассчитывает предсказуемые имена из политик .link. Прочитайте параметры, но не переключайте сетевой интерфейс во время удалённой сессии. Если команда test-builtin требует привилегий, используйте sudo только для диагностики.
- Диагностика, не переименовывает интерфейс; вывод может содержать подробные события udevLinux · Терминал (Bash)КомандаНужен sudoДиагностика, не переименовывает интерфейс; вывод может содержать подробные события udev.
sudo udevadm test-builtin net_setup_link /sys/class/net/ИНТЕРФЕЙС 2>&1 | tail -n 60
- 4. Найдите управляющий сетевой менеджерУзнайте, какой сервис активен, и найдите профиль, использующий прежнее имя. Одновременно запускать несколько независимых менеджеров для одного интерфейса нельзя. Сначала определите, кому принадлежит соединение.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
systemctl is-active NetworkManager systemd-networkdnmcli device statusnetworkctl status ИНТЕРФЕЙС
- 5. Проверьте совпадение настроек с актуальным именемДля NetworkManager выведите соединения и свойства connection.interface-name; для systemd-networkd просмотрите /etc/systemd/network/*.network. Если профиль ограничен по старому имени, он не будет применять адреса к новому устройству.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
nmcli -f GENERAL.CONNECTION,GENERAL.DEVICE device show ИНТЕРФЕЙСnmcli -f connection.id,connection.interface-name connection showls /etc/systemd/network/
- 6. Исправьте только выбранный профиль с резервным доступомПосле резервной копии профиля и подтверждения MAC обновите имя устройства в нужном файле .network либо через nmcli, учитывая вашу схему. По SSH без IPMI/локальной консоли не выполняйте переподключение; изменение активного соединения грозит потерей доступа.Linux · Терминал (Bash)КомандаТолько чтение. Сами команды изменения зависят от профиля и менеджера, поэтому не приводится слепой универсальный перезапуск.
nmcli connection show "ИМЯ_ПРОФИЛЯ"networkctl list
- 7. Проверьте сеть после планового примененияПосле изменения, выполненного с локальной консоли или с возможностью отката, проверьте адрес, шлюз и DNS. Убедитесь, что имя устойчиво после следующей загрузки и сервисы привязаны к нужному интерфейсу.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
ip -br addressip routegetent hosts archlinux.org
#Как понять, что проблема устранена
Повторите исходное действие, из-за которого возникла неисправность, и сверяйте не только код завершения команды, но и прикладной результат. Сохраните вывод последней диагностической команды и записи журнала до и после исправления. Если ошибка повторяется, верните только изменённую настройку из резервной копии и передайте специалисту точный симптом, имя программы/службы, версию системы и необходимые фрагменты журнала без паролей и закрытых ключей.
#Что делать, если не помогло
Не применяйте случайные советы для другого дистрибутива: в Arch Linux особенно опасны частичные обновления пакетов, а в Rocky Linux — отключение SELinux или неконтролируемый перезапуск системных служб. Остановитесь после неуспешного безопасного шага, зафиксируйте фактическое сообщение и вернитесь к соответствующей причине. Для загрузки, разделов диска и единственного удалённого подключения используйте резервную копию и локальную консоль.