205.1 - Configuracion basica de red

Herramientas modernas: el comando ip (iproute2)

El paquete iproute2 proporciona el comando ip, que es la herramienta moderna y recomendada para la configuracion de red en Linux, reemplazando a los comandos legacy ifconfig, route, arp y netstat.

ip addr - Gestion de direcciones IP

# Ver todas las interfaces y sus direcciones
ip addr show
ip a                    # Forma abreviada
 
# Ver una interfaz especifica
ip addr show dev eth0
 
# Agregar una direccion IP a una interfaz
ip addr add 192.168.1.100/24 dev eth0
 
# Agregar una direccion IP secundaria
ip addr add 192.168.1.101/24 dev eth0 label eth0:1
 
# Eliminar una direccion IP
ip addr del 192.168.1.100/24 dev eth0
 
# Eliminar todas las direcciones de una interfaz
ip addr flush dev eth0
# Ver el estado de todas las interfaces
ip link show
ip l                    # Forma abreviada
 
# Activar una interfaz
ip link set eth0 up
 
# Desactivar una interfaz
ip link set eth0 down
 
# Cambiar la MTU
ip link set eth0 mtu 9000
 
# Cambiar la direccion MAC
ip link set eth0 address 00:11:22:33:44:55
 
# Ver estadisticas de una interfaz
ip -s link show eth0

ip route - Gestion de rutas

# Ver la tabla de enrutamiento
ip route show
ip r                    # Forma abreviada
 
# Agregar una ruta por defecto (gateway)
ip route add default via 192.168.1.1
 
# Agregar una ruta a una red especifica
ip route add 10.0.0.0/8 via 192.168.1.254
 
# Agregar una ruta a traves de una interfaz
ip route add 172.16.0.0/16 dev eth1
 
# Eliminar una ruta
ip route del 10.0.0.0/8
 
# Reemplazar una ruta existente
ip route replace default via 192.168.1.254

ip neigh - Gestion de la tabla ARP

# Ver la tabla de vecinos (ARP/NDP)
ip neigh show
ip n                    # Forma abreviada
 
# Agregar una entrada estatica
ip neigh add 192.168.1.50 lladdr 00:11:22:33:44:55 dev eth0
 
# Eliminar una entrada
ip neigh del 192.168.1.50 dev eth0
 
# Limpiar la cache ARP
ip neigh flush all

Para el examen: El comando ip reemplaza completamente a los comandos legacy. Conoce las equivalencias: ip addr = ifconfig, ip route = route, ip neigh = arp, ip link = parte de ifconfig.

Herramientas legacy

Aunque estan deprecadas, pueden aparecer en el examen:

ifconfig

# Ver todas las interfaces
ifconfig -a
 
# Ver una interfaz especifica
ifconfig eth0
 
# Configurar una direccion IP
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
 
# Activar/desactivar
ifconfig eth0 up
ifconfig eth0 down

route

# Ver la tabla de enrutamiento
route -n
 
# Agregar ruta por defecto
route add default gw 192.168.1.1
 
# Agregar ruta a una red
route add -net 10.0.0.0/8 gw 192.168.1.254
 
# Eliminar una ruta
route del -net 10.0.0.0/8

Configuracion del hostname

hostnamectl (systemd)

# Ver el hostname actual y metadatos
hostnamectl
 
# Salida tipica:
#    Static hostname: servidor01
#    Icon name: computer-vm
#    Machine ID: abc123...
#    Boot ID: def456...
#    Operating System: Debian GNU/Linux 12
#    Kernel: Linux 6.1.0-18-amd64
#    Architecture: x86-64
 
# Establecer el hostname estatico
hostnamectl set-hostname servidor01
 
# Establecer hostname descriptivo (pretty)
hostnamectl set-hostname "Servidor de Produccion 01" --pretty
 
# Establecer hostname transitorio (hasta reinicio)
hostnamectl set-hostname temporal01 --transient

Tipos de hostname

TipoDescripcionPersistencia
StaticNombre almacenado en /etc/hostnamePersistente
TransientAsignado por el kernel, DHCP, etc.Hasta reinicio
PrettyNombre descriptivo libre (con espacios, etc.)Persistente

Archivos de hostname

# Hostname estatico del sistema
cat /etc/hostname
# servidor01
 
# Resolucion local de nombres
cat /etc/hosts
# 127.0.0.1   localhost
# 127.0.1.1   servidor01.empresa.com servidor01
# 192.168.1.10  servidor-web
# 192.168.1.20  servidor-db
 
# Comando hostname (legacy)
hostname                  # Ver hostname actual
hostname nuevo_nombre     # Cambiar (no persistente)
hostname -f               # Ver FQDN
hostname -d               # Ver dominio
hostname -i               # Ver direccion IP

