Si está considerando agregar Linux a su centro de datos, o su empresa está buscando promocionarlo para que se convierta en su primer (o próximo) administrador de Linux, probablemente comprenda que hay muchos comandos que aprender.
Es muy probable que sus sistemas Linux se utilicen para uno o más servicios de red, por lo que deberá tener al menos un conocimiento básico de las herramientas de red más útiles.
Echemos un vistazo a nueve comandos de red que usará desde el principio. Con solo dos excepciones, estos comandos son independientes de la distribución.
ip
El comando ip reemplazó a los antiguos comandos ifconfig y route . El comando ip le permite configurar, agregar, eliminar y ver interfaces de red. Por ejemplo, si emite el comando ip a , verá todas las configuraciones para todas sus interfaces de red. Eso puede ser un poco abrumador, así que para obtener solo la información que necesita, vaya con ip link show . Esto seguirá mostrando información para todas sus interfaces de red conectadas, pero será más compacto.
Para ver una interfaz específica, puede ejecutar el comando ip address show dev ens5 , que le brindará información más detallada, pero solo para la interfaz de red denominada ens5 .
También puede ver la tabla de enrutamiento con el comando ip route .
El comando ip también le permite habilitar y deshabilitar interfaces de red. Para abrir la interfaz ens5, el comando sería:
sudo ip link set ens5 up
Para derribar esa misma interfaz, el comando sería:
sudo ip link set ens5 down
netstat
El comando netstat le permite examinar conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones de enmascaramiento, membresías de multidifusión y más. Esta es una muy buena herramienta para ayudarlo a solucionar problemas de red. Por ejemplo, puede usar netstat para escuchar todos los puertos tcp con el comando:
netstat -at
A medida que ingrese tráfico, netstat lo informará.
El comando netstat también se puede usar para mostrar solo los puertos que están escuchando actualmente. Esto se hace con el comando:
netstat -l
También puede especificar puertos TCP o UDP de escucha de la siguiente manera:
netstat -lt netstat -lu
Para escuchar todas las estadísticas de todos los puertos:
netstat -s
Para agregar ID de proceso (PID) a la salida:
netstat -pt
nmap
La utilidad nmap se utiliza para el descubrimiento, la auditoría y la administración de redes. Las tareas más útiles de las que puede ocuparse nmap son qué puertos están abiertos en una máquina remota y detección de servicio / sistema operativo.
Para verificar y ver qué puertos están abiertos en una máquina remota, emita el comando:
nmap server
Donde SERVIDOR es la dirección IP o el dominio del servidor remoto.
La salida mostrará una lista de todos los puertos abiertos en el servidor, como:
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https
También puede verificar qué hosts están activos en su red con el comando:
nmap -sn 192.168.1.0/24
La salida mostrará resultados como:
Nmap scan report for 192.168.1.1 Host is up (0.00096s latency). Nmap scan report for 192.168.1.35 Host is up (0.0038s latency). Nmap scan report for 192.168.1.42 Host is up (0.0032s latency). Nmap scan report for 192.168.1.50 Host is up (0.0051s latency). Nmap scan report for 192.168.1.53 Host is up (0.0031s latency). Nmap scan report for 192.168.1.60 Host is up (0.0038s latency). Nmap scan report for 192.168.1.67 Host is up (0.0035s latency). Nmap scan report for 192.168.1.108
Para averiguar qué sistemas operativos está utilizando un host, agregue la marca -O, como:
sudo nmap -O 192.168.1.120
Debería ver algo como:
Running: Linux 2.6.X OS CPE: cpe:/o:linux:linux_kernel:2.6.32 OS details: Linux 2.6.32
El resultado de esto puede ser bastante engañoso porque el kernel del host que escaneé es 5.8.0-41. Puede obtener información más detallada sobre ese host con el comando:
sudo nmap -A 192.168.1.120
traceroute
Si usa el comando ping (que es un comando de red muy básico que todo administrador ya debería saber) y muestra los paquetes faltantes, querrá usar traceroute para encontrar la ruta que están tomando esos paquetes. Esta es una herramienta muy útil para averiguar qué salto en una ruta está causando problemas.
Si emite el comando:
traceroute google.com
Verá una lista de cada salto que toma el paquete desde la máquina actual a google.com. Verá una lista del tiempo (en milisegundos) que tomó de salto a salto o si hay un problema con un salto, verá exactamente dónde fallan los paquetes.
La salida del comando anterior no debería llevar mucho tiempo. Si es así, sabrá que hay un problema y dónde está.
Si ve * * * en la ruta (donde debería estar un salto), ahí es donde está el problema.
tcpdump
tcpdump es una herramienta de detección de paquetes que mostrará los paquetes de red que se transmiten a través de la red. El comando tcpdump puede leer contenido en tiempo real o de una sesión capturada previamente.
Para escuchar los paquetes de red en todas las interfaces, emita el comando:
sudo tcpdump -i any
El problema con este comando es que mostrará una gran cantidad de información. Por eso, es posible que desee capturar los paquetes en un archivo para poder verlos más tarde. Para hacer esto, el comando sería (y ejecútelo desde el directorio /tmp; de lo contrario, obtendrá un error de permiso denegado cuando intente leer el archivo más tarde):
sudo tcpdump -i any -w capture.pcap
Una vez que sienta que se han capturado suficientes paquetes, puede detener el comando con la combinación [Ctrl] + [c]. Para ver los paquetes desde el comando, emitiría:
tcpdump -r capture.pcap
ssh
Si tiene la intención de realizar una administración de red remota, utilizará Secure Shell (SSH). Hay varias formas de utilizar esta herramienta, pero el uso básico es:
ssh USER@SERVER
Donde USER es el nombre de usuario remoto y SERVER es la dirección IP o el dominio del servidor remoto. Si su servidor usa un puerto no estándar para SSH, el comando sería:
ssh USER@SERVER -p PORT
Donde USER es el nombre de usuario remoto, SERVER es la dirección IP o el dominio del servidor remoto y PORT es el número de puerto utilizado por el demonio SSH en el servidor remoto.
wget
El comando wget le permite descargar archivos a su servidor. Esto es útil cuando ese servidor no tiene una GUI para facilitar la descarga de archivos.
Para descargar un archivo al servidor con wget , el comando sería:
wget http://SERVER/FILE
Donde SERVER es la dirección IP o el dominio del servidor remoto y FILE es el archivo que se descargará.
netplan
Netplan es la herramienta utilizada en Ubuntu Server para probar y aplicar configuraciones de interfaz de red. Netplan lee archivos YAML del directorio /etc/netplan. Puede configurar múltiples interfaces y luego probar la configuración con el comando:
sudo netplan try
Si la prueba vuelve a funcionar correctamente, puede aplicar la configuración (que también mostrará la interfaz) con el comando:
sudo netplan apply
nmtui
Nmtui es una interfaz ncurses en distribuciones basadas en Red Hat que le permite configurar y activar/desactivar interfaces de red. Esta es una interfaz para el comando nmcli , que es considerablemente más fácil de usar.
Y ahí lo tiene, 9 comandos de red de Linux que deberían ayudarlo a comenzar con sus primeros pasos como administrador de sistemas/red de Linux. Con cada una de estas herramientas, puede aprender más leyendo las páginas de manual, como en man nmap.