Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

After running apt-get upgrade and restarting an Ubuntu Server install I noticed the computer didn't have a network connection.

I checked 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)

The interface 'em1' was missing :/

So I tried ifconfig em1 up which brought the interface up and then dhclient em1 to get an IP address, but I ran into this error:

~$ 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

Does anyone have any idea what could be wrong? A number of people seemed to have issues with SELinux blocking dhclient, but even with setenforce 0 I get this issue.

I've used dhclient to manually bring up an interface on this computer before so I'm not sure what suddenly changed (and what changed to stop the interfacing auto-setting up on startup).

EDIT: The network adapter is fine and everything works when the ip/route/nameservers are set manually

Reinstalling isc-dhcp-client and isc-dhcp-common didn't help, nor did reinstalling libc6

EDIT2: I tried gertvdijk's suggestions. My /etc/network/interfaces is:

auto lo  
iface lo inet loopback  

allow-hotplug em1  
iface em1 inet dhcp  

I tried sudo ifup em1 but I get the same error :(

~$ 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.
share|improve this question
add comment

2 Answers 2

up vote 1 down vote accepted

Turns out the problem was AppArmour related; apparmor_status showed that a profile sbin.dhclient had been loaded, so running:

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

Solved the problem. I could then bring up the interface as gertvdijk suggested

(No idea why/when that profile appeared - I suspect it might have something to do with the upgrade I ran just before)

share|improve this answer
add comment

I've used dhclient to manually bring up an interface on this computer

It is not advisable to do a DHCP request from the command line as that isn't managed by the system anymore. Instead, configure /etc/network/interfaces to have your interface configured:

auto eth0
iface eth0 inet dhcp

Then reload the configuration:

sudo ifup eth0

Replace eth0 with the interface name on your system of course.

For more information, see the manpage of interfaces.


Check with

ifconfig -a

for interfaces not up, but available on your system.


[...] Permission denied

You got this, because you aren't running dhclient as root/sudo. Just prepend the command with sudo.

share|improve this answer
    
Thanks for your answer :) I tried bringing up em1 the way you suggested, but I get the same problem (even with sudo and sudo su) –  digitalPhonix Jun 21 '13 at 10:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.