Durante mucho tiempo, el ifconfig
El comando era el método predeterminado para configurar una interfaz de red. Sirvió bien a los usuarios de Linux, pero la red es compleja y los comandos para configurarla deben ser sólidos. La ip
command es el nuevo comando de red predeterminado para los sistemas modernos y, en este artículo, le mostraré cómo usarlo.
La ip
El comando está funcionalmente organizado en dos capas de la pila de redes OSI:Capa 2 (capa de enlace de datos) y Capa 3 (capa de red o IP). Hace todo el trabajo en las antiguas net-tools
paquete.
Instalando ip
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
La ip
El comando está incluido en el iproute2util
paquete. Probablemente ya esté incluido en su distribución de Linux. Si no es así, puede instalarlo desde el repositorio de software de su distribución.
Comparación de ipconfig y uso de ip
La ip
y ipconfic
Los comandos se pueden usar para configurar una interfaz de red, pero hacen las cosas de manera diferente. Compararé cómo hacer tareas comunes con el antiguo (ipconfig
) y nuevo (ip
) comandos.
Ver interfaz de red y dirección IP
Si desea ver la dirección IP de un host o ver la información de la interfaz de red, el antiguo ifconfig
comando, sin argumentos, proporciona un buen resumen:
$ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether bc:ee:7b:5e:7d:d8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 41 bytes 5551 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 41 bytes 5551 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.1.6 netmask 255.255.255.224 broadcast 10.1.1.31
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212 prefixlen 64 scopeid 0x0<global>
inet6 fe80::8eb3:4bc0:7cbb:59e8 prefixlen 64 scopeid 0x20<link>
ether 08:71:90:81:1e:b5 txqueuelen 1000 (Ethernet)
RX packets 569459 bytes 779147444 (743.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 302882 bytes 38131213 (36.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
La nueva ip
El comando proporciona resultados similares, pero el comando es ip address show
, o simplemente ip a
para abreviar:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether bc:ee:7b:5e:7d:d8 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 08:71:90:81:1e:b5 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.6/27 brd 10.1.1.31 scope global dynamic wlan0
valid_lft 83490sec preferred_lft 83490sec
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212/64 scope global noprefixroute dynamic
valid_lft 6909sec preferred_lft 3309sec
inet6 fe80::8eb3:4bc0:7cbb:59e8/64 scope link
valid_lft forever preferred_lft forever
Añadir dirección IP
Para agregar una dirección IP a una interfaz con ifconfig
, el comando es:
$ ifconfig eth0 add 192.9.203.21
El comando es similar para ip
:
$ ip addr add 192.9.203.21 dev eth0
Subcomandos en ip
se puede acortar, por lo que este comando es igualmente válido:
$ ip addr add 192.9.203.21 dev eth0
Puedes hacerlo aún más corto:
$ ip a add 192.9.203.21 dev eth0
Eliminar una dirección IP
Lo contrario de agregar una dirección IP es eliminar una.
Con ifconfig
, la sintaxis es:
$ ifconfig eth0 del 192.9.203.21
La ip
la sintaxis del comando es:
$ ip a del 192.9.203.21 dev eth0
Habilitar o deshabilitar multidifusión
Habilitar (o deshabilitar) la multidifusión en una interfaz con ifconfig
sucede con el multicast
argumento:
# ifconfig eth0 multicast
Con ip
, usa el set
subcomando con el dispositivo (dev
) y un booleano o alternar multicast
opción:
# ip link set dev eth0 multicast on
Habilitar o deshabilitar una red
Todos los administradores de sistemas están familiarizados con el viejo truco de "apagarlo y volverlo a encender" para solucionar un problema. En términos de interfaces de red, eso se traduce en activar o desactivar una red.
El ifconfig
comando hace esto con el up
o down
palabras clave:
# ifconfig eth0 up
O podría usar un comando dedicado:
# ifup eth0
La ip
El comando usa el set
subcomando para establecer la interfaz en un up
o down
estado:
# ip link set eth0 up
Habilitar o deshabilitar el Protocolo de resolución de direcciones (ARP)
Con ifconfig
, habilita ARP declarándolo:
# ifconfig eth0 arp
Con ip
, tú estableces el arp
propiedad como on
o off
:
# ip link set dev eth0 arp on
Pros y contras de ip e ipconfig
La ip
El comando es más versátil y técnicamente más eficiente que ifconfig
porque usa Netlink
enchufes en lugar de ioctl
llamadas al sistema.
La ip
el comando puede parecer más detallado y complejo que ifconfig
, pero esa es una de las razones por las que es más versátil. Una vez que comience a usarlo, tendrá una idea de su lógica interna (por ejemplo, usando set
en lugar de una mezcla aparentemente arbitraria de declaraciones o configuraciones).
En última instancia, ifconfig
está desactualizado (por ejemplo, carece de soporte completo para espacios de nombres de red) y ip
está diseñado para la red moderna. Pruébalo, apréndelo, úsalo. ¡Te alegrarás de haberlo hecho!