GNU/Linux >> Tutoriales Linux >  >> Linux

7 comandos de red de Linux que todo administrador de sistemas debería conocer

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

Esta serie representa la lista completa, desglosada por categoría. He llamado a estos siete primeros comandos "Comandos de red que todo el mundo debería saber".

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

[ También puede disfrutar: Redes de Linux:13 usos para netstat ]

ip

La ip El comando es uno de los comandos básicos que todo administrador necesitará en el 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. La ip El comando puede mostrar información de direcciones, manipular el enrutamiento y mostrar varios dispositivos, interfaces y túneles de 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 omiten 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
  • regla - regla en la base de datos de políticas de enrutamiento
  • vrf:administre enrutamiento virtual y dispositivos de reenvío
  • xfrm - administrar políticas IPSec

Estos son algunos casos de uso comunes para ip comando.

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

[root@server ~]# ip address show 

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

[root@server ~]# ip address add 192.168.1.254/24 dev enps03

Para eliminar una IP en una interfaz:

[root@server ~]# ip address del 192.168.1.254/24 dev enps03

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

[root@server ~]# ip link set eth0 up

Modifique el estado de la interfaz trayendo la interfaz eth0 fuera de línea:

[root@server ~]# ip link set eth0 down

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

[root@server ~]# ip link set eth0 mtu 9000

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

[root@server ~]# 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 a la que se puede acceder en el dispositivo eth0 :

[root@server ~]# 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 en 192.168.1.254:

[root@server ~]# 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 :

[root@server ~]# ip route add 192.168.1.0/24 dev eth0

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

[root@server ~]# ip route delete 192.168.1.0/24 via 192.168.1.254

Mostrar la ruta tomada para IP 10.10.1.4:

[root@server ~]# 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 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 comandos Al igual que un traceroute , el mtr El comando mostrará la ruta desde una computadora a un host específico. mtr proporciona muchas estadísticas sobre 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, obviamente, hay un enlace defectuoso en alguna parte.

La sintaxis del comando es la siguiente:

mtr nombre de host/IP

Veamos algunos casos de uso comunes.

El mtr básico El comando le muestra las estadísticas, incluidos cada salto (nombres de host) con tiempo y % de pérdida:

[root@server ~]# mtr google.com

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

[root@server ~]# mtr -g google.com

Muestre también las direcciones IP numéricas y los nombres de host:

[root@server ~]# mtr -b google.com

Establezca el número de pings que desea enviar:

[root@server ~]# mtr -c 10 google.com

Obtener un informe del mtr resultado del comando:

[root@server ~]# mtr -r -c 10 google.com > mtr-command-google-output

o:

[root@server ~]# mtr -rw -c 10 google.com > mtr-command-google-output

Forzar el uso de TCP en lugar de ICMP:

[root@server ~]# mtr –tcp google.com

Forzar el uso de UDP en lugar de ICMP:

[root@server ~]# mtr –udp google.com

Establecer la cantidad máxima de saltos:

[root@server ~]# mtr -m 35 216.58.223.78

Defina el tamaño del paquete:

[root@server ~]# mtr -r -s 50 google.com

Imprimir en salida CSV:

[root@server ~]# mtr –csv google.com

Imprimir en salida XML:

[root@server ~]# mtr –xml google.com

tcpdump

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

Puede instalar tcpdump con el siguiente comando:

[root@server ~]# dnf install -y tcpdump

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

[root@server ~]# tcpdump -D

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

Si quieres captar tráfico en eth0 , puede iniciar eso con tcpdump -i eth0 salida de muestra:

[root@server ~]# tcpdump -i eth0
[root@server ~]# tcpdump -i eth0 -c 10

Capturar el tráfico hacia y desde un host

Puede filtrar el tráfico procedente de un host específico. Por ejemplo, para buscar tráfico procedente y dirigido a 8.8.8.8, utilice el comando:

[root@server ~]# tcpdump -i eth0 -c 10 host 8.8.8.8

Para el tráfico procedente de 8.8.8.8, utilice:

[root@server ~]# tcpdump -i eth0 src host 8.8.8.8

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

[root@server ~]# tcpdump -i eth0 dst host 8.8.8.8

Capturar el tráfico hacia y desde una red

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

[root@server ~]# tcpdump -i eth0 net 10.1.0.0 mask 255.255.255.0

o:

[root@server ~]# tcpdump -i eth0 net 10.1.0.0/24

También puede filtrar según el origen o el destino.

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

[root@server ~]# tcpdump -i eth0 src net 10.1.0.0/24

Basado en el destino (tráfico hacia):

[root@server ~]# tcpdump -i eth0 dst net 10.1.0.0/24

Capturar tráfico hacia y desde números de puerto

Captura solo el tráfico del puerto DNS 53:

[root@server ~]# tcpdump -i eth0 port 53

Para un host específico,

[root@server ~]# tcpdump -i eth0 host 8.8.8.8 and port 53

