GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué necesita eliminar ifconfig para ip?

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!


Linux
  1. Por qué mi necesidad de control me hizo cambiar a Linux

  2. 6 opciones para tcpdump que necesitas saber

  3. ¿Necesita el 'incorporado' incorporado?

  4. ¿Por qué necesitamos el archivo .so.1 en Linux?

  5. ¿Necesito escribir páginas man para la biblioteca C?

3 terminales Linux que debes probar

24 escritorios Linux que debes probar

Tutorial del comando ifconfig de Linux para principiantes (7 ejemplos)

11 razones por las que deberías cambiarte a Linux

¿Necesita Java? Entonces puedes instalarlo Java en Linux

¿Por qué necesitamos estar rooteados en la terminal para apagar y reiniciar?