Comment puis-je effacer l'adresse IP de l'interface Ethernet sans basculer l'interface vers le haut ou le bas ni la redémarrer

78

Quelle est la commande Linux pour effacer l’adresse IP d’une interface sans la supprimer et / ou redémarrer les services réseau. Cela semble étrange si ifconfig est capable de changer d'adresse IP mais n'a pas la possibilité de l'effacer, ou est-ce que je me trompe?

jackhab
la source
1
@Andy: Je pense que vous avez mal compris la question. @jackhab veut annuler l'attribution d'une adresse à l'interface, pas la définir 0.0.0.0- c'est comme ça que ça se passe ifconfig.
Grawity
@grawity Cheers. Annuler l'attribution d'une adresse, c'est éteindre la carte réseau à toutes fins pratiques?
Andy
@Andy: Pas nécessairement. On pouvait toujours regarder les paquets entrants. En outre, une carte réseau peut avoir plusieurs adresses (bien que cela ne s'applique pas dans ce cas).
Grawity

Réponses:

134

Utiliser ipdepuis iproute2. (Vous devez également spécifier la longueur du préfixe.)

ip addr del 10.22.30.44/16 dev eth0

Pour supprimer toutes les adresses (si vous en avez plusieurs):

ip addr flush dev eth0
Grawity
la source
Fonctionne, mais lorsque je souhaite un changement permanent non-dev, un message d'erreur «eth0 is garbage» (lol) s'affiche. Je suppose que j'ai besoin de modifier manuellement ce fichier, mais je ne me souviens plus du nom pour le moment.
Housemd
24

Aussi simple que ifconfig eth0 0.0.0.0. Ils auraient dû le mettre dans le manuel.

jackhab
la source
9

Pour supprimer toutes les adresses de toutes les interfaces utilisées pour la boucle:

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

Peut-être cherchez-vous simplement à obtenir une nouvelle adresse IP du routeur [compatible DHCP]? Dans ce cas, appelez

dhclient eth0

CodyBugstein
la source
CELA a fonctionné, alors qu'attribuer une adresse IP n'a pas réussi à faire fonctionner le réseau. Je vous remercie.
Rich_F