Para capturar solo tráfico HTTPS,

[root@server ~]# tcpdump -i eth0 -c 10 host www.google.com and port 443

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

[root@server ~]# 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 enmascaradas 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.

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

[root@server ~]# dnf install net-tools

El uso principal de netstat no tiene ningún parámetro:

[root@server ~]# netstat

Para uso avanzado, expanda 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:

[root@server ~]# netstat -a

Enumere todos los puertos TCP ejecutando:

[root@server ~]# netstat -at

Enumere todos los puertos UDP con:

[root@server ~]# netstat -au

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

[root@server ~]# netstat -l

Enumere todos los puertos TCP de escucha con:

[root@server ~]# netstat -lt

Devuelva solo los puertos UDP de escucha ejecutando:

[root@server ~]# netstat -lu

Para enumerar los puertos de escucha de UNIX, use:

[root@server ~]# netstat -lx

Mostrar estadísticas para todos los puertos independientemente del protocolo con:

[root@server ~]# netstat -s

Enumere las estadísticas de los puertos TCP solo con:

[root@server ~]# netstat -st

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

[root@server ~]# netstat -tp

Para encontrar un proceso que esté usando un número de puerto en particular, ejecute:

[root@server ~]# netstat -an | grep ‘:<port number>’

nslookup

Usa 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:

[root@server ~]# nslookup example.com

Para comprobar los registros NS de un dominio:

[root@server ~]# nslookup -type=ns example.com

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

[root@server ~]# nslookup -query=mx example.com

Para encontrar todos los registros DNS disponibles de un dominio:

[root@server ~]# 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):

[root@server ~]# nslookup example.com ns1.nsexample.com

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

[root@server ~]# nslookup 10.20.30.40

ping

Ping es una herramienta que verifica la conectividad de nivel IP a otra computadora 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.

ping simple Los comandos toman solo 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:

[root@server ~]# 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

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

  • Min:tiempo mínimo que se tarda en obtener una respuesta del host al que se ha hecho ping desde su extremo.
  • Promedio:tiempo promedio que se tarda en obtener una respuesta del host al que se le ha hecho ping desde su extremo.
  • Máx.:tiempo máximo que se tarda en obtener una respuesta del host al que se ha hecho ping desde su extremo.

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

Normalmente, cuando ejecuta un simple ping comando sin pasar ningún parámetro adicional, Linux ping ese anfitrión por una cantidad infinita de tiempo. Si quieres ping un host diez veces, use el siguiente comando:

[root@server ~]# ping -c 10 google.com

Usa la opción -q para ver solo el ping resumen de estadísticas:

[root@server ~]# ping -c 10 google.com

En sistemas con múltiples interfaces, puede especificar la interfaz para el ping comando a usar. Si el sistema tiene ambos eth0 y eth1 y quiero ping usando el eth0 :

[root@server ~]# ping -I eth0 google.com

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

[root@server ~]# ping -I 10.233.201.45 google.com

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

[root@server ~]# ping -4 google.com
[root@server ~]# ping -6 google.com

Mientras hace ping a un host, encontrará una salida diferente del 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 host local y hasta el host de destino deseado, o un enrutador remoto informa que no tiene una ruta hacia el host de destino.

Solicitud agotada

Este resultado significa que no se recibieron mensajes de respuesta de eco dentro del tiempo predeterminado de un segundo o el tiempo que estableció mientras hace ping a ese host. Esto puede deberse a muchas causas diferentes; los más comunes incluyen congestión de la red, falla de la solicitud ARP, filtrado de paquetes/cortafuegos, 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.

Debe tener un 0 % de pérdida de paquetes por cada ping resultado con una 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.

[ Hoja de referencia gratuita:obtenga una lista de utilidades y comandos de Linux para administrar servidores y redes. ] 

Mirando hacia adelante

Debe agregar estos comandos y ejemplos a sus rutinas a medida que configura y soluciona los problemas de sus propias redes. Si encuentra útil este tipo de artículo, asegúrese de comunicarse con nosotros y háganoslo saber. Además, esté atento a la segunda parte de nuestra lista de comandos de la comunidad. El siguiente son 16 comandos generales de Linux de los que no puede prescindir.


Linux
  1. Temas de sonido en Linux:Lo que todo usuario debe saber

  2. 10 comandos que todo usuario de Linux debe conocer

  3. 3 habilidades que todo administrador de sistemas de Linux debe aportar

  4. 6 opciones de comandos de OpenSSL que todo administrador de sistemas debería conocer

  5. 17 comandos de Linux que todo administrador de sistemas debería conocer

5 comandos de Linux que todo usuario de Linux debe conocer

21 comandos esenciales que todo usuario de Docker debe conocer

5 trucos simples de Bash History que todo usuario de Linux debe saber

Comandos de Linux que todos los usuarios deben conocer {Lista definitiva}

Datos interesantes sobre Linux que debe saber

Los 20 mejores sitios web de juegos Linux que todo jugador debe conocer