Guía de administración de redes, resolución de problemas y depuración de Linux Sysadmin.


Las tareas rutinarias de un administrador del sistema incluyen configurar, mantener, solucionar problemas y administrar servidores y redes dentro de los centros de datos. Existen numerosas herramientas y utilidades en Linux diseñadas para fines administrativos.

En este artículo, revisaremos algunas de las herramientas y utilidades de línea de comandos más utilizadas para la administración de redes en Linux, en diferentes categorías. Explicaremos algunos ejemplos de uso común, que harán que la administración de la red sea mucho más fácil en Linux.

Esta lista es igualmente útil para los ingenieros de redes de tiempo completo.

Configuración de red, solución de problemas y herramientas de depuración

ifconfig es una herramienta de interfaz de línea de comandos para la configuración de la interfaz de red y también se utiliza para inicializar interfaces en el momento de inicio del sistema. Una vez que un servidor está en funcionamiento, se puede usar para asignar una dirección IP a una interfaz y habilitar o deshabilitar la interfaz a pedido.

También se usa para ver el estado de la dirección IP, la dirección de hardware/MAC, así como el tamaño de la unidad de transmisión máxima (MTU) de las interfaces actualmente activas. Por lo tanto, ifconfig es útil para depurar o realizar ajustes del sistema.

Aquí hay un ejemplo para mostrar el estado de todas las interfaces de red activas.

$ ifconfig