Para el examen: hostnamectl es la forma moderna y preferida de gestionar el hostname en sistemas con systemd. El cambio con hostnamectl set-hostname modifica /etc/hostname automaticamente.

Configuracion de DNS

/etc/resolv.conf

cat /etc/resolv.conf
# Servidores DNS
nameserver 8.8.8.8
nameserver 8.8.4.4
 
# Dominio de busqueda
domain empresa.com
 
# Lista de busqueda (alternativa a domain)
search empresa.com desarrollo.empresa.com
 
# Opciones
options timeout:2 attempts:3 rotate
DirectivaDescripcion
nameserverIP del servidor DNS (maximo 3)
domainDominio por defecto para nombres no cualificados
searchLista de dominios de busqueda (maximo 6)
optionsOpciones adicionales (timeout, attempts, rotate)

Para el examen: En sistemas con NetworkManager o systemd-resolved, /etc/resolv.conf puede ser un enlace simbolico gestionado automaticamente. No se debe editar directamente en esos casos.

/etc/nsswitch.conf

Este archivo controla el orden de busqueda para resolucion de nombres:

# Orden de resolucion de hosts
hosts: files dns myhostname
 
# Esto significa: buscar primero en /etc/hosts (files),
# luego en DNS (dns), y por ultimo el nombre local (myhostname)

NetworkManager

NetworkManager es el gestor de red mas comun en distribuciones de escritorio y servidor modernas.

nmcli - Interfaz de linea de comandos

# Ver estado general
nmcli general status
 
# Ver todas las conexiones
nmcli connection show
nmcli con show              # Forma abreviada
 
# Ver conexiones activas
nmcli connection show --active
 
# Ver detalles de una conexion
nmcli connection show "Wired connection 1"
 
# Ver dispositivos de red
nmcli device status
 
# Crear una nueva conexion con IP estatica
nmcli connection add type ethernet con-name "red-oficina" ifname eth0 \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8 8.8.4.4" \
  ipv4.method manual
 
# Crear una conexion con DHCP
nmcli connection add type ethernet con-name "red-dhcp" ifname eth0 \
  ipv4.method auto
 
# Modificar una conexion existente
nmcli connection modify "red-oficina" ipv4.dns "1.1.1.1 1.0.0.1"
 
# Activar/desactivar una conexion
nmcli connection up "red-oficina"
nmcli connection down "red-oficina"
 
# Eliminar una conexion
nmcli connection delete "red-oficina"
 
# Recargar archivos de configuracion
nmcli connection reload

nmtui - Interfaz de texto

# Lanzar la interfaz de texto de NetworkManager
nmtui
 
# Opciones del menu:
# - Edit a connection (editar conexiones)
# - Activate a connection (activar/desactivar)
# - Set system hostname (configurar hostname)

Para el examen: nmcli es la herramienta CLI de NetworkManager mas importante. Conoce como crear, modificar y activar conexiones. nmtui es la alternativa interactiva con menus de texto.

Configuracion en distribucion RHEL/CentOS

Archivos en /etc/sysconfig/network-scripts/

# Archivo de configuracion de interfaz
cat /etc/sysconfig/network-scripts/ifcfg-eth0
 
# Configuracion con IP estatica:
TYPE=Ethernet
DEVICE=eth0
NAME=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
DEFROUTE=yes
 
# Configuracion con DHCP:
TYPE=Ethernet
DEVICE=eth0
NAME=eth0
ONBOOT=yes
BOOTPROTO=dhcp
ParametroDescripcion
TYPETipo de interfaz (Ethernet, Bridge, Bond…)
DEVICENombre del dispositivo
ONBOOTActivar al arrancar (yes/no)
BOOTPROTOProtocolo (none=estatica, dhcp, bootp)
IPADDRDireccion IP
PREFIXLongitud del prefijo (o NETMASK)
GATEWAYPuerta de enlace por defecto
DNS1/DNS2Servidores DNS
DEFROUTEUsar como ruta por defecto

Configuracion en distribucion Debian/Ubuntu

Archivo /etc/network/interfaces

cat /etc/network/interfaces
 
# Interfaz loopback
auto lo
iface lo inet loopback
 
# Interfaz con IP estatica
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
 
# Interfaz con DHCP
auto eth1
iface eth1 inet dhcp
 
# Aplicar cambios (legacy)
ifup eth0
ifdown eth0

systemd-networkd

Alternativa de configuracion de red via systemd, comun en servidores minimalistas y contenedores.

# Archivos de configuracion en:
# /etc/systemd/network/*.network
# /etc/systemd/network/*.netdev
# /etc/systemd/network/*.link
 
# Ejemplo: /etc/systemd/network/20-wired.network
cat /etc/systemd/network/20-wired.network
 
[Match]
Name=eth0
 
