Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have a problem very similar to getting error "SIOCADDRT: File exists" when trying to restart network on ubuntu, but it is not a duplicate for reasons explained below. My /etc/network/interfaces looks like this (specific details obfuscated):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address x.y.z.81
        network x.y.z.60
        broadcast x.y.z.91
        gateway x.y.z.61

up ip addr add x.y.z.82 dev eth0 label eth0:0
down ip addr del x.y.z.82/32 dev eth0

But when I run /etc/init.d/networking restart I get this output:

 * Reconfiguring network interfaces...
SIOCADDRT: File exists
Failed to bring up eth0.

Unlike with the question I linked above, this happens every single time I try, whether I've made changes or not (the answer I linked said, "If you are changing the network configuration, it is normal to get such type of errors when restarting the network" -- but I'm not changing network configuration here).

When the network originally started it worked. Here's the output of ifconfig.

eth0      Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          inet addr:x.y.z.81  Bcast:x.y.z.91  Mask:

eth0:0    Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff
          inet addr:x.y.z.82  Bcast:  Mask:

lo        Link encap:Local Loopback  
          inet addr:  Mask:


It seems to be the "ifup" part of the restart that is emitting this error. If I manually run echo ifdown; sudo ifdown -a --exclude=lo; echo ifup; sudo ifup -a --exclude=lo I get this output:

SIOCADDRT: File exists
Failed to bring up eth0.

It almost seems like the ifdown command is having no effect.

In addition, it doesn't seem to be just a warning that lets it work in the background. If I add these directives to the interfaces file:

up ip addr add x.y.z.83 dev eth0 label eth0:1
down ip addr del x.y.z.83/32 dev eth0

And then try restarting, it spits out that error (again, every time, not just after I make the change) and also doesn't add eth0:1 (ifconfig output doesn't change). But if I manually run the ip addr add command above, it works fine, adding the ip with label eth0:1.

If it matters, I'm running Ubuntu 10.10.

Let me know if there's any more use information I can provide.

share|improve this question
SIOCADDRT: File exists often means you are trying to add the same IP address or route to more than one interface "it already exists else where". When you run /etc/init.d/networking restart are the same details being set else where, so ifup/ifdown scripts for example? –  jwbensley Apr 8 '13 at 20:26
@javano, is there any way to test this? As far as I know, in Ubuntu, the /etc/network/interfaces file specifies everything that happens on ifup and ifdown, and what I put in the question is the full interfaces file. I know redhat and some other linuxes have a sysconfig directory for additional networking scripts, but I don't think Ubuntu has that. –  Ben Lee Apr 8 '13 at 20:35
Check in the various directories in /etc/network; if-down.d, if-post-down.d, if-pre-up.d, if-up.d. You could check in those. –  jwbensley Apr 8 '13 at 20:41
@javano, thanks I didn't know about those. Unfortunately, none of them seem to be the problem. There are a few scripts for various services, but none of them modify the interface or mess with ip addresses or routes -- they seem to just be netowrk-dependent services that need to to do something when the network starts or stops (ntpdate, sshd, etc...) –  Ben Lee Apr 8 '13 at 20:49
There is also an "upstart" script for both up and down, but I'm not using upstart here, I'm using the init.d script. Besides, both upstart scripts seem to be there, one running net-device-up and one running net-device-down. So anything that gets set should get unset first, so I don't think that would be the problem even if I were using these scripts. –  Ben Lee Apr 8 '13 at 20:50

Your Answer


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

Browse other questions tagged or ask your own question.