Cuando necesito crear un puente temporal con interfaz en Linux, usaría lo siguiente:
brctl addbr br0
brctl addif br0 eth0
ifconfig eth0 0.0.0.0
ifconfig br0 192.168.10.100 netmask 255.255.255.0
ifconfig br0 up
He estado actualizando mi proceso para usar elIPcomando, sin embargo, no encuentro el equivalente para eliminar la pila de IP (ifconfig eth0 0.0.0.0) mediante el ip
comando
He probado lo siguiente:
ip addr add 0.0.0.0 dev eth0
ip addr add 0.0.0.0/24 dev eth0
pero no funciona para eliminar lo existente ip
en ese dispositivo.
¿Alguien sabe si esto es posible con el ip
comando?
Respuesta1
En Linux, el ifconfig
comando antiguo y su antigua API del kernel de Linux se limitan aunoDirección IPv4 por interfaz (y, por lo tanto, los alias de interfaz, que en realidad son direcciones adicionales en lugar de interfaces, se utilizan para solucionar esta limitación). Esto explica por qué eliminareldirección IPv4, el método eracolocara (realmente no agregar) 0.0.0.0.
Coniproute2herramientas, si desea eliminarcualquierdirección desde una interfaz (siempre es una buena idea para un puerto puente) sin importar qué direcciones hay, puede usar ip address flush
, que es un comando de eliminación masiva:
ip address flush
- direcciones de protocolo de descargaEste comando vacía las direcciones de protocolo seleccionadas según algunos criterios.
[...]
Advertencia: este comando y otros comandos de descarga son implacables. Purgarán cruelmente todas las direcciones.
[...]
Entonces al final puedes usar:
ip address flush dev eth0
(podría agregar -4
para limitar el efecto a IPv4).
Hay otros usos. Por ejemplo este comando:
ip address flush to 10.1.0.0/16
eliminaría de cualquier interfaz cualquier dirección que coincida con el bloque 10.1.0.0/16cualquiera que sea su máscara de red.
# ip -s -s address flush to 10.1.0.0/16
2: lxcbr0 inet 10.1.3.1/24 brd 10.1.3.255 scope global lxcbr0
valid_lft forever preferred_lft forever
158: eth0 inet 10.1.1.1/8 scope global eth0
valid_lft forever preferred_lft forever
*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***
Respuesta2
no puedesborraruna dirección IP con el add
comando!
Si desea eliminar una dirección IP de una interfaz, hágalo del
.
ip addr del 203.0.113.187 dev eth0