Проблемы с запуском dhclient
После запуска apt-get upgrade
и перезапустив установку Ubuntu Server, я заметил, что у компьютера нет сетевого подключения.
Я проверил ifconfig
~$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:7376 errors:0 dropped:0 overruns:0 frame:0
TX packets:7376 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1424 (1.4 KB) TX bytes:1424 (1.4 KB)
Интерфейс 'em1' отсутствовал:/
Так я попробовал ifconfig em1 up
который поднял интерфейс, а затем dhclient em1
получить IP-адрес, но я столкнулся с этой ошибкой:
~$ dhclient em1
dhclient: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Permission denied
~$ dhclient
dhclient: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Permission denied
У кого-нибудь есть идеи, что может быть не так? У некоторых людей, похоже, были проблемы с блокировкой SELinux dhclient, но даже с setenforce 0
Я понял эту проблему.
Я использовал dhclient для ручного запуска интерфейса на этом компьютере, поэтому я не уверен, что внезапно изменилось (и что изменилось, чтобы остановить автоматическую настройку интерфейса при запуске).
РЕДАКТИРОВАТЬ: сетевой адаптер в порядке, и все работает, когда ip / route / nameservers установлены вручную
Переустановка isc-dhcp-client
а также isc-dhcp-common
не помогло, и не сделал переустановку libc6
РЕДАКТИРОВАТЬ 2: Я попробовал предложения Gertvdijk. мой /etc/network/interfaces
является:
auto lo
iface lo inet loopback
allow-hotplug em1
iface em1 inet dhcp
Я старался sudo ifup em1
но я получаю ту же ошибку:(
~$ sudo ifup em1
dhclient: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Permission denied
Failed to bring up em1.
2 ответа
Оказывается, проблема была связана с AppArmour; apparmor_status
показал что профиль sbin.dhclient
был загружен, так работает:
~$ sudo ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable/
~$ sudo /etc/init.d/apparmor reload
Решил проблему. Я мог бы тогда вызвать интерфейс, как предложил gertvdijk
(Понятия не имею, почему / когда появился этот профиль - я подозреваю, что он может иметь какое-то отношение к обновлению, которое я выполнил раньше)
Я использовал dhclient, чтобы вручную вызвать интерфейс на этом компьютере
Не рекомендуется делать запрос DHCP из командной строки, так как он больше не управляется системой. Вместо этого настройте /etc/network/interfaces
чтобы ваш интерфейс был настроен:
auto eth0
iface eth0 inet dhcp
Затем перезагрузите конфигурацию:
sudo ifup eth0
замещать eth0
с именем интерфейса в вашей системе, конечно.
Для получения дополнительной информации см. Справочную страницу интерфейсов.
Проверить с
ifconfig -a
для интерфейсов не вверх, но доступно в вашей системе.
[...] Permission denied
Вы получили это, потому что вы не бежите dhclient
как root/sudo. Просто добавьте команду с sudo
,