Вопрос или проблема
Обзор и окружение
Недавно я настроил новую виртуальную машину VirtualBox и столкнулся с некоторым странным поведением сети. Машина работает на Ubuntu 22.04, и после установки дополнений для гостевых систем VirtualBox я не смог подключиться к интернету. Интерфейс, подключенный к интернету (enp0s3), настроен на использование мостового адаптера, связанного с беспроводным интерфейсом на хост-машине.
Этапы диагностики
Сначала я проверил журналы Network Manager, чтобы увидеть, что происходит, и заметил, что enp0s3 не может подключиться.
Активация: начало соединения 'Проводное соединение 1' (adea0206-d268-302b-b1d3-6f12a938a5db)
устройство (enp0s3): изменение состояния: отключено -> подготовка (причина 'нет', sys-iface-state: 'управляется')
устройство (enp0s3): изменение состояния: подготовка -> конфигурация (причина 'нет', sys-iface-state: 'управляется')
устройство (enp0s3): изменение состояния: конфигурация -> ip-конфигурация (причина 'нет', sys-iface-state: 'управляется')
dhcp4 (enp0s3): активация: начало транзакции (тайм-аут через 45 секунд)
устройство (enp0s3): изменение состояния: ip-конфигурация -> не удалось (причина 'ip-конфигурация-недоступна', sys-iface-state: 'управляется')
Затем я использовал Wireshark, чтобы посмотреть DHCP пакеты и заметил, что ВМ отправляла пакет обнаружения, мой домашний роутер (192.168.1.1) отправлял пакет предложения, ВМ отвечала пакетом запроса, а роутер отвечал пакетом подтверждения. Это показало мне, что с самой транзакцией DHCP проблем не было.
Я попытался повторно применить конфигурацию netplan и перезагрузить систему, но ни одно из этих решений не сработало.
Решение
После небольшого расследования я выяснил, что иногда конфигурация NetworkManager может быть повреждена. К сожалению, я не сохранил поврежденный файл, чтобы узнать, что именно пошло не так. Файл конфигурации находится по адресу /etc/NetworkManager/NetworkManager.conf
. Я просто удалил этот файл и перезапустил NetworkManager, и всё снова заработало.
Выполненные команды
sudo rm /etc/NetworkManager/NetworkManager.conf
sudo systemctl restart NetworkManager
Примечание: лучшая альтернатива удалению файла конфигурации – это переместить его в другое место. sudo mv /etc/NetworkManager/NetworkManager.conf ~/NetworkManager.conf.bac
Вывод успешного соединения
dhcp4 (enp0s3): активация: начало транзакции (тайм-аут через 45 секунд)
устройство (enp0s3): изменение состояния: ip-конфигурация -> проверка ip (причина 'нет', sys-iface-state: 'предположить')
устройство (enp0s3): изменение состояния: проверка ip -> вторичные (причина 'нет', sys-iface-state: 'предположить')
устройство (enp0s3): изменение состояния: вторичные -> активированы (причина 'нет', sys-iface-state: 'предположить')
устройство (enp0s3): Активация: успешно, устройство активировано.
Я также столкнулся с аналогичной проблемой, и вот как я её решил: отредактируйте файл /etc/sysconfig/network-scripts/ifcfg-enp0s3 и измените BOOTPROTO=dhcp на BOOTPROTO=static.
Ответ или решение
Ошибка ip-config-unavailable DHCP в NetworkManager
Обзор и окружение
Недавно я настроил новую виртуальную машину в VirtualBox и столкнулся с некоторыми странными сетевыми проблемами. Машина работает под управлением Ubuntu 22.04, и после установки дополнений гостя VirtualBox у меня возникли проблемы с доступом в интернет. Интерфейс, отвечающий за подключение к интернету (enp0s3), настроен на использование соединения через Bridged Adapter с моей беспроводной сетью на хост-машине.
Шаги по диагностике
Первое, что я сделал — это проверил журналы Network Manager, чтобы выяснить, что происходит. Я заметил, что интерфейс enp0s3 не смог подключиться:
Activation: starting connection 'Wired connection 1' (adea0206-d268-302b-b1d3-6f12a938a5db)
device (enp0s3): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
device (enp0s3): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
device (enp0s3): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
dhcp4 (enp0s3): activation: beginning transaction (timeout in 45 seconds)
device (enp0s3): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
Я также использовал Wireshark для анализа пакетов DHCP и заметил, что виртуальная машина отправляла пакет Discover, маршрутизатор (192.168.1.1) отправлял пакет Offer, ВМ отправляла пакет Request, и маршрутизатор отвечал пакетом Acknowledgment. Это подтвердило, что с самим процессом DHCP нет проблем.
Я пытался переименовать конфигурацию netplan и перезагрузить систему, но ничего из этого не помогло.
Решение
После некоторого расследования я узнал, что конфигурация NetworkManager может иногда повреждаться. К сожалению, мне не удалось сохранить поврежденный файл, чтобы увидеть, что именно пошло не так. Конфигурационный файл расположен по адресу /etc/NetworkManager/NetworkManager.conf
. Я просто удалил этот файл и перезапустил NetworkManager, и все вновь заработало.
Выполненные команды
sudo rm /etc/NetworkManager/NetworkManager.conf
sudo systemctl restart NetworkManager
Примечание: лучшей альтернативой удалению конфигурационного файла будет его перемещение в другое место. Например, командой sudo mv /etc/NetworkManager/NetworkManager.conf ~/NetworkManager.conf.bac
.
Вывод успешного подключения
dhcp4 (enp0s3): activation: beginning transaction (timeout in 45 seconds)
device (enp0s3): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'assume')
device (enp0s3): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'assume')
device (enp0s3): state change: secondaries -> activated (reason 'none', sys-iface-state: 'assume')
device (enp0s3): Activation: successful, device activated.
Альтернативное решение
Также поступал аналогично, когда столкнулся с подобной проблемой. Я открыл файл конфигурации сети по адресу /etc/sysconfig/network-scripts/ifcfg-enp0s3
и изменил параметр BOOTPROTO
с dhcp
на static
.
Заключение
Надеюсь, эти действия помогут вам справиться с проблемой "ip-config-unavailable" в NetworkManager. Если это не решает вашу проблему, возможно, стоит проверить физическое подключение, настройки маршрутизатора или обновления системы и драйверов.