7 comandos de red de Linux que todo administrador de sistemas debe conocer

Este artículo es el primero de una serie que se centra en las recomendaciones de pedidos de fuentes múltiples. Le pregunté a un grupo de nuestros principales colaboradores cuáles eran sus comandos favoritos de Linux y los comentarios fueron abrumadores. Recibimos 46 pedidos individuales, y muchos de ellos fueron destacados por múltiples envíos.

Esta serie representa la lista completa, desglosada por categoría. He llamado a estos siete comandos principales "Comandos de red que todos deberían saber".

Nota del editor: Evans Amoany proporcionó información sobre pedidos y ejemplos. Uno de nuestros Sudoers y un talentoso administrador de * nix. Felicitaciones a Evans por hacer el trabajo pesado aquí.

Índice

ip

el ip es uno de los comandos básicos que todo administrador necesitará en su trabajo diario, desde la configuración de nuevos sistemas y la asignación de direcciones IP hasta la resolución de problemas de los sistemas existentes. el ip El comando puede mostrar información de direcciones, manipular el enrutamiento y mostrar varios dispositivos, interfaces y túneles en la red.

La sintaxis es la siguiente:

ip

El OBJETO es la parte más importante de la sinopsis, y se admite lo siguiente (algunos se han omitido por brevedad):

dirección: dirección de protocolo (IPv4 o IPv6) en un dispositivo.

  • túnel - túnel sobre IP
  • ruta - entrada de la tabla de enrutamiento
  • rule - regla en la base de datos de políticas de enrutamiento
  • vrf: administre dispositivos de enrutamiento y reenvío virtuales
  • xfrm - administrar políticas IPSec

Estos son algunos casos de uso comunes para el ip pedido.

Para ver las direcciones IP asignadas a una interfaz en su servidor:

[[email protected] ~]# ip address show 

Para asignar una IP a una interfaz, por ejemplo, enps03:

[[email protected] ~]# ip address add 192.168.1.254/24 dev enps03

Para eliminar una IP en una interfaz:

[[email protected] ~]# ip address del 192.168.1.254/24 dev enps03

Cambiar el estado de la interfaz trayendo la interfaz eth0 en línea:

[[email protected] ~]# ip link set eth0 up

Cambiar el estado de la interfaz trayendo la interfaz eth0 fuera de linea:

[[email protected] ~]# ip link set eth0 down

Cambie el estado de la interfaz cambiando la MTU de eth0:

[[email protected] ~]# ip link set eth0 mtu 9000

Cambie el estado de la interfaz habilitando el modo promiscuo para eth0:

[[email protected] ~]# ip link set eth0 promisc on

Agregue una ruta predeterminada (para todas las direcciones) a través de la puerta de enlace local 192.168.1.254 accesible en el dispositivo eth0:

[[email protected] ~]# ip route add default via 192.168.1.254 dev eth0

Agregue una ruta a 192.168.1.0/24 a través de la puerta de enlace a 192.168.1.254:

[[email protected] ~]# ip route add 192.168.1.0/24 via 192.168.1.254

Agregue una ruta a 192.168.1.0/24 a la que se pueda acceder en el dispositivo eth0:

[[email protected] ~]# ip route add 192.168.1.0/24 dev eth0

Elimine la ruta a 192.168.1.0/24 a través de la puerta de enlace a 192.168.1.254:

[[email protected] ~]# ip route delete 192.168.1.0/24 via 192.168.1.254

Mostrar la ruta tomada para IP 10.10.1.4:

[[email protected] ~]# ip route get 10.10.1.4

ifconfig

el ifconfig El comando era/es un elemento básico en el cinturón de herramientas de muchos administradores de sistemas para configurar y solucionar problemas de redes. Desde entonces ha sido reemplazado por el ip comando discutido anteriormente. Sin embargo, si desea obtener más información al respecto, consulte nuestro artículo publicado anteriormente aquí.

metro

