Introducción
En este laboratorio, aprenderás las habilidades fundamentales para gestionar el direccionamiento IP en un entorno Linux. Comenzarás utilizando el moderno comando ip para inspeccionar las interfaces de red de tu sistema. A continuación, configurarás manualmente una dirección IP estática, establecerás una puerta de enlace predeterminada para permitir la comunicación con redes externas y verificarás tu conexión mediante la utilidad ping.
Después, explorarás la configuración dinámica de IP liberando la dirección estática y utilizando el comando dhclient para obtener automáticamente una nueva dirección IP desde un servidor DHCP. Para concluir el laboratorio, utilizarás los comandos arp y traceroute para inspeccionar y verificar a fondo tu configuración de red, asegurándote de que todos los componentes funcionen correctamente.
Inspeccionar interfaces de red con ip a
En este paso, aprenderás a inspeccionar las interfaces de red en tu sistema Linux. Antes de configurar una dirección IP, primero debes identificar el nombre de la interfaz de red que deseas configurar. Cada conexión, ya sea cableada o inalámbrica, se gestiona a través de una interfaz de red.
El comando moderno y estándar para ver y manipular interfaces de red en Linux es ip. Lo utilizaremos con el argumento a (o address) para mostrar todas las interfaces de red y sus direcciones IP asignadas.
Abre tu terminal. Deberías estar ya en el directorio
~/project.Para listar todas las interfaces de red y sus configuraciones actuales, ejecuta el siguiente comando:
ip aVerás una salida similar a la siguiente. Los detalles exactos, como los nombres de las interfaces (
eth0,enp0s5), las direcciones IP y las direcciones MAC, variarán cada vez que inicies un nuevo entorno de laboratorio.1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff altname enp0s5 inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159972sec preferred_lft 1892159972sec 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:bb:cb:56:62 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever
Entendiendo la salida:
1: lo: Es la interfaz de loopback, una interfaz virtual que el sistema utiliza para comunicarse consigo mismo. Siempre tiene la dirección IP127.0.0.1.2: eth0: Es tu interfaz Ethernet (cableada) principal. Tu interfaz podría tener un nombre diferente o mostraraltname(nombres alternativos) comoenp0s5. Esta es la interfaz con la que trabajaremos.3: docker0: Es posible que veas otras interfaces comodocker0, utilizada por el motor de contenedores Docker. Puedes ignorarla para los propósitos de este laboratorio.inet 172.16.50.11/24: Es la dirección IPv4 asignada a tu interfaz. La dirección que veas será diferente. Es la dirección que te permite conectarte a este laboratorio remoto.link/ether ...: Es la dirección MAC de la interfaz, un identificador de hardware único.
Ahora que puedes identificar tu interfaz de red principal (eth0), estás listo para aprender a configurarla.
Configurar una dirección IP estática secundaria
En este paso, asignarás manualmente una dirección IP estática adicional a tu interfaz de red. Una IP estática es útil para servidores que necesitan ser alcanzables de forma consistente en la misma dirección.
Nota importante: Debido a que estás en una sesión de laboratorio remoto, no debes eliminar la dirección IP existente ni desactivar la interfaz de red. Hacerlo cortaría tu conexión. En su lugar, añadiremos una segunda dirección IP a la interfaz, lo cual es una práctica común y segura.
Asigna la nueva dirección IP estática
192.168.1.10con una máscara de subred/24a la interfazeth0. Si tu interfaz tiene un nombre diferente, usa ese nombre en su lugar.sudo ip addr add 192.168.1.10/24 dev eth0Este comando añade la nueva dirección sin afectar a la existente. No produce ninguna salida si tiene éxito.
Finalmente, verifica que la nueva dirección IP se haya asignado. Usa el comando
ip ade nuevo, especificando la interfazeth0.ip a show eth0Ahora deberías ver ambas, la dirección IP dinámica original y la nueva dirección IP estática, listadas para la interfaz
eth0.2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff altname enp0s5 inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159595sec preferred_lft 1892159595sec inet 192.168.1.10/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe0f:23a5/64 scope link valid_lft forever preferred_lft foreverObserva que un segundo campo
inetmuestra ahora192.168.1.10/24. Has añadido con éxito una dirección IP estática temporal mientras mantienes tu conexión activa.
Establecer una puerta de enlace predeterminada y verificar la conectividad con ping
En este paso, establecerás una puerta de enlace predeterminada y probarás la conectividad de red. La puerta de enlace predeterminada (default gateway) es el router al que tu sistema envía el tráfico cuando el destino se encuentra en otra red (como Internet).
Tu sistema ya tiene una puerta de enlace predeterminada proporcionada por el entorno del laboratorio. Cambiarla o eliminarla interrumpiría tu conexión. Para practicar este comando de forma segura, añadiremos una segunda ruta predeterminada con una métrica (metric) más alta. Una métrica más alta significa que tiene una prioridad menor, por lo que el sistema no la utilizará para el tráfico real, manteniendo nuestra conexión segura.
Vamos a añadir una ruta de puerta de enlace predeterminada para la red
192.168.1.0/24. Estableceremos la IP de la puerta de enlace en192.168.1.1y le daremos unametricde200.sudo ip route add default via 192.168.1.1 dev eth0 metric 200default: Especifica que esta es la ruta predeterminada.via 192.168.1.1: La IP del router de puerta de enlace.dev eth0: La ruta es accesible a través de la interfazeth0.metric 200: Hace que esta ruta sea menos preferida que la ruta principal existente (que tiene una métrica menor).
Verifica que la ruta se haya añadido mostrando la tabla de enrutamiento.
ip routeLa salida será compleja y variará, pero ahora debería incluir dos líneas que comienzan con
default. Tu puerta de enlace original tendrá una métrica menor (por ejemplo, 100) y la nueva tendrá una métrica de 200.default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.11 metric 100 default via 192.168.1.1 dev eth0 metric 200 172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.11 metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10 ... (pueden aparecer otras rutas)Ahora, probemos la conectividad con
ping. Envía una "solicitud de eco" ICMP a un host para ver si es alcanzable. Intentemos hacer ping a la puerta de enlace que acabamos de configurar para nuestra red imaginaria.ping -c 3 192.168.1.1Resultado esperado: Se espera que este comando falle. Dado que añadimos la IP
192.168.1.10/24aeth0, el sistema asume que192.168.1.1está en la misma red local. Intentará alcanzarla directamente, pero no existe ningún dispositivo con esa dirección, por lo que verás "Destination Host Unreachable".PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. From 192.168.1.10 icmp_seq=1 Destination Host Unreachable From 192.168.1.10 icmp_seq=2 Destination Host Unreachable From 192.168.1.10 icmp_seq=3 Destination Host Unreachable --- 192.168.1.1 ping statistics --- 3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2039msEste es el resultado correcto y esperado. Has aprendido cómo añadir una ruta predeterminada y usar
pingpara realizar pruebas.
Volver a una dirección IP dinámica usando dhclient
En este paso, eliminarás las configuraciones estáticas que creaste y luego usarás dhclient para actualizar la concesión (lease) de IP dinámica desde el servidor DHCP.
Primero, la herramienta dhclient, que forma parte del paquete isc-dhcp-client, podría no estar instalada por defecto. Asegurémonos de que esté disponible.
Actualiza la lista de paquetes de tu sistema e instala el cliente DHCP:
sudo apt-get update sudo apt-get install -y isc-dhcp-clientAhora, eliminemos de forma segura la IP estática y la ruta que añadimos en los pasos anteriores sin interrumpir tu conexión.
Elimina la dirección IP estática de
eth0:sudo ip addr del 192.168.1.10/24 dev eth0Elimina la ruta predeterminada estática que añadimos:
sudo ip route del default via 192.168.1.1 dev eth0Ahora tu configuración de red ha vuelto a su estado original. Para demostrar
dhclient, solicitemos una actualización de la dirección IP desde el servidor DHCP.Primero, libera la concesión DHCP actual.
sudo dhclient -r eth0A continuación, solicita una nueva concesión al servidor DHCP.
sudo dhclient eth0Es posible que veas el mensaje
RTNETLINK answers: File exists. Esto es normal. Simplemente significa quedhclientestá intentando añadir rutas que ya están presentes, por lo que no se necesitan cambios. Tu conexión permanecerá estable.Verifica tu configuración viendo la interfaz
eth0de nuevo.ip a show eth0La salida ahora debería mostrar solo tu dirección IP dinámica original del entorno de laboratorio, como una dirección privada
10.x.x.xo172.16.x.x. La IP estática192.168.1.10debería haber desaparecido.2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff altname enp0s5 inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159460sec preferred_lft 1892159460sec inet6 fe80::216:3eff:fe0f:23a5/64 scope link valid_lft forever preferred_lft foreverHas limpiado con éxito tu configuración estática y actualizado tu concesión de IP dinámica.
Verificar la configuración de red con arp y traceroute
En este paso final, aprenderás a usar arp y traceroute para inspeccionar tu configuración de red.
Primero, asegurémonos de que las herramientas necesarias estén instaladas. arp se encuentra en net-tools, y traceroute está en su propio paquete.
Instala
net-toolsytraceroute:sudo apt-get update sudo apt-get install -y net-tools traceroute
Usar arp para ver la caché ARP
El Protocolo de Resolución de Direcciones (ARP) asigna una dirección IP a una dirección MAC física en una red local. Los resultados se almacenan en la caché ARP.
Para poblar tu caché ARP, primero encuentra la IP de tu puerta de enlace predeterminada desde la tabla de enrutamiento.
ip route | grep defaultLa salida te mostrará la IP de la puerta de enlace. Ten en cuenta que la dirección IP variará.
default via 172.16.50.253 dev eth0 default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.11 metric 100Ahora, haz ping a esa IP de puerta de enlace (por ejemplo,
172.16.50.253en el ejemplo anterior) para generar tráfico.ping -c 1 <tu-ip-de-puerta-de-enlace>Muestra la caché ARP usando
arp -a.arp -aVerás la IP y la dirección MAC de tu puerta de enlace. También podrías ver una entrada
<incomplete>para la dirección192.168.1.1a la que intentamos hacer ping anteriormente, lo cual es normal.? (192.168.1.1) at <incomplete> on eth0 _gateway (172.16.50.253) at ee:ff:ff:ff:ff:ff [ether] on eth0Esto confirma que tu sistema resolvió la IP de la puerta de enlace a una dirección MAC.
Usar traceroute para rastrear rutas de red
El comando traceroute muestra la secuencia de routers ("saltos") que siguen los paquetes para llegar a un destino.
Rastreemos la ruta hacia un dominio público como
google.com.traceroute google.comEl comando imprimirá la ruta. Nota: En muchos entornos en la nube, el primer salto mostrado por
traceroutepuede ser una dirección IP interna y no la misma que la puerta de enlace predeterminada en tu tabla de enrutamiento. Este es un comportamiento normal.traceroute to google.com (142.250.189.174), 30 hops max, 60 byte packets 1 10.220.9.2 (10.220.9.2) 0.345 ms ... 2 11.73.5.1 (11.73.5.1) 1.978 ms ... 3 ... 8 sfo03s24-in-f14.1e100.net (142.250.189.174) 3.001 ms ...- El primer salto es un router dentro de la red del proveedor del laboratorio.
- Los saltos subsiguientes muestran la ruta a través de Internet hasta el destino final.
- Pueden aparecer asteriscos (
* * *) si un router a lo largo de la ruta no responde a las sondas detraceroute, lo cual podría deberse a un firewall u otra política de red.
¡Felicidades! Ahora has aprendido cómo inspeccionar, configurar estáticamente y configurar dinámicamente el direccionamiento IP en un sistema Linux, así como a utilizar herramientas clave como ping, arp y traceroute para verificar y solucionar problemas de red.
Resumen
En este laboratorio, aprendiste las habilidades fundamentales para gestionar el direccionamiento IP en un entorno Linux. Comenzaste inspeccionando las interfaces de red y sus configuraciones actuales usando el comando ip a para identificar interfaces objetivo como eth0. Luego, practicaste la asignación manual de una dirección IP estática y una máscara de subred con ip addr add, seguido de la configuración de una puerta de enlace predeterminada usando ip route add para permitir la comunicación con redes externas. Para contrastar con la configuración manual, también aprendiste cómo obtener automáticamente una dirección IP, máscara de subred y puerta de enlace desde un servidor DHCP usando el comando dhclient.
Además, exploraste herramientas esenciales de verificación y solución de problemas de red. Utilizaste el comando ping para confirmar la conectividad de red básica tanto con la puerta de enlace predeterminada como con hosts externos. Para obtener una visión más profunda de la capa de red, examinaste la caché del Protocolo de Resolución de Direcciones (ARP) con el comando arp para ver las asignaciones de IP a dirección MAC. Finalmente, utilizaste traceroute para rastrear la ruta de red salto a salto hasta un destino, verificando tu configuración de enrutamiento.