[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4
 
# Ejemplo con DHCP:
# /etc/systemd/network/20-dhcp.network
[Match]
Name=eth0
 
[Network]
DHCP=yes
 
# Habilitar y reiniciar systemd-networkd
systemctl enable systemd-networkd
systemctl restart systemd-networkd
 
# Habilitar resolucion DNS via systemd
systemctl enable systemd-resolved
systemctl restart systemd-resolved

Para el examen: systemd-networkd usa archivos .network con secciones [Match] y [Network]. Es una alternativa ligera a NetworkManager, frecuente en servidores y contenedores.

Bonding y Teaming

Bonding (kernel module)

El bonding combina multiples interfaces fisicas en una interfaz logica para redundancia o rendimiento.

# Cargar el modulo de bonding
modprobe bonding
 
# Modos de bonding
# mode=0 (balance-rr): Round-robin
# mode=1 (active-backup): Solo una interfaz activa
# mode=2 (balance-xor): XOR de MACs
# mode=3 (broadcast): Transmite por todas
# mode=4 (802.3ad): LACP (requiere soporte del switch)
# mode=5 (balance-tlb): Balanceo adaptativo de transmision
# mode=6 (balance-alb): Balanceo adaptativo completo
 
# Crear bond con nmcli
nmcli connection add type bond con-name bond0 ifname bond0 \
  bond.options "mode=active-backup,miimon=100"
 
# Agregar interfaces esclavas
nmcli connection add type ethernet con-name bond0-slave1 \
  ifname eth0 master bond0
nmcli connection add type ethernet con-name bond0-slave2 \
  ifname eth1 master bond0
 
# Activar el bond
nmcli connection up bond0
 
# Ver estado del bond
cat /proc/net/bonding/bond0

Modos de bonding mas importantes

ModoNombreDescripcionRequiere switch
0balance-rrRound-robin entre interfacesConfiguracion especial
1active-backupSolo una activa, failover automaticoNo
4802.3adLACP, agregacion de enlacesSi (LACP)
6balance-albBalanceo adaptativoNo

Teaming (alternativa moderna)

Teaming es una alternativa mas moderna al bonding con mejor rendimiento y flexibilidad:

# Crear team con nmcli
nmcli connection add type team con-name team0 ifname team0 \
  team.config '{"runner": {"name": "activebackup"}}'
 
# Agregar miembros
nmcli connection add type ethernet con-name team0-port1 \
  ifname eth0 master team0
nmcli connection add type ethernet con-name team0-port2 \
  ifname eth1 master team0
 
# Ver estado del team
teamdctl team0 state
 
# Runners disponibles: activebackup, roundrobin, loadbalance, broadcast, lacp

Para el examen: Conoce los modos de bonding mas comunes (0, 1, 4, 6) y como crearlos con nmcli. El teaming es la alternativa moderna pero el bonding sigue siendo ampliamente usado.


Trampas del examen

Errores comunes y distinciones criticas que LPI suele evaluar en este subtema:

  • ip addr reemplaza a ifconfig, ip route a route, ip neigh a arp — el examen puede preguntar el equivalente moderno de un comando legacy. ifconfig y route estan deprecados; ip del paquete iproute2 es la herramienta actual
  • ip addr flush elimina TODAS las direcciones de una interfaz — a diferencia de ip addr del que elimina una direccion especifica. Usar flush accidentalmente desconecta la interfaz por completo
  • /etc/resolv.conf puede ser un enlace simbolico gestionado — en sistemas con NetworkManager o systemd-resolved, editarlo directamente no funciona porque se sobrescribe. Debes configurar DNS a traves de nmcli o systemd-resolved
  • nameserver en resolv.conf acepta maximo 3 entradas — aunque pongas mas de 3 lineas nameserver, solo se usaran las tres primeras. El examen puede presentar un resolv.conf con 4+ y preguntar cuales se usan
  • Bonding mode 1 (active-backup) no requiere configuracion del switch — a diferencia del mode 4 (802.3ad/LACP) que necesita soporte LACP en el switch. El examen puede preguntar que modo usar cuando no se tiene acceso al switch
  • /etc/hostname solo contiene el nombre corto, no el FQDN — el FQDN se define en /etc/hosts mapeando la IP a fqdn hostname. hostnamectl set-hostname modifica /etc/hostname automaticamente
  • nmcli connection vs nmcli deviceconnection gestiona perfiles de configuracion (pueden existir sin estar activos); device gestiona interfaces fisicas (hardware real). Una interfaz puede tener multiples perfiles de conexion
  • BOOTPROTO=none vs BOOTPROTO=dhcp en RHELnone significa IP estatica (requiere IPADDR, PREFIX, GATEWAY); dhcp obtiene configuracion automaticamente. Poner none sin IPADDR deja la interfaz sin IP
  • systemd-networkd usa archivos .network con secciones [Match] y [Network] — no confundir con los archivos ifcfg-* de RHEL ni con /etc/network/interfaces de Debian. Son tres sistemas de configuracion diferentes