I have a Debian system working as a wireless router with eth0 and wlan0. Now I added an additional network manually on eth1 with ifconfig:

alix:~# ifconfig eth1 netmask
alix:~# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface         UG        0 0          0 eth0   U         0 0          0 eth1   U         0 0          0 eth0   U         0 0          0 wlan0
alix:~# ping
PING ( 56(84) bytes of data.
64 bytes from icmp_req=1 ttl=64 time=0.537 ms
64 bytes from icmp_req=2 ttl=64 time=0.199 ms
64 bytes from icmp_req=3 ttl=64 time=0.188 ms
--- ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 0.188/0.308/0.537/0.161 ms

Everything works fine as you can see.

Now I would like to make the configuration permanent. Therefor I added the following section to /etc/network/interfaces:

alix:~# sed -n '/iface eth1/,/^$/p' /etc/network/interfaces
iface eth1 inet static

But when I try to start the network I get the following error:

alix:~# ifconfig eth1 down
alix:~# ifup -v eth1
Configuring interface eth1=eth1 (inet)
run-parts --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/hostapd
ip addr add broadcast     dev eth1 label eth1
RTNETLINK answers: File exists
Failed to bring up eth1.

When I run the ip command manually I get the same error:

alix:~# ip addr add broadcast     dev eth1 label eth1
RTNETLINK answers: File exists

What is wrong with the command? And how can I tell Debian to do the right thing?


Sorry but I got it myself. I had to flush the device before bringing it up:

alix:~# ip addr flush dev eth1

Clearing manually set interface configuration information like this is mentioned in the Ubuntu Server Guide.

| improve this answer | |
  • I still receive a (slightly different) error RTNETLINK answers: No such process Failed to bring up eth1 BUT my Eth1 is correctly assigned now AND is UP/UP. – harperville Sep 10 '15 at 14:11
  • yeah, same problem here: RTNETLINK answers: No such process Failed to bring up eth1 – Drew Feb 21 '17 at 5:50
  • 11
    Even if your answers solves the problem. It would be great if you could tell what it actually does. What is this RTNETLINK file that exists? – humanityANDpeace May 17 '17 at 7:19
  • @ceving: please can you explain twhat is RTNETLINK answers file? Also, after flushing, my network card is not taking a new ip automatically, how to ask dhcp a new ip? – realtebo Aug 14 '18 at 7:58
  • 2
    One caveat is that this clears all scopes, which is not always what you want. (I found that out the hard way) – Semimono Oct 5 '18 at 19:17

Using ip addr flush will work, but it will also clear any and all addresses set on that interface - possibly including the one that you are using, if you're logged in to a remote machine. This may lock you out of your device.

RNETLINK answers: File exists happens when you're trying to add a rule that conflicts with an existing rule. I would guess that OP was encountering this because they had already set the address with ifconfig. This error can usually be resolved by converting the add command to a similarly structured change or replace command.

It's much safer to use ip addr change or ip addr replace instead.

| improve this answer | |
  • 1
    This is no option for someone using just ifup and ifdown, because the command is hard wired in those scripts. – ceving Jul 31 at 14:14

I had a similar problem that by the time I had played the 10,000 moneys scene was exactly this, and I had been trying to add the missing stuff to /e/n/i.d/etho

But studying the man page for interfaces, I noted that ALL of the set of examples had only 2 lines of real data, the ipv4 address/24, and a gateway line specifying the address of my router. So I stripped my eth0 file down to that, and rebooted, and worked perfectly.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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