web-dev-qa-db-ja.com

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

誰が何が間違っているのか考えていますか?多くの人がdhclientをブロックするSELinuxに問題があるように見えましたが、setenforce 0でさえこの問題が発生します。

以前にdhclientを使用してこのコンピューターのインターフェースを手動で立ち上げたので、何が突然変わったのか(そして起動時にインターフェースの自動セットアップを停止するために何が変わったのか)わかりません。

[〜#〜] edit [〜#〜]:ネットワークアダプターは正常で、ip/route/nameserversを手動で設定するとすべてが機能します。

isc-dhcp-clientisc-dhcp-commonを再インストールしても問題は解決せず、libc6を再インストールすることもできませんでした

EDIT2: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.
1
digitalPhonix

問題はAppArmourに関連していたことが判明しました。 apparmor_statusは、プロファイルsbin.dhclientがロードされていたため、実行中:

~$ Sudo ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable/  
~$ Sudo /etc/init.d/apparmor reload  

問題を解決しました。次に、gertvdijkが示唆したように、インターフェイスを表示できます。

(そのプロファイルが表示された理由/時期がわからない-直前に実行したアップグレードと関係があると思われる)

2
digitalPhonix

Dhclientを使用して、このコンピューターのインターフェイスを手動で起動しました

システムによって管理されなくなったため、コマンドラインからDHCP要求を行うことはお勧めできません。代わりに、/etc/network/interfacesインターフェースを構成するには:

auto eth0
iface eth0 inet dhcp

次に、構成を再読み込みします。

Sudo ifup eth0

置換eth0もちろん、システム上のインターフェース名。

詳細については、 インターフェイスのマンページ を参照してください。


確認する

ifconfig -a

起動していないが、システムで使用可能なインターフェースの場合。


[...] Permission denied

これは、dhclientをroot/Sudoとして実行していないためです。コマンドの前にSudoを追加するだけです。

1
gertvdijk