MTR (Matt's traceroute) es un programa con una interfaz de línea de comandos que sirve como herramienta de diagnóstico y solución de problemas de la red. Este comando combina la funcionalidad del ping y traceroute pedidos. como un traceroute, el mtr El comando mostrará la ruta desde un ordenador a un host específico. mtr proporciona muchas estadísticas en cada salto, como el tiempo de respuesta y el porcentaje. Con el mtr comando, obtendrá más información sobre la ruta y podrá ver los dispositivos problemáticos en el camino. Si ve un aumento repentino en el tiempo de respuesta o una pérdida de paquetes, es obvio que hay un enlace defectuoso en alguna parte.

La sintaxis del comando es la siguiente:

metro nombre de host / IP

Veamos algunos casos de uso comunes.

Los conceptos básicos mtr El comando muestra estadísticas que incluyen cada salto (nombres de host) con tiempo y% de pérdida:

[[email protected] ~]# mtr google.com

Mostrar direcciones IP numéricas (si está utilizando -g, obtendrá direcciones IP (números) en lugar de nombres de host):

[[email protected] ~]# mtr -g google.com

También muestra direcciones IP numéricas y nombres de host:

[[email protected] ~]# mtr -b google.com

Defina el número de pings que desea enviar:

[[email protected] ~]# mtr -c 10 google.com

Obtener un informe de mtr resultado del comando:

[[email protected] ~]# mtr -r -c 10 google.com > mtr-command-google-output

Donde:

[[email protected] ~]# mtr -rw -c 10 google.com > mtr-command-google-output

Forzar el uso de TCP en lugar de ICMP:

[[email protected] ~]# mtr –tcp google.com

Forzar el uso de UDP en lugar de ICMP:

[[email protected] ~]# mtr –udp google.com

Establecer el número máximo de saltos:

[[email protected] ~]# mtr -m 35 216.58.223.78

Establecer el tamaño del paquete:

[[email protected] ~]# mtr -r -s 50 google.com

Imprimir a salida CSV:

[[email protected] ~]# mtr –csv google.com

Imprimir en salida XML:

[[email protected] ~]# mtr –xml google.com

volcado tcp

el tcpdump El comando está diseñado para capturar y mostrar paquetes.

puedes instalar tcpdump con el siguiente comando:

[[email protected] ~]# dnf install -y tcpdump

Antes de iniciar cualquier captura, debe saber qué interfaces tcpdump puedo usar. Deberá usar sudo o tener acceso de root en este caso.

[[email protected] ~]# tcpdump -D

  1 eth0
  2 nflog
  3 nfqueue
  4 usbmon1
  5 any
  6 lo (Loopback)

Si desea capturar el tráfico en eth0, puedes ejecutar esto con tcpdump -i eth0 salida de ejemplo:

[[email protected] ~]# tcpdump -i eth0
[[email protected] ~]# tcpdump -i eth0 -c 10

Capture el tráfico hacia y desde un host

Puede filtrar el tráfico procedente de un host específico. Por ejemplo, para encontrar tráfico hacia y desde 8.8.8.8, use el comando:

[[email protected] ~]# tcpdump -i eth0 -c 10 host 8.8.8.8

Para el tráfico de 8.8.8.8 use:

[[email protected] ~]# tcpdump -i eth0 src host 8.8.8.8

Para el tráfico saliente que va a 8.8.8.8, use:

[[email protected] ~]# tcpdump -i eth0 dst host 8.8.8.8

Capture el tráfico hacia y desde una red

También puede capturar el tráfico hacia y desde una red específica usando el siguiente comando:

[[email protected] ~]# tcpdump -i eth0 net 10.1.0.0 mask 255.255.255.0

Donde:

[[email protected] ~]# tcpdump -i eth0 net 10.1.0.0/24

También puedes filtrar por origen o destino.

Basado en la fuente (tráfico proveniente de):

[[email protected] ~]# tcpdump -i eth0 src net 10.1.0.0/24

Según el destino (tráfico hacia):

[[email protected] ~]# tcpdump -i eth0 dst net 10.1.0.0/24

Capture el tráfico hacia y desde los números de puerto

Capture solo el tráfico del puerto DNS 53:

[[email protected] ~]# tcpdump -i eth0 port 53

Para un anfitrión específico,

[[email protected] ~]# tcpdump -i eth0 host 8.8.8.8 and port 53

Para capturar solo tráfico HTTPS,

[[email protected] ~]# tcpdump -i eth0 -c 10 host www.google.com and port 443

Para capturar todos los puertos excepto los puertos 80 y 25,

[[email protected] ~]# tcpdump -i eth0 port not 53 and not 25

netstat

el netstat Herramienta para imprimir conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones de enmascaramiento y membresías de multidifusión. Esta utilidad es parte del paquete net-tool, al igual que ifconfig. En el nuevo paquete iproute2, el ss herramienta se utiliza para lograr los mismos objetivos.

netstat no se encuentra en su sistema, instálelo con este comando:

[[email protected] ~]# dnf install net-tools

El uso principal de netstat es sin ningún parámetro:

[[email protected] ~]# netstat

Para uso avanzado, expanda el netstat comando con opciones:

netstat <options>

O enumere las opciones una por una:

netstat <option 1> <option 2> <option 3>

Para enumerar todos los puertos y conexiones independientemente de su estado o protocolo, utilice:

[[email protected] ~]# netstat -a

Enumere todos los puertos TCP ejecutando:

[[email protected] ~]# netstat -at

Enumere todos los puertos UDP con:

[[email protected] ~]# netstat -au

Para devolver una lista de solo puertos de escucha para todos los protocolos, use:

[[email protected] ~]# netstat -l

Enumere todos los puertos TCP de escucha con:

[[email protected] ~]# netstat -lt

Devuelva solo los puertos UDP de escucha ejecutando:

[[email protected] ~]# netstat -lu

Para enumerar los puertos de escucha de UNIX, utilice:

[[email protected] ~]# netstat -lx

Muestra las estadísticas de todos los puertos independientemente del protocolo con:

[[email protected] ~]# netstat -s

Lista de estadísticas para puertos TCP solo con:

[[email protected] ~]# netstat -st

Para ver las conexiones TCP con el PID/nombre del programa en la lista, utilice:

[[email protected] ~]# netstat -tp

Para encontrar un proceso que use un número de puerto en particular, ejecute:

[[email protected] ~]# netstat -an | grep ‘:<port number>’

nslookup

Utilizar el nslookup utilidad para consultar servidores de nombres de Internet de forma interactiva. Úselo para realizar consultas DNS y recibir nombres de dominio o direcciones IP, o cualquier otro registro DNS específico.

Considere los siguientes ejemplos comunes.

Para encontrar el registro A de un dominio:

[[email protected] ~]# nslookup example.com

Para comprobar los registros NS de un dominio:

[[email protected] ~]# nslookup -type=ns example.com

Para encontrar los registros MX responsables del intercambio de correo electrónico:

[[email protected] ~]# nslookup -query=mx example.com

Para encontrar todos los registros DNS disponibles para un dominio:

[[email protected] ~]# nslookup -type=any example.com

Para verificar el uso de un servidor DNS específico (en este caso, consulta usando el servidor de nombres específico ns1.nsexample.com):

[[email protected] ~]# nslookup example.com ns1.nsexample.com

Verificar los registros DNS A para ver las direcciones IP de un dominio es una práctica común, pero a veces es necesario verificar si una dirección IP está vinculada a un dominio específico. Para esto, necesita una búsqueda de DNS inversa.

[[email protected] ~]# nslookup 10.20.30.40

silbido

Ping es una herramienta que verifica la conectividad de nivel IP a otra ordenador TCP/IP mediante el envío de mensajes de solicitud de eco del Protocolo de mensajes de control de Internet (ICMP). Se muestra la recepción de los mensajes de respuesta de eco correspondientes, junto con los tiempos de ida y vuelta. Ping es el comando TCP/IP principal que se utiliza para solucionar problemas de conectividad, accesibilidad y resolución de nombres.

Sencillo ping los comandos solo toman un parámetro: el nombre de host o la dirección IP del host que desea verificar. Un simple ping ejemplo es como a continuación:

[[email protected] ~]# ping google.com
PING google.com (216.58.206.174) 56(84) bytes of data.
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=1 ttl=56 time=10.7 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=2 ttl=56 time=10.2 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=3 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=4 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=5 ttl=56 time=17.3 ms
^C
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 10.219/11.844/17.381/2.773 ms

Debes detener el ping comando presionando CTRL + C. Por lo demás bien ping hasta que lo detengas. Después de cada ping comando, mostrará un informe resumido con la siguiente información:

  • Min: tiempo mínimo necesario para obtener una respuesta del host al que hizo ping.
  • Promedio: tiempo promedio que se tarda en obtener una respuesta del host al que hizo ping.
  • Máx.: tiempo máximo que se tarda en obtener una respuesta del host al que hizo ping.

Además, verá TTL, que significa Time To Live. Ping usa un valor TTL numérico para intentar llegar a un ordenador host determinada a través de la ruta. Esto también se conoce como el límite de salto.

Normalmente, cuando realiza un simple ping comando sin pasar ningún parámetro adicional, Linux ping esta hostia por un tiempo infinito. Si quieres ping un host diez veces, use el siguiente comando:

[[email protected] ~]# ping -c 10 google.com

Opción de uso -q para mostrar solo el ping resumen de estadisticas:

[[email protected] ~]# ping -c 10 google.com

En sistemas con varias interfaces, puede especificar la interfaz para el ping comando a usar. Si el sistema tiene ambos eth0 y eth1 y yo quiero ping utilizando el eth0:

[[email protected] ~]# ping -I eth0 google.com

O use la dirección en la interfaz, asumiendo que la interfaz es 10.233.201.45 como IP:

[[email protected] ~]# ping -I 10.233.201.45 google.com

Usted puede también ping y especifique la versión de IP como v4 o v6:

[[email protected] ~]# ping -4 google.com
[[email protected] ~]# ping -6 google.com

Al hacer ping a un host, encontrará una salida diferente de la ping resultados, incluidos los siguientes tres ejemplos.

Host de destino inalcanzable

La mejor razón posible es que no hay una ruta desde el sistema del host local al host de destino deseado, o que un enrutador remoto informa que no tiene una ruta hacia el host de destino.

La solicitud ha caducado

Este resultado significa que no se recibió ningún mensaje de respuesta de eco dentro del tiempo de espera predeterminado de un segundo o el tiempo de espera que configuró mientras hace ping a este host. Esto puede deberse a muchas causas diferentes; los más comunes incluyen congestión de red, falla de solicitud ARP, filtrado de paquetes/firewall, etc.

Host desconocido/la solicitud de ping no pudo encontrar el host

Tal vez escribió mal el nombre del host o el host no existe en absoluto en la red.

Debería tener 0% de pérdida de paquetes para cada ping resultado con buena latencia o menor tiempo de respuesta. Dependiendo del medio de transmisión (UTP, cable de fibra óptica, Wi-Fi) que esté utilizando, su latencia será diferente.

Tener ganas de

Debe agregar estos comandos y ejemplos a sus rutinas cuando configure y resuelva los problemas de sus propias redes. Si este tipo de artículo te ha resultado útil, no dudes en ponerte en contacto con nosotros y hacérnoslo saber. También esté atento a la Parte 2 de nuestra lista de Comandos de la comunidad. Lo siguiente se compone de 16 comandos generales de Linux de los que no puede prescindir.

Artículos de interés

Subir