96

What is the Linux command to clear IP address of an interface without bringing it down and/or restarting network services. Seems strange ifconfig is able to change IP address but has no option to clear it, or am I wrong?

5
  • 1
    @Andy: I think you misunderstood the question. @jackhab wants to unassign an address from the interface, not set it to 0.0.0.0 -- it's just how it is done with ifconfig. – user1686 Jun 17 '10 at 10:36
  • @grawity Cheers. Unassigning an address is switching the NIC off to all intents and purposes? – Andy Jun 17 '10 at 11:03
  • @Andy: Not necessarily. One could still watch incoming packets. Also, a NIC can have multiple addresses (though it doesn't apply in this case). – user1686 Jun 17 '10 at 21:33
  • See also serverfault.com/questions/407676/… – pevik Jul 17 '17 at 9:02
  • To clear the IPs of all interfaces that are up you can use ip addr flush up – ws6079 May 19 '20 at 9:19
168

Use ip from iproute2. (You need to also specify the prefix length though.)

ip addr del 10.22.30.44/16 dev eth0

To remove all addresses (in case you have multiple):

ip addr flush dev eth0
2
  • Works, but when I do want to a non-dev permanent change, I get an error saying "eth0 is garbage" (lol). i guess i need to manually edit that file, just can't remember the name right now – The Onin Apr 11 '17 at 2:22
  • When setting up a kubernetes cluster I accidently ran a command that created an interface and used an IP address that was being used so I needed to delete that IP address but leave the interface around. This command fixed my problem. I used sudo ip addr del 192.168.0.1/24 dev weave. See unix.stackexchange.com/questions/646326/… – PatS Apr 23 at 2:45
24

As simple as ifconfig eth0 0.0.0.0. They should have put it in the manual.

0
14

To remove all adreses from all interfaces i used for loop:

for i in $(ls /sys/class/net/) ; do
    /usr/sbin/ip addr flush $i &
done
2

Perhaps you are just looking to get a new IP from the [DHCP-enabled] router? In this case call

dhclient eth0

2
  • THAT worked, whereas assigning an IP didn't somehow get the network working. Thank you. – Rich_F Sep 25 '19 at 11:56
  • 1
    The only problem here is that now you coulld have two ips assigned as dhclient just asks for one more IP not checking if one is already there nor deleting the old ips. So delete the unused IP first before you call dhclient – sebisnow Jul 1 '20 at 8:08

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