Resolución de problemas de rutas de red con Linux
La conexión en red puede ser complicada. Enchufar un montón de cajas a otras cajas es bastante fácil, pero conseguir que los bits correctos fluyan desde los ordenadores adecuados a través de la jungla de Internet y acaben en el destino correcto, apuntando al puerto correcto que está abierto y a la escucha del tráfico, se complica muy rápido. A las velocidades de interconexión que Equinix puede ofrecer, es posible que te encuentres con comportamientos de red desconocidos.
Esta guía le proporcionará una base sólida de solución de problemas de red en Linux. Si bien esto es genéricamente útil para cualquier persona que envíe bits entre servidores, el enfoque será en la solución de problemas de conexiones entre usted (o su centro de datos) y Equinix. Incluso si esto no resuelve sus problemas, usted será capaz de proporcionar toda la información necesaria a nuestro equipo de éxito del cliente para conseguir que el resto del camino.
Requisitos previos
- Una [Cuenta Equinix Metal con acceso a las máquinas en cuestión
- Un sistema Linux local (algunas herramientas pueden requerir acceso root/sudo)
- Opcionalmente, la herramienta Metal CLI
IPv4 e IPv6
Como estamos hablando de redes, vamos a tratar con direcciones IP. Es probable que estés familiarizado con estos números por el uso diario, pero tener una comprensión un poco más profunda te ayudará a averiguar dónde van las cosas mal. En su mayor parte, todo lo que vamos a tratar utiliza el antiguo formato IPv4.
IPv4
En IPv4, cualquier dispositivo conectado a la red recibe un identificador único que suele denominarse dirección IP. IP son las siglas de internet protocol y se refiere a un protocolo estándar utilizado en la conectividad de redes. Las direcciones IP constan de 32 bits, normalmente representados como cuatro octetos en notación punto-decimal (xxx.xxx.xxx.xxx). Cualquier dirección IP puede dividirse en dos mitades: el primer conjunto de bits es la parte de la dirección correspondiente a la red ** y el resto representa la parte correspondiente al host ** . Esto se representa en notación CIDR (Classless Inter-Domain Routing) o mediante el uso de una máscara de subred, la primera simplemente enumera cuántos bits utiliza la segunda. Por ejemplo, supongamos que tiene una IP de Equinix de 55.82.200.45/29. Puede trabajar hacia atrás para determinar la máscara de subred adecuada y las demás direcciones IP disponibles en ese bloque. Con 29 bits (/29) dedicados a la red, eso significa que tiene 3 bits de host, lo que resulta en una máscara de subred de 255.255.255.248 (11111111.11111111.11111111.11111000 en binario). Y con un poco de conversión binaria puede saber que las 8 IPs disponibles van a ser 55.82.200.40-48. De ellas, la primera (todas 0s) suele estar reservada para la dirección de "red" y la última (todas 1s) está reservada para la dirección de "difusión" de la red. Esto es probablemente un poco más profundo de lo que necesita esta guía.
La principal conclusión de desglosar la dirección 55.82.200.45/29 es que el dispositivo con esa IP tratará cualquier dirección entre 55.82.200.40 y .48 como local a él, reenviando únicamente las peticiones fuera de dicha red a su pasarela o router por defecto. Pero, ¿qué es una puerta de enlace?
La gente tiende a pensar en internet como "una gran red", pero eso es algo inadecuado. En realidad, internet es más bien una enorme cantidad de pequeñas redes unidas entre sí. A cada segmento de red con conectividad a otras redes de internet se le asigna un número de sistema autónomo, también denominado número AS o ASN. Los ASN son utilizados por los routers para anunciar a todos los demás routers de internet de qué rangos de direcciones IP son responsables. Cuando un ordenador de la red A necesita hablar con un ordenador de la red B (o con cualquier ordenador que no forme parte de su propia red local), reenviará su petición al router configurado localmente, normalmente también denominado pasarela o pasarela por defecto. La pasarela reenviará los paquetes al enrutador que haya anunciado su responsabilidad pública sobre la red a la que pertenece la dirección IP del host de destino.
El camino que debe seguir un paquete para llegar desde su origen hasta su destino suele denominarse ruta ** . Por lo general, su sistema sólo conocerá la ruta hacia su pasarela por defecto, a partir de la cual el enrutamiento se producirá en su mayor parte de forma dinámica basándose en las tablas de enrutamiento mundiales. Esto permite a cualquier host arbitrario en cualquier subred de Internet comunicarse con cualquier otro host arbitrario, en general. (Vamos a dejar fuera casos especiales como los cortafuegos en aras de la simplicidad).
Así que si tienes problemas para enviar datos de 55.82.200.45 a 55.82.200.46, puede que necesites comprobar que están correctamente conectados a la misma red, o comprobar sus máscaras de subred para asegurarte de que cada ordenador tiene una imagen adecuada de sus conexiones de red. Si esas pruebas pasan, comprobar si hay un problema con la conectividad de la puerta de enlace es el siguiente paso lógico.
IPv6
Como sabrás, con un número de 32 bits que represente todos los dispositivos de Internet, sólo tendríamos espacio para unos 4.300 millones de dispositivos conectados a Internet, menos si tenemos en cuenta el número de IP reservadas para redes locales. Y aunque 3.000 millones parece una cifra muy grande, no lo es tanto si tenemos en cuenta la población mundial y la cantidad de dispositivos conectados a Internet que todos tenemos y con los que interactuamos a diario. Además, con la forma en que los bloques de direcciones IP pueden subdividirse y desplazarse, las tablas de enrutamiento pueden abarrotarse rápidamente. De hecho, la mayoría de las autoridades regionales tienen su último bloque de direcciones IP /8 (~16 millones) desde 2015.
IPv6 se ha introducido para aliviar esto con direcciones de 128 bits, proporcionando 2^128 o 3,4 x 10^32 direcciones IP disponibles, o "probablemente lo suficientemente bueno para el futuro previsible". Y en lugar de una máscara de subred mutable, IPv6 utiliza un conjunto de 64 bits para las porciones de host y red de la dirección. Concebido con la naturaleza original de extremo a extremo de Internet en mente, el enrutamiento de IPv6 es un poco diferente al de IPv4, con demandas diferentes y ligeramente más sencillas por parte de los propios dispositivos enrutadores y más trabajo realizado en los nodos finales. Existen [otras diferencias entre las dos versiones del protocolo, pero la principal diferencia a efectos de esta guía es la notación.
Mientras que IPv4 se escribe con 4 octetos decimales (grupos de 8 bits o bytes) separados por puntos, IPv6 se escribe con 8 hextetos hexadecimales (grupos de 16 bits o chomps) separados por dos puntos. Por comodidad y claridad, IPv6 también incluye algunas reglas de abreviación: todos los 0 iniciales pueden eliminarse en cada hexteto y los hextetos consecutivos de todos los 0 pueden sustituirse por dos dos puntos (::). Esta última condición sólo puede aplicarse una vez en una dirección, ya que su uso múltiple la haría imprecisa e indeterminada.
Por ejemplo, podríamos obtener la dirección IPv6 2001:0db8:0000:0000:0000:0000:ff00:0042:8329. Tras eliminar los 0 iniciales, nos quedaría 2001:db8:0:0:0:ff00:42:8329 y tras comprimir hextetos consecutivos de 0, nos quedaría 2001:db8::ff00:42:8329. Reconocer, expandir y abreviar direcciones IPv6 así como recordar los 64-bits para red y 64-bits para host son las mayores implicaciones para la resolución de problemas IPv6, para esta guía.
Encontrar la dirección IP de su máquina
Puede encontrar la dirección IP de su servidor desde la consola de Equinix Metal o desde la CLI.
Uso de la interfaz web de Equinix Metal
Desde la Consola, abra Organización > Proyecto > Servidores > Nombre de host del servidor (dirección IPV4/6).
Uso de la CLI de Equinix Metal
Si está utilizando la CLI de Metal:
Para obtener todas las direcciones IP asignadas:
metal devices get -o json | jq '.[0].ip_addresses'
Para obtener las direcciones IP asignadas a un dispositivo específico, utilice:
metal devices get -i $device_id -o json | jq '.ip_addresses'
Verificación de la información Web UI / CLI con sus sistemas
Obtener las direcciones IP a través de la consola o CLI de Equinix Metal es útil, pero a veces querrá ir directamente a la fuente. Estas técnicas le permitirán recuperar información de red en la propia máquina.
La mayoría de las herramientas siguientes estarán disponibles en instalaciones Linux estándar. Si no es así, todas están disponibles a través de la gestión de paquetes de su distribución (apt, snap, rpm).
Encontrar su dirección IP desde la línea de comandos de la máquina
Para encontrar la dirección IP desde la línea de comandos, utilice el comando ip en una de las siguientes variantes:
ip a
ip add
ip addr
ip -br -c a breve + colores
Por ejemplo, para generar un resumen conciso de todas las interfaces y direcciones asignadas, utilice:
# ip -br -c a
lo UNKNOWN 127.0.0.1/8 ::1/128
enp1s0f0 UP
enp1s0f1 UP
bond0 UP 139.178.69.191/31 10.88.19.129/31 2604:1380:1000:c00::1/127 fe80::ec4:7aff:feb2:98dc/64
Para más información sobre el uso del comando ip, consulte una de las [muchas guías en línea.
Determinar qué puertos están a la escucha
Para obtener información sobre los puertos disponibles, utilice el comando ss (estadísticas de socket):
ss -l
ss -lp (mostrar proceso) lsof -i
Por ejemplo, para ver una lista de todos los puertos de escucha en su máquina actual, utilice:
# ss -lp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.53%lo:domain 0.0.0.0:* users:(("systemd-resolve",pid=888,fd=12))
tcp LISTEN 0 4096 127.0.0.53%lo:domain 0.0.0.0:* users:(("systemd-resolve",pid=888,fd=13))
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* users:(("sshd",pid=1476,fd=3))
tcp LISTEN 0 4096 *:5201 *:* users:(("iperf3",pid=14162,fd=3))
tcp LISTEN 0 128 [::]:ssh [::]:* users:(("sshd",pid=1476,fd=4))
Para obtener una lista de todos los descriptores de archivo abiertos actualmente, utilice:
# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 888 systemd-resolve 12u IPv4 20923 0t0 UDP localhost:domain
systemd-r 888 systemd-resolve 13u IPv4 20924 0t0 TCP localhost:domain (LISTEN)
sshd 1476 root 3u IPv4 27081 0t0 TCP *:ssh (LISTEN)
sshd 1476 root 4u IPv6 27083 0t0 TCP *:ssh (LISTEN)
sshd 1969 root 4u IPv4 27199 0t0 TCP metal-guide-00:ssh->123-123-100-10.sbcglobal.net:51434 (ESTABLISHED)
Para más información sobre el comando ss, consulte [esta guía.
Determinar si una máquina remota es accesible
Para saber si una máquina está disponible en la red, utilice el comando ping:
ping [address]
Más allá de determinar si una máquina existe, es posible que también desee saber cuánto tiempo se tarda en llegar a esa máquina, lo que también se conoce como latencia. La salida de ping también se lo dirá.
El siguiente ejemplo muestra la alcanzabilidad del host remoto packet.com con una latencia de aproximadamente un milisegundo:
# ping packet.com
PING packet.com (104.18.26.66) 56(84) bytes of data.
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=1 ttl=58 time=1.02 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=2 ttl=58 time=1.04 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=3 ttl=58 time=0.881 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=4 ttl=58 time=1.03 ms
Para más información sobre ping, consulte [esta guía.
Comprobar si se puede acceder a un puerto remoto específico
Para comprobar una dirección IP, ping es una gran herramienta. Para comprobar un puerto específico en otra máquina, utilice nc o netcat, así:
nc -vz [address] [port]
Para averiguar si equinix.com el puerto 443 es accesible desde su máquina, utilice:
# nc -vz equinix.com 443
Connection to equinix.com 443 port [tcp/https] succeeded!
Para más información sobre el comando nc, consulte [esta guía.
Comprobar si se puede acceder a un puerto remoto específico con más información
Si desea información más detallada sobre el estado del puerto, utilice nmap:
nmap -p [port] [address]
La misma tarea realizada con la herramienta nmap:
# nmap -p 443 equinix.com
Starting Nmap 7.80 ( https://nmap.org ) at 2022-03-01 03:51 UTC
Nmap scan report for equinix.com (40.91.78.229)
Host is up (0.023s latency).
PORT STATE SERVICE
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds
Para más información sobre el uso de nmap, consulte [esta guía.
Determinar la ruta hacia una dirección especificada
Como se ha señalado anteriormente, las rutas son dinámicas, por lo que se desea determinar la ruta exacta que se está utilizando hacia un destino específico, utilizando el comando mtr:
mtr [address]
mtr -r -c 10 [address] (-cycles)
El comando mtr también puede indicarle cuántos saltos contiene una ruta determinada y si alguno de ellos es más lento de lo aceptable.
Aquí está el ejemplo de salida para un host, utilizando una IPv6, tratando de llegar a otro host.
metal-guide-00 (2604:1380:1000:c00::1) 2022-03-01T03:56:07+0000
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. _gateway 0.0% 28 7.8 3.0 1.0 8.6 2.5
2. 0.ae147.dsr1.r00c02.sjc1.packet.net 0.0% 28 9.4 23.0 1.5 401.7 75.8
3. 0.ae11.bsr1.sjc1.packet.net 0.0% 28 17.5 2.4 0.7 21.2 4.8
4. 0.et-0-0-11.bsr1.sv5.packet.net 0.0% 28 1.5 4.4 1.3 40.5 9.2
5. 2001:4860:1:1::1d7f 0.0% 27 1.4 1.4 1.2 1.8 0.1
6. 2607:f8b0:82c2::1 48.1% 27 2.2 2.4 2.2 2.7 0.2
7. any-in-2001-4860-4802-36--15.1e100.net 0.0% 27 1.5 1.4 1.2 1.5 0.1
Para más información sobre mtr, consulte [esta guía.
Comprobación de la velocidad de conexión
A veces querrá probar directamente la velocidad de una conexión. Para ello, necesitará instalar la utilidad speedtest:
apt install speedtest-cli
A continuación, puede ejecutar la prueba con:
speedtest
Para realizar un speedtest en la CLI, utilice:
# speedtest
Retrieving speedtest.net configuration...
Testing from Packet Host (139.178.69.191)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Ayera Technologies, Inc. (Modesto, CA) [97.79 km]: 7.473 ms
Testing download speed................................................................................
Download: 1142.73 Mbit/s
Testing upload speed......................................................................................................
Upload: 1656.41 Mbit/s
Para más información sobre la herramienta CLI Speedtest, consulte la [documentación oficial.
Medición de la velocidad de transferencia entre dos máquinas
Puede probar las velocidades de transferencia entre dos máquinas con la utilidad iPerf. Tendrá que instalar iperf tanto en la máquina local como en la remota:
apt install iperf3
En el servidor remoto, para iniciar la escucha, utilice:
iperf3 -s
En su sistema local utilice
iperf3 -c [target address] iperf3 -c [target address] -R (a la inversa, remoto -> local)
El resultado podría ser el siguiente:
# iperf3 -c 139.178.69.191
Connecting to host 139.178.69.191, port 5201
[ 5] local 192.168.0.233 port 52106 connected to 139.178.69.191 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 35.2 MBytes 295 Mbits/sec
[ 5] 1.00-2.00 sec 53.8 MBytes 451 Mbits/sec
[ 5] 2.00-3.00 sec 27.0 MBytes 227 Mbits/sec
[ 5] 3.00-4.00 sec 51.8 MBytes 435 Mbits/sec
[ 5] 4.00-5.00 sec 43.6 MBytes 366 Mbits/sec
[ 5] 5.00-6.00 sec 38.7 MBytes 324 Mbits/sec
[ 5] 6.00-7.00 sec 41.5 MBytes 348 Mbits/sec
[ 5] 7.00-8.00 sec 43.7 MBytes 367 Mbits/sec
[ 5] 8.00-9.00 sec 44.5 MBytes 373 Mbits/sec
[ 5] 9.00-10.00 sec 46.1 MBytes 386 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 426 MBytes 357 Mbits/sec sender
[ 5] 0.00-10.06 sec 424 MBytes 354 Mbits/sec receiver
iperf Done.
Para más información sobre iPerf, consulte la [documentación oficial.
Visualización de la carga de red por dispositivo
Para obtener una visión más amplia de la carga de red en cada uno de sus dispositivos, utilice la utilidad nload:
nload
Utilice las teclas de flecha para desplazarse por los dispositivos disponibles y pulse q para salir.
He aquí algunos ejemplos de salida de nload:
Device bond0 [139.178.69.191] (1/5):
===========================================================================================
Incoming:
#####################
#####################
.#####################
######################
######################
######################
######################
######################
###################### Curr: 2.91 kBit/s
###################### Avg: 125.98 MBit/s
###################### Min: 2.90 kBit/s
###################### Max: 317.84 MBit/s
###################### Ttl: 1.20 GByte
Outgoing:
Curr: 30.23 kBit/s
. .. Avg: 1.01 MBit/s
################## Min: 7.57 kBit/s
###################| Max: 2.42 MBit/s
.#################### Ttl: 159.86 MByte
Para más información sobre nload, consulte [esta guía.
Determinar el propietario de un dominio
Cuando tenga una dirección remota y quiera confirmar el propietario y otra información del registrador, utilice el comando whois:
whois [address]
El siguiente ejemplo muestra la información whois del dominio equinix.com:
# whois equinix.com
Domain Name: EQUINIX.COM
Registry Domain ID: 2603897_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.corporatedomains.com
Registrar URL: http://cscdbs.com
Updated Date: 2021-08-22T05:11:35Z
Creation Date: 1998-08-27T04:00:00Z
Registry Expiry Date: 2022-08-26T04:00:00Z
Registrar: CSC Corporate Domains, Inc.
Registrar IANA ID: 299
Registrar Abuse Contact Email: domainabuse@cscglobal.com
Registrar Abuse Contact Phone: 8887802723
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
Name Server: DNS1.P07.NSONE.NET
Name Server: DNS2.P07.NSONE.NET
Name Server: DNS3.P07.NSONE.NET
Name Server: DNS4.P07.NSONE.NET
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2022-03-01T04:03:24Z <<<
Para más información sobre whois, utilice [esta guía.
Determinar la dirección de un nombre de dominio
El comando whois es estupendo cuando se desea conocer un dominio, pero a veces se quiere saber la dirección concreta a la que resuelve un nombre de dominio. Para eso, utilice nslookup, o para una respuesta más detallada, utilice dig:
nslookup [address]
dig +trace [address]
Un ejemplo utilizando nslookup:
# nslookup equinix.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: equinix.com
Address: 40.91.78.229
El mismo ejemplo utilizando dig:
# dig +trace equinix.com
; <<>> DiG 9.16.1-Ubuntu <<>> +trace equinix.com
;; global options: +cmd
. 79825 IN NS e.root-servers.net.
. 79825 IN NS d.root-servers.net.
. 79825 IN NS g.root-servers.net.
. 79825 IN NS a.root-servers.net.
. 79825 IN NS k.root-servers.net.
. 79825 IN NS b.root-servers.net.
. 79825 IN NS i.root-servers.net.
. 79825 IN NS m.root-servers.net.
. 79825 IN NS l.root-servers.net.
. 79825 IN NS h.root-servers.net.
. 79825 IN NS j.root-servers.net.
. 79825 IN NS c.root-servers.net.
. 79825 IN NS f.root-servers.net.
;; Received 262 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20220313210000 20220228200000 9799 . l/Qi4jz9Mm/17YNIjJM8Z9vBxY2LNM4EwJykZsFLMXg8AnbJDxaAGB3h 47gGMj8mzTpTpgRrmD6ohAh/HOpbzR74YlQze6rVp+fn5oBZGzxKlVvW jVhm0L2vVCBwoilPJJ13sWdVYxBYJC4E1H23vT4khtzEUtjHdNnSbTbl GrFk3DDb6oIR5AhPQZII+zbYWPgLxJS7MJ20ch9ZXpby44IQ/0L+cgly Il/y84Ix/jq4qpfMexbxjTBWa9cK3S+vBIpWnxv4372lEFTiN6SPFYfF YCQVafKCnNZxWq3DIdwDNJcgcZS4ezCkm08Y4PZ/phfHBWHoFaqNMMpw BSY0cg==
;; Received 1199 bytes from 192.112.36.4#53(g.root-servers.net) in 44 ms
equinix.com. 172800 IN NS dns1.p07.nsone.net.
equinix.com. 172800 IN NS dns2.p07.nsone.net.
equinix.com. 172800 IN NS dns3.p07.nsone.net.
equinix.com. 172800 IN NS dns4.p07.nsone.net.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20220304052328 20220225041328 38535 com. QBEVp5RQYWO4WbeNlRYtAg+ob5TeMdT9lidq3zTL5xoEWS8N9xGXMhjx JEnRCkf8+yirdIyLZvIqzKqKtvzr2WXVLpEDdoUsfpj3xdG1VDPXNbva 9bSOgIcOnfv0IUXJJXHhsp80NDWeFYbwR+wJMeEwgrHWQfyccyUejjpU JKK+uBrBP3D7wvHpnNIh1XnFk4f49bhdJCj5/ITzZyjR0Q==
2S6MCLRVGJJO7EJTAFM73G5O7INU7C84.com. 86400 IN NSEC3 1 1 0 - 2S6NAQI4JCBDB8UF5NFPLETQ9GTHE3P6 NS DS RRSIG
2S6MCLRVGJJO7EJTAFM73G5O7INU7C84.com. 86400 IN RRSIG NSEC3 8 2 86400 20220307055325 20220228044325 38535 com. RlR6BsuGKh937/apIR6FtvvQZ47Gv3CXUx0XotbbCGD3EtwsJfxY5bxa Yv3b2HnU+DqL1SChUD2MBAKr0SzNeTSa726Ymy6P75QDM7iGA9ObRRPP 6FEtkfcNxDqXx52pBQpiIQfVhRklW+VoRGD4V54vyC6jSq/PaOSoWCFE tD71VC4mvCbaox5KKUHPn2F8WH5rLFPqoRmHcFuAV01POw==
;; Received 678 bytes from 192.41.162.30#53(l.gtld-servers.net) in 24 ms
equinix.com. 300 IN A 40.91.78.229
;; Received 56 bytes from 2a00:edc0:6259:7:7::4#53(dns4.p07.nsone.net) in 0 ms
Para más información sobre el comando nslookup, consulte [esta guía.
Para más información sobre el comando dig, consulte [esta guía.
Determinación de la configuración local del hardware
Para recuperar información detallada sobre qué hardware hay en el sistema, utilice el comando lshw (list hardware):
lshw
lshw -class network
lshw -class network -short
He aquí un ejemplo de salida de lshw, que a menudo tendrá un aspecto abarrotado y caótico:
# lshw -class network
*-network:0
description: Ethernet interface
product: I350 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:01:00.0
logical name: enp1s0f0
version: 01
serial: 0c:c4:7a:b2:98:dc
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.52, 0x800007ae latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:16 memory:88400000-8847ffff ioport:e020(size=32) memory:88580000-88583fff memory:88500000-8853ffff memory:88584000-885a3fff memory:885a4000-885c3fff
*-network:1
description: Ethernet interface
product: I350 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0.1
bus info: pci@0000:01:00.1
logical name: enp1s0f1
version: 01
serial: 0c:c4:7a:b2:98:dc
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.52, 0x800007ae latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:17 memory:88480000-884fffff ioport:e000(size=32) memory:885c4000-885c7fff memory:88540000-8857ffff memory:885c8000-885e7fff memory:885e8000-88607fff
*-network
description: Ethernet interface
physical id: 3
logical name: bond0
serial: 0c:c4:7a:b2:98:dc
capabilities: ethernet physical
configuration: autonegotiation=off broadcast=yes driver=bonding driverversion=3.7.1 duplex=full firmware=2 ip=139.178.69.191 link=yes master=yes multicast=yes
Para más información sobre el comando lshw, consulte [esta guía.
Obtener información específica de la tarjeta de red
Para determinar información más específica sobre la tarjeta de red y el controlador utilizados en una máquina concreta, utilice ethtool:
ethtool [DEVICE NAME]
ethtool -i [DEVICE NAME]
Para más información sobre ethtool, consulte [esta guía.
Reglas del cortafuegos
Muchas distribuciones de Linux preinstalan reglas de cortafuegos o servicios como firewalld para la seguridad básica del sistema. Éstos pueden estorbarle a la hora de configurar redes. En los sistemas Linux, los filtros de paquetes se implementan utilizando iptables o nftables, siendo este último más reciente pero con una interfaz de compatibilidad con iptables. He aquí cómo obtener una lista de todas las reglas aplicadas:
iptables -S
Recuerde que tanto iptables como nftables siguen el principio de "coincidencia de la primera regla". Eso significa que un paquete entrante se trata según la primera regla coincidente.
Herramientas obsoletas
Puede que esté familiarizado con antiguas utilidades de red como arp, ifconfig o route. Estas herramientas están ahora obsoletas y han sido sucedidas por ip. La herramienta netstat ha sido sustituida por la ss.
Conclusión
Este artículo ha proporcionado una visión general de varias herramientas disponibles en sistemas Linux para solucionar problemas de red. Aunque estas herramientas pueden no resolver todos los problemas de red, siempre es bueno saber dónde obtener la información adecuada. Si nada más, tener esta información disponible hará que las llamadas de soporte sean más rápidas.