Es difícil encontrar un equipo Linux que no esté conectado a la red , ya sea servidor o estación de trabajo. De vez en cuando se hace necesario diagnosticar fallas, intermitencia o lentitud en la red. En este artículo, revisaremos algunos de los comandos de Linux más utilizados para el diagnóstico de redes.
Diagnostique la red en Linux con estos comandos
1. hacer ping
Uno de los primeros comandos, si no el primero, a la hora de diagnosticar un fallo o una intermitencia en la red. La herramienta de ping nos ayudará a determinar si existe una conexión en la red, ya sea local o Internet.
[root @ horla] # ping www.linuxandubuntu.com PING www.linuxandubuntu.com (173.274.34.38) 56 (84) bytes of data. 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 1 ttl = 59 time = 2.52 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 2 ttl = 59 time = 2.26 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 3 ttl = 59 time = 2.31 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 4 ttl = 59 time = 2.36 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 5 ttl = 59 time = 2.33 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 6 ttl = 59 time = 2.24 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 7 ttl = 59 time = 2.35 ms
2. trazar ruta
Este comando nos permite ver los saltos que se necesitan para llegar a un destino. En este caso, vemos los saltos que se requieren para llegar a nuestro sitio web. Esta prueba se realizó desde una laptop con Linux. En el ejemplo, trazamos una ruta a nuestro sitio web, www.linuxandubuntu.com.
horla @ horla-ProBook: ~ $ traceroute www.linuxandubuntu.com traceroute to www.linuxandubuntu.com (173.274.34.38), 30 hops max, 60 byte packets 1 linuxandubuntu.com (192.168.1.1) 267,686 ms 267,656 ms 267,616 ms 2 10.104.0.1 (10.104.0.1) 267.630 ms 267.579 ms 267.553 ms 3 10,226,252,209 (10,226,252,209) 267,459 ms 267,426 ms 267,396 ms 4 * * * 5 10,111.2,137 (10,111.2,137) 266,913 ms 10,111.2,141 (10,111.2,141) 266,784 ms 10,111.2,101 (10,111.2,101) 266,678 ms 6 5.53.0.149 (5.53.0.149) 266.594 ms 104.340 ms 104.273 ms 7 5.53.3.155 (5.53.3.155) 135.133 ms 94.142.98.147 (94.142.98.147) 135.055 ms 176.52.255.35 (176.52.255.35) 135.069 ms 8 94,142,127,229 (94,142,127,229) 197,890 ms 5.53.6.49 (5.53.6.49) 197,850 ms 94,142,126,161 (94,142,126,161) 223,327 ms 9 ae-11.r07.nycmny01.us.bb.gin.ntt.net (129.250.9.1) 197.702 ms 197.715 ms 180.145 ms 10 * * * 11 csc180.gsc.webair.net (173.239.0.26) 179.719 ms 149.475 ms 149.383 ms 12 dsn010.gsc.webair.net (173.239.0.34) 149.288 ms 168.309 ms 168.202 ms 13 r4-nyc.webserversystems.com (173.274.34.38) 168.086 ms 168.105 ms 142.733 ms horla @ horla-ProBook: ~ $
3. ruta
Este comando nos permite ver la ruta que utiliza nuestro equipo Linux para conectarse a la red, en este caso. Nuestro equipo sale por el router 192.168.1.1.
horla @ horla-ProBook: ~ $ route -n Core IP route table Destination Gateway Genmask Indic Metric Ref Use Interface 0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlo1 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlo1 192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlo1 horla @ horla-ProBook: ~ $
4. cavar
Este comando nos permite verificar si el DNS está funcionando correctamente, antes de eso, debemos verificar qué DNS tenemos en la configuración de la red. En este ejemplo, queremos ver la dirección IP de nuestro sitio web, www.linuxandubuntu.com, que nos devuelve 173.274.34.38.
horla-ProBook: ~ $ dig www.linuxandubuntu.com ; << >> DiG 9.10.3-P4-Ubuntu << >> www.linuxandubuntu.com ;; global options: + cmd ;; Got answer: ;; - >> HEADER << - opcode: QUERY, status: NOERROR, id: 12083 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION:; www.linuxandubuntu.com. IN A ;; ANSWER SECTION: www.linuxandubuntu.com. 2821 IN A 173.274.34.38 ;; Query time: 21 msec ;; SERVER: 127.0.1.1 # 53 (127.0.1.1) ;; WHEN: Wed Nov 7 19:58:30 PET 2018 ;; MSG SIZE rcvd: 51 horla @ horla-ProBook: ~ $
5. ethtool
Esta herramienta reemplaza a mii-tool. Viene de CentOS6 en adelante y permite ver si la tarjeta de red está conectada físicamente a la red, es decir. Podemos diagnosticar si el cable de red está realmente conectado al conmutador.
# ethtool eth0 Settings for eth0: Supported ports: [] Supported link modes: Not reported Supported pause frame use: No Supports auto-negotiation: No Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Speed: Unknown! Duplex: Unknown! (255) Port: Other PHYAD: 0 Transceiver: internal Auto-negotiation: off Link detected: yes
6. DIRECCIÓN IP LS
Otra de las herramientas específicas de Linux que nos permite listar las tarjetas de red y sus respectivas direcciones IP. Esta herramienta es muy útil cuando tienes configuradas varias direcciones IP.
[[email protected] named]# ip addr ls 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth6: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:15:5d:a0:f6:05 brd ff:ff:ff:ff:ff:ff inet 193.82.34.169/27 brd 190.82.35.192 scope global eth6 inet 192.168.61.10/24 brd 192.168.61.255 scope global eth6:1 inet6 fe80::215:5dff:fea0:f605/64 scope link valid_lft forever preferred_lft forever
7. ifconfig
Tan imprescindible como los anteriores, ifconfig nos permite ver la configuración de red de las tarjetas instaladas en nuestro equipo. En este caso, se muestra 1 tarjeta de red física desconectada en p37s0, la tarjeta de red local o localhost lo y la tarjeta de red inalámbrica wlo1 que está conectada a la red. Resaltamos intencionalmente las tarjetas instaladas y las direcciones IP asignadas.
horla @ horla-ProBook: ~ $ ifconfig enp37s0 Link encap: Ethernet addressHW 2c: 41: 38: 15: 4b: 0e ACTIVE MULTICAST MTU DISTRIBUTION: 1500 Metric: 1 RX packages: 0 errors: 0 lost: 0 overruns: 0 frame: 0 TX packages: 0 errors: 0 lost: 0 overruns: 0 carrier: 0 collisions: 0 long.colaTX: 1000 Bytes RX: 0 (0.0 B) TX bytes: 0 (0.0 B) lo Link encap: Local loop Direc. inet: 127.0.0.1 Másc: 255.0.0.0 Inet6 address: :: 1/128 Scope: Host ACTIVE LOOP RUNNING MTU: 65536 Metric: 1 RX packages: 19095 errors: 0 lost: 0 overruns: 0 frame: 0 TX packages: 19095 errors: 0 lost: 0 overruns: 0 carrier: 0 Collisions: 0 long.colaTX: 1 Bytes RX: 1716020 (1.7 MB) TX bytes: 1716020 (1.7 MB) wlo1 Link encap: Ethernet addressHW 20: 10: 7a: fc: b1: 44 Direc. inet: 192.168.1.102 Difus.:192.168.1.255 Masc: 255.255.255.0 Inet6 address: fe80 :: 2b5d: 1b14: 75a: e095 / 64 Scope: Link ACTIVE DIFFUSION FUNCTIONING MULTICAST MTU: 1500 Metric: 1 RX packages: 1660063 errors: 0 lost: 0 overruns: 0 frame: 0 TX packages: 1285046 errors: 0 lost: 0 overruns: 0 carrier: 0 collisions: 0 long.colaTX: 1000 Bytes RX: 966719020 (966.7 MB) TX bytes: 209302107 (209.3 MB) horla @ horla-ProBook: ~ $
8. metros
Otra de nuestras herramientas favoritas MTR o My Traceroute nos permite ver los saltos del router y hacer ping a cada uno. Esto es muy útil para determinar cuáles de estos routers son los que tienen retrasos en el tráfico de red.
My traceroute [v0.75] My traceroute [v0.75] router02 (0.0.0.0) Nov 7 20:19:24 2018Resolver: Received error response 2. (server failure) er of fields quit Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. router2-linuxandubuntu.com 0.0% 11 0.7 0.7 0.6 0.8 0.1 2. 173.255.239.16 0.0% 11 0.8 0.9 0.8 1.6 0.2 3. 173.255.239.8 0.0% 11 2.9 3.2 0.8 7.8 2.1 4. ??? 5. es0.nyc4.webair.net 0.0% 10 2.0 2.6 1.8 7.7 1.8 6. csc180.gsc.webair.net 0.0% 10 2.6 2.6 2.6 2.7 0.1 7. dsn010.gsc.webair.net 0.0% 10 2.2 2.2 2.1 2.3 0.1 8. r4-nyc.webserversystems.com 0.0% 10 2.3 2.4 2.2 2.5 0.1
9. nslookup
Otra herramienta más para saber la dirección IP del host al que queremos llegar. En este caso, queremos saber la IP de nuestro sitio web, www.linuxandubuntu.com.
# nslookup www.linuxandubuntu.com Server: 127.0.0.1 Address: 127.0.0.1 # 53 Non-authoritative answer: Name: www.linuxandubuntu.com Address: 173.274.34.38
10. nmtui-edit
Interfaz de usuario de texto de Network Manager (nmtui o Network Manager según la línea de comandos). Utiliza ncurses y nos permite configurar fácilmente desde la terminal y sin dependencias adicionales. Ofrece una interfaz gráfica, basada en texto, para que el usuario realice dichas modificaciones.
Conclusión
Con estos comandos de red , tendremos la oportunidad de realizar una gestión mucho más directa y precisa sobre los distintos parámetros de la red en entornos Linux. Además con el comando mtr como comentamos anteriormente, podemos tener un control más sencillo sobre el estado de nuestra red y comprobar de forma mucho más centralizada sus diferentes aspectos enfocados a su optimización. Gracias por leer.