enp1s0    Link encap:Ethernet  HWaddr 28:d2:44:eb:bd:98  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:174146270 (174.1 MB)  TX bytes:21062129 (21.0 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2898946 (2.8 MB)  TX bytes:2898946 (2.8 MB)

Para enumerar todas las interfaces que están actualmente disponibles, ya sea arriba o abajo , use la marca -a

$ ifconfig -a 	

Para asignar una dirección IP a una interfaz, use el siguiente comando.

$ sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

Para activar una interfaz de red, escriba.

$ sudo ifconfig up eth0

Para desactivar o cerrar una interfaz de red, escriba.

$ sudo ifconfig down eth0

ip command es otra utilidad de línea de comandos útil para mostrar y manipular enrutamiento, dispositivos de red, interfaces. Es un reemplazo para ifconfig y muchos otros comandos de red. (Lea nuestro artículo "Qué es la diferencia entre ifconfig y ip Command" para obtener más información al respecto).

El siguiente comando mostrará la dirección IP y otra información sobre una interfaz de red.

$ ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
       valid_lft 5772sec preferred_lft 5772sec
    inet6 fe80::8f0c:7825:8057:5eec/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...

Para asignar temporalmente la dirección IP a una interfaz de red específica ( eth0 ), escriba.

$ sudo ip addr add 192.168.56.1 dev eth0

Para eliminar una dirección IP asignada de una interfaz de red ( eth0 ), escriba.

$ sudo ip addr del 192.168.56.15/24 dev eth0

Para mostrar la tabla vecina actual en el kernel, escriba.

$ ip neigh

192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE

El comando ifup activa una interfaz de red, haciéndola disponible para transferir y recibir datos.

$ sudo ifup eth0

El comando ifdown desactiva una interfaz de red, manteniéndola en un estado donde no puede transferir ni recibir datos.

$ sudo ifdown eth0

El comando ifquery se utiliza para analizar la configuración de la interfaz de red, lo que le permite recibir respuestas para consultar cómo está configurado actualmente.

$ sudo ifquery eth0

ethtool es una utilidad de línea de comandos para consultar y modificar los parámetros del controlador de interfaz de red y los controladores de dispositivo. El siguiente ejemplo muestra el uso de ethtool y un comando para ver los parámetros de la interfaz de red.

$ sudo ethtool enp0s3

Settings for enp0s3:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

ping ( Packet INternet Groper ) es una utilidad normalmente utilizada para probar la conectividad entre dos sistemas en una red ( Red de área local ( LAN ) o < fuerte> Red de área amplia ( WAN )). Utiliza ICMP ( Internet Control Message Protocol ) para comunicarse con los nodos de una red.

Para probar la conectividad a otro nodo, simplemente proporcione su IP o nombre de host, por ejemplo.

$ ping 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms

También puede decirle a ping que salga después de un número específico de paquetes ECHO_REQUEST , usando la marca -c como se muestra.

$ ping -c 4 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms

--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms

Traceroute es una utilidad de línea de comandos para rastrear la ruta completa desde su sistema local a otro sistema de red. Imprime el número de saltos (enrutadores IP) en esa ruta que recorre para llegar al servidor final. Es una utilidad de solución de problemas de red fácil de usar después del comando ping.

En este ejemplo, estamos rastreando los paquetes de ruta desde el sistema local hasta uno de los servidores de Google con la dirección IP 216.58.204.46

$ traceroute 216.58.204.46

traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
 1  gateway (192.168.0.1)  0.487 ms  0.277 ms  0.269 ms
 2  5.5.5.215 (5.5.5.215)  1.846 ms  1.631 ms  1.553 ms
 3  * * *
 4  72.14.194.226 (72.14.194.226)  3.762 ms  3.683 ms  3.577 ms
 5  108.170.248.179 (108.170.248.179)  4.666 ms 108.170.248.162 (108.170.248.162)  4.869 ms 108.170.248.194 (108.170.248.194)  4.245 ms
 6  72.14.235.133 (72.14.235.133)  72.443 ms 209.85.241.175 (209.85.241.175)  62.738 ms 72.14.235.133 (72.14.235.133)  65.809 ms
 7  66.249.94.140 (66.249.94.140)  128.726 ms  127.506 ms 209.85.248.5 (209.85.248.5)  127.330 ms
 8  74.125.251.181 (74.125.251.181)  127.219 ms 108.170.236.124 (108.170.236.124)  212.544 ms 74.125.251.181 (74.125.251.181)  127.249 ms
 9  216.239.49.134 (216.239.49.134)  236.906 ms 209.85.242.80 (209.85.242.80)  254.810 ms  254.735 ms
10  209.85.251.138 (209.85.251.138)  252.002 ms 216.239.43.227 (216.239.43.227)  251.975 ms 209.85.242.80 (209.85.242.80)  236.343 ms
11  216.239.43.227 (216.239.43.227)  251.452 ms 72.14.234.8 (72.14.234.8)  279.650 ms  277.492 ms
12  209.85.250.9 (209.85.250.9)  274.521 ms  274.450 ms 209.85.253.249 (209.85.253.249)  270.558 ms
13  209.85.250.9 (209.85.250.9)  269.147 ms 209.85.254.244 (209.85.254.244)  347.046 ms 209.85.250.9 (209.85.250.9)  285.265 ms
14  64.233.175.112 (64.233.175.112)  344.852 ms 216.239.57.236 (216.239.57.236)  343.786 ms 64.233.175.112 (64.233.175.112)  345.273 ms
15  108.170.246.129 (108.170.246.129)  345.054 ms  345.342 ms 64.233.175.112 (64.233.175.112)  343.706 ms
16  108.170.238.119 (108.170.238.119)  345.610 ms 108.170.246.161 (108.170.246.161)  344.726 ms 108.170.238.117 (108.170.238.117)  345.536 ms
17  lhr25s12-in-f46.1e100.net (216.58.204.46)  345.382 ms  345.031 ms  344.884 ms

MTR es una moderna herramienta de diagnóstico de red de línea de comandos que combina la funcionalidad de ping y traceroute en una única herramienta de diagnóstico. Su salida se actualiza en tiempo real, de forma predeterminada hasta que salga del programa presionando q .

La forma más sencilla de ejecutar mtr es proporcionarle un nombre de host o dirección IP como argumento, de la siguiente manera.

$ mtr google.com
OR
$ mtr 216.58.223.78
tecmint.com (0.0.0.0)                                   Thu Jul 12 08:58:27 2018
First TTL: 1

 Host                                                   Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                                         0.0%    41    0.5   0.6   0.4   1.7   0.2
 2. 5.5.5.215                                           0.0%    40    1.9   1.5   0.8   7.3   1.0
 3. 209.snat-111-91-120.hns.net.in                      23.1%    40    1.9   2.7   1.7  10.5   1.6
 4. 72.14.194.226                                       0.0%    40   89.1   5.2   2.2  89.1  13.7
 5. 108.170.248.193                                     0.0%    40    3.0   4.1   2.4  52.4   7.8
 6. 108.170.237.43                                      0.0%    40    2.9   5.3   2.5  94.1  14.4
 7. bom07s10-in-f174.1e100.net                          0.0%    40    2.6   6.7   2.3  79.7  16.

Puede limitar el número de pings a un valor específico y salir de mtr después de esos pings, usando la marca -c como se muestra.

$ mtr -c 4 google.com

ruta es una utilidad de línea de comandos para mostrar o manipular la tabla de enrutamiento IP de un sistema Linux. Se utiliza principalmente para configurar rutas estáticas a hosts o redes específicas a través de una interfaz.

Puede ver la tabla de enrutamiento de IP del kernel escribiendo.

$ route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Existen numerosos comandos que puede utilizar para configurar el enrutamiento. Aquí hay algunos útiles:

Agregue una puerta de enlace predeterminada a la tabla de enrutamiento.

$ sudo route add default gw <gateway-ip>

Agregue una ruta de red a la tabla de enrutamiento.

$ sudo route add -net <network ip/cidr> gw <gateway ip> <interface>

Eliminar una entrada de ruta específica de la tabla de enrutamiento.

$ sudo route del -net <network ip/cidr>

Nmcli es una herramienta de línea de comandos fácil de usar y con secuencias de comandos para informar el estado de la red, administrar las conexiones de red y controlar el NetworkManager .

Para ver todos sus dispositivos de red, escriba.

$ nmcli dev status

DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
enp0s3      ethernet  connected  Wired connection 1 

Para verificar las conexiones de red en su sistema, escriba.

$ nmcli con show

Wired connection 1  bc3638ff-205a-3bbb-8845-5a4b0f7eef91  802-3-ethernet  enp0s3 
virbr0              00f5d53e-fd51-41d3-b069-bdfd2dde062b  bridge          virbr0 

Para ver solo las conexiones activas, agregue la marca -a .

$ nmcli con show -a

Escaneo de red y herramientas de análisis de rendimiento

netstat es una herramienta de línea de comandos que muestra información útil, como conexiones de red, tablas de enrutamiento, estadísticas de interfaz y mucho más, sobre el subsistema de redes de Linux. Es útil para la solución de problemas de red y el análisis de rendimiento.

Además, también es una herramienta fundamental de depuración de servicios de red que se utiliza para verificar qué programas están escuchando en qué puertos. Por ejemplo, el siguiente comando mostrará todos los puertos TCP en modo de escucha y qué programas están escuchando en ellos.

$ sudo netstat -tnlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 127.0.0.1:5003          0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1404/pdns_server    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1064/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      975/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      636/lscpd (lscpd -  
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1015/dovecot        
tcp6       0      0 :::3306                 :::*                    LISTEN      1053/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      1211/mysqld         
tcp6       0      0 :::587                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::110                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      990/httpd           
tcp6       0      0 :::465                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::53                   :::*                    LISTEN      1404/pdns_server    
tcp6       0      0 :::21                   :::*                    LISTEN      1064/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      972/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      975/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1257/master         
tcp6       0      0 :::993                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1015/dovecot        

Para ver la tabla de enrutamiento del kernel, use el indicador -r (que es equivalente a ejecutar el comando ruta anterior).

$ netstat -r

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

ss ( estadísticas de socket ) es una poderosa utilidad de línea de comandos para investigar sockets. Vuelca estadísticas de socket y muestra información similar a netstat . Además, muestra más TCP e información de estado en comparación con otras utilidades similares.

El siguiente ejemplo muestra cómo listar todos los puertos TCP ( sockets ) que están abiertos en un servidor.

$ ss -ta

State      Recv-Q Send-Q                                        Local Address:Port                                                         Peer Address:Port                
LISTEN     0      100                                                       *:submission                                                              *:*                    
LISTEN     0      128                                               127.0.0.1:fmpro-internal                                                          *:*                    
LISTEN     0      100                                                       *:pop3                                                                    *:*                    
LISTEN     0      100                                                       *:imap                                                                    *:*                    
LISTEN     0      128                                                       *:sunrpc                                                                  *:*                    
LISTEN     0      100                                                       *:urd                                                                     *:*                    
LISTEN     0      128                                                       *:domain                                                                  *:*                    
LISTEN     0      9                                                         *:ftp                                                                     *:*                    
LISTEN     0      128                                                       *:ssh                                                                     *:*                    
LISTEN     0      128                                               127.0.0.1:ipp                                                                     *:*                    
LISTEN     0      100                                                       *:smtp                                                                    *:*                    
LISTEN     0      128                                                       *:8090                                                                    *:*                    
LISTEN     0      100                                                       *:imaps                                                                   *:*                    
LISTEN     0      100                                                       *:pop3s                                                                   *:*                    
ESTAB      0      0                                             192.168.0.104:ssh                                                         192.168.0.103:36398                
ESTAB      0      0                                                 127.0.0.1:34642                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34638                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34644                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34640                                                           127.0.0.1:opsession-prxy       
LISTEN     0      80                                                       :::mysql                                                                  :::*             
...

Para mostrar todas las conexiones TCP activas junto con sus temporizadores, ejecute el siguiente comando.

$ ss -to

NC (NetCat), también conocida como " Red Swiss Army Knife ", es una poderosa utilidad utilizada para casi cualquier tarea relacionada con los sockets de dominio TCP, UDP o UNIX. Se utiliza para abrir conexiones TCP, escuchar en puertos TCP y UDP arbitrarios, realizar escaneo de puertos y más.

También puede usarlo como un simple proxy TCP, para probar el daemon de red, para verificar si los puertos remotos son accesibles y mucho más. Además, puede emplear nc junto con el comando pv para transferir archivos entre dos computadoras.

El siguiente ejemplo, mostrará cómo escanear una lista de puertos.

$ nc -zv server2.tecmint.lan 21 22 80 443 3000

También puede especificar un rango de puertos como se muestra.

$ nc -zv server2.tecmint.lan 20-90

El siguiente ejemplo muestra cómo usar nc para abrir una conexión TCP al puerto 5000 en server2.tecmint.lan , usando el puerto 3000 como puerto de origen, con un tiempo de espera de 10 segundos.

$ nc -p 3000 -w 10 server2.tecmint.lan 5000 

Nmap ( Network Mapper ) es una herramienta poderosa y extremadamente versátil para los administradores de sistemas/redes de Linux. Se utiliza para recopilar información sobre un único host o para explorar redes en una red completa. Nmap también se usa para realizar análisis de seguridad, auditoría de red y encontrar puertos abiertos en hosts remotos y mucho más.

Puede escanear un host utilizando su nombre de host o dirección IP, por ejemplo.

$ nmap google.com 

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds

Alternativamente, use una dirección IP como se muestra.

$ nmap 192.168.0.103

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
902/tcp  open  iss-realsecure
4242/tcp open  vrml-multi-use
5900/tcp open  vnc
8080/tcp open  http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

Lea nuestros siguientes artículos útiles sobre el comando nmap.

  1. How to Use Nmap Script Engine (NSE) Scripts in Linux
  2. A Practical Guide to Nmap (Network Security Scanner) in Kali Linux
  3. Find Out All Live Hosts IP Addresses Connected on Network in Linux

Utilidades de búsqueda de DNS

El comando host es una utilidad simple para realizar búsquedas de DNS, traduce los nombres de host a direcciones IP y viceversa.

$ host google.com

google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

dig ( dominio de la información del dominio ) también es otra sencilla utilidad de búsqueda de DNS, que se utiliza para consultar información relacionada con el DNS como A Record, CNAME, MX Record, etc., por ejemplo:

$ dig google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23083
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		72	IN	A	172.217.166.78

;; AUTHORITY SECTION:
com.			13482	IN	NS	c.gtld-servers.net.
com.			13482	IN	NS	d.gtld-servers.net.
com.			13482	IN	NS	e.gtld-servers.net.
com.			13482	IN	NS	f.gtld-servers.net.
com.			13482	IN	NS	g.gtld-servers.net.
com.			13482	IN	NS	h.gtld-servers.net.
com.			13482	IN	NS	i.gtld-servers.net.
com.			13482	IN	NS	j.gtld-servers.net.
com.			13482	IN	NS	k.gtld-servers.net.
com.			13482	IN	NS	l.gtld-servers.net.
com.			13482	IN	NS	m.gtld-servers.net.
com.			13482	IN	NS	a.gtld-servers.net.
com.			13482	IN	NS	b.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.	81883	IN	A	192.5.6.30
b.gtld-servers.net.	3999	IN	A	192.33.14.30
c.gtld-servers.net.	14876	IN	A	192.26.92.30
d.gtld-servers.net.	85172	IN	A	192.31.80.30
e.gtld-servers.net.	95861	IN	A	192.12.94.30
f.gtld-servers.net.	78471	IN	A	192.35.51.30
g.gtld-servers.net.	5217	IN	A	192.42.93.30
h.gtld-servers.net.	111531	IN	A	192.54.112.30
i.gtld-servers.net.	93017	IN	A	192.43.172.30
j.gtld-servers.net.	93542	IN	A	192.48.79.30
k.gtld-servers.net.	107218	IN	A	192.52.178.30
l.gtld-servers.net.	6280	IN	A	192.41.162.30
m.gtld-servers.net.	2689	IN	A	192.55.83.30

;; Query time: 4 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jul 12 09:30:57 BST 2018
;; MSG SIZE  rcvd: 487

Nslookup es también una utilidad de línea de comandos popular para consultar servidores DNS de forma interactiva y no interactiva. Se utiliza para consultar registros de recursos DNS (RR). Puede encontrar el registro "A" (dirección IP) de un dominio como se muestra.

$ nslookup google.com

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.166.78

También puede realizar una búsqueda de dominio inversa como se muestra.

$ nslookup 216.58.208.174

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f14.1e100.net.
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f174.1e100.net.

Authoritative answers can be found from:
in-addr.arpa	nameserver = e.in-addr-servers.arpa.
in-addr.arpa	nameserver = f.in-addr-servers.arpa.
in-addr.arpa	nameserver = a.in-addr-servers.arpa.
in-addr.arpa	nameserver = b.in-addr-servers.arpa.
in-addr.arpa	nameserver = c.in-addr-servers.arpa.
in-addr.arpa	nameserver = d.in-addr-servers.arpa.
a.in-addr-servers.arpa	internet address = 199.180.182.53
b.in-addr-servers.arpa	internet address = 199.253.183.183
c.in-addr-servers.arpa	internet address = 196.216.169.10
d.in-addr-servers.arpa	internet address = 200.10.60.53
e.in-addr-servers.arpa	internet address = 203.119.86.101
f.in-addr-servers.arpa	internet address = 193.0.9.1

Analizadores de paquetes de red de Linux

Tcpdump es un rastreador de red de línea de comandos muy potente y ampliamente utilizado. Se utiliza para capturar y analizar paquetes TCP/IP transmitidos o recibidos a través de una red en una interfaz específica.

Para capturar paquetes desde una interfaz determinada, especifíquelo usando la opción -i .

$ tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
09:35:40.287439 IP tecmint.com.ssh > 192.168.0.103.36398: Flags [P.], seq 4152360356:4152360552, ack 306922699, win 270, options [nop,nop,TS val 2211778668 ecr 2019055], length 196
09:35:40.287655 IP 192.168.0.103.36398 > tecmint.com.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP tecmint.com.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > tecmint.com.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP tecmint.com.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)

Para capturar un número específico de paquetes, use la opción -c para ingresar el número deseado.

$ tcpdump -c 5 -i eth1

También puede capturar y guardar paquetes en un archivo para su posterior análisis, use la marca -w para especificar el archivo de salida.

$ tcpdump -w captured.pacs -i eth1

Wireshark es una herramienta popular, potente, versátil y fácil de usar para capturar y analizar paquetes en una red de conmutación de paquetes, en tiempo real.

También puede guardar los datos que ha capturado en un archivo para su posterior inspección. Es utilizado por los administradores del sistema y los ingenieros de red para monitorear e inspeccionar los paquetes con fines de seguridad y resolución de problemas.

Lea nuestro artículo “10 consejos sobre cómo usar Wireshark para analizar paquetes de red para obtener más información sobre Wireshark”.

bmon es una poderosa utilidad de monitoreo y depuración de red basada en línea de comandos para sistemas similares a Unix, captura estadísticas relacionadas con la red y las imprime visualmente en un formato amigable para el usuario. Es un monitor de ancho de banda y estimador de velocidad en tiempo real confiable y efectivo.

Lea nuestro artículo “bmon - Una poderosa herramienta de monitoreo y depuración del ancho de banda de red para obtener más información sobre bmon”.

Herramientas de administración de firewall de Linux

iptables es una herramienta de línea de comandos para configurar, mantener e inspeccionar las tablas de filtrado de paquetes IP y el conjunto de reglas NAT. Se utiliza para configurar y administrar el firewall de Linux (Netfilter). Le permite enumerar las reglas de filtro de paquetes existentes; agregar o eliminar o modificar las reglas de filtro de paquetes; enumerar los contadores por regla de las reglas de filtro de paquetes.

Puede aprender a usar Iptables para varios propósitos con nuestras guías simples pero completas.

  1. Basic Guide on IPTables (Linux Firewall) Tips / Commands
  2. 25 Useful IPtable Firewall Rules Every Linux Administrator Should Know
  3. How To Setup an Iptables Firewall to Enable Remote Access to Services
  4. How to Block Ping ICMP Requests to Linux Systems

Firewalld es un demonio potente y dinámico para administrar el firewall de Linux (Netfilter), al igual que iptables . Utiliza " zonas de red " en lugar de ENTRADA, SALIDA y CADENAS ADELANTADAS en iptables. En las distribuciones actuales de Linux, como RHEL/CentOS 7 y Fedora 21+ , iptables está siendo reemplazado activamente por firewalld .

Para comenzar a utilizar firewalld , consulte estas guías que se enumeran a continuación:

  1. Useful ‘FirewallD’ Rules to Configure and Manage Firewall in Linux
  2. How to Configure ‘FirewallD’ in RHEL/CentOS 7 and Fedora 21
  3. How to Start/Stop and Enable/Disable FirewallD and Iptables Firewall in Linux
  4. Setting Up Samba and Configure FirewallD and SELinux to Allow File Sharing on Linux/Windows

UFW es una herramienta de configuración de cortafuegos bien conocida y predeterminada en Debian y Ubuntu distribuciones de Linux. Se utiliza para activar/desactivar el firewall del sistema, agregar/eliminar/modificar/restablecer las reglas de filtrado de paquetes y mucho más.

Para verificar el estado del firewall UFW, escriba.

$ sudo ufw status

Si el firewall UFW no está activo, puede activarlo o habilitarlo mediante el siguiente comando.

$ sudo ufw enable

Para deshabilitar el firewall UFW, use el siguiente comando.

$ sudo ufw disable 

Lea nuestro artículo “Cómo configurar el firewall UFW en Ubuntu y Debian” para obtener más información sobre UFW).

Si desea encontrar más información sobre un programa en particular, puede consultar sus páginas de manual como se muestra.

$ man programs_name

¡Eso es todo por ahora! En esta guía exhaustiva, revisamos algunas de las herramientas y utilidades de línea de comandos más utilizadas para la administración de redes en Linux, en diferentes categorías, para administradores de sistemas, y que son igualmente útiles para administradores/ingenieros de redes de tiempo completo.

Puede compartir sus opiniones sobre esta guía a través del formulario de comentarios a continuación. Si nos hemos perdido alguna de las herramientas/utilidades de red de Linux de uso frecuente e importante o cualquier información relacionada útil, también avísenos.