109.2 Configuracion persistente de red - Teoria
Configuracion del nombre de host
/etc/hostname
Contiene el nombre de host estatico del sistema (una sola linea).
mi-servidor
hostnamectl (systemd)
hostnamectl # Mostrar informacion del hostname
hostnamectl set-hostname mi-servidor # Establecer hostname
hostnamectl set-hostname "Mi Servidor" --pretty # Hostname descriptivoTipos de hostname:
- static: Nombre persistente (almacenado en
/etc/hostname) - transient: Nombre temporal asignado por DHCP o mDNS
- pretty: Nombre descriptivo con caracteres especiales
hostname (comando tradicional)
hostname # Mostrar hostname actual
hostname mi-servidor # Establecer temporalmente (no persiste)
hostname -f # FQDN (fully qualified domain name)
hostname -i # Direccion IP del hostname/etc/hosts
Archivo de resolucion estatica de nombres. Se consulta antes que DNS (segun /etc/nsswitch.conf).
Formato
IP_ADDRESS FQDN ALIAS
Ejemplo
127.0.0.1 localhost
127.0.1.1 mi-servidor.ejemplo.com mi-servidor
192.168.1.10 servidor-web.ejemplo.com web
192.168.1.20 servidor-db.ejemplo.com db
::1 localhost ip6-localhost ip6-loopback
/etc/nsswitch.conf
Define el orden de busqueda para distintas bases de datos del sistema, incluyendo la resolucion de nombres.
passwd: files systemd
group: files systemd
shadow: files
hosts: files dns myhostname
networks: files
La linea clave para resolucion de nombres:
hosts: files dns myhostname
Esto significa:
- Primero buscar en files (
/etc/hosts) - Luego consultar DNS (
/etc/resolv.conf) - Finalmente myhostname (resuelve el hostname local)
/etc/resolv.conf
Configuracion de los servidores DNS del cliente.
# Servidor DNS primario
nameserver 192.168.1.1
# Servidor DNS secundario
nameserver 8.8.8.8
# Servidor DNS terciario (maximo 3)
nameserver 8.8.4.4
# Dominio local
domain ejemplo.com
# Lista de busqueda (alternativa a domain)
search ejemplo.com test.ejemplo.com
# Opciones
options timeout:2 attempts:3
| Directiva | Descripcion |
|---|---|
nameserver | IP del servidor DNS (maximo 3) |
domain | Dominio local por defecto |
search | Lista de dominios para busqueda (se agrega automaticamente) |
options | Opciones adicionales (timeout, intentos) |
Nota:
domainysearchson mutuamente excluyentes; si ambos estan presentes, se usa el ultimo.
Importante: En sistemas con NetworkManager o systemd-resolved, este archivo puede ser generado automaticamente. No editar manualmente si esta gestionado por otro servicio.
Comando ip (iproute2)
Herramienta moderna para configuracion de red. Reemplaza a ifconfig, route, arp.
ip addr (direcciones)
ip addr show # Mostrar todas las interfaces y direcciones
ip addr show eth0 # Mostrar direccion de eth0
ip a # Abreviatura de ip addr show
ip addr add 192.168.1.100/24 dev eth0 # Agregar direccion IP
ip addr del 192.168.1.100/24 dev eth0 # Eliminar direccion IPip link (interfaces)
ip link show # Mostrar todas las interfaces
ip link set eth0 up # Activar interfaz
ip link set eth0 down # Desactivar interfaz
ip -s link show eth0 # Estadisticas de la interfazip route (rutas)
ip route show # Mostrar tabla de rutas
ip route # Igual (abreviatura)
ip r # Igual (abreviatura minima)
ip route add 10.0.0.0/8 via 192.168.1.1 # Agregar ruta
ip route add default via 192.168.1.1 # Ruta por defecto
ip route del 10.0.0.0/8 via 192.168.1.1 # Eliminar ruta
ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0 # Ruta con interfazip neigh (vecinos/ARP)
ip neigh show # Mostrar tabla ARP
ip neigh # Abreviaturaifconfig (legacy - net-tools)
ifconfig # Mostrar interfaces activas
ifconfig -a # Mostrar todas las interfaces
ifconfig eth0 # Info de una interfaz
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up # Configurar
ifconfig eth0 down # Desactivar
ifconfig eth0 up # Activar
ifconfigesta deprecado. Se recomienda usaripen su lugar.
route (legacy)
route -n # Mostrar tabla de rutas (numerico)
route add default gw 192.168.1.1 # Agregar gateway
route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 # Agregar ruta
route del default gw 192.168.1.1 # Eliminar gateway
routeesta deprecado. Se recomienda usarip routeen su lugar.
NetworkManager
Descripcion
- Gestor de red predeterminado en la mayoria de distribuciones de escritorio
- Demonio:
NetworkManager - Gestiona conexiones cableadas, Wi-Fi, VPN, etc.
- Configuraciones en
/etc/NetworkManager/
nmcli (linea de comandos)
# Estado general
nmcli general status # Estado del NetworkManager
nmcli device status # Estado de dispositivos
nmcli connection show # Listar conexiones
# Ver detalles de una conexion
nmcli connection show "Conexion cableada 1"
# Crear conexion estatica
nmcli connection add type ethernet con-name mi-red ifname eth0 \
ip4 192.168.1.100/24 gw4 192.168.1.1
# Establecer DNS
nmcli connection modify mi-red ipv4.dns "8.8.8.8 8.8.4.4"
# Activar/desactivar conexion
nmcli connection up mi-red
nmcli connection down mi-red
# Eliminar conexion
nmcli connection delete mi-red
# Wi-Fi
nmcli device wifi list # Listar redes Wi-Fi
nmcli device wifi connect MiRed password "clave123"nmtui (interfaz de texto)
- Interfaz grafica basada en ncurses para terminal
- Permite editar conexiones, activar/desactivar, establecer hostname
nmtuisystemd-networkd
Descripcion
- Gestor de red de systemd (preferido en servidores y contenedores)
- Archivos de configuracion en
/etc/systemd/network/ - Extension
.network
Ejemplo de configuracion estatica
Archivo /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.4Ejemplo con DHCP
Archivo /etc/systemd/network/20-wired.network:
[Match]
Name=eth0
[Network]
DHCP=yesGestionar el servicio
systemctl enable systemd-networkd
systemctl start systemd-networkd
networkctl list # Listar interfaces
networkctl status eth0 # Estado de interfazConfiguracion por distribucion
Netplan (Ubuntu moderno)
Netplan es el sistema de configuracion de red usado en Ubuntu 17.10+. Utiliza archivos YAML que describen la configuracion deseada y genera la configuracion para el backend (NetworkManager o systemd-networkd).
Archivos de configuracion
Los archivos se ubican en /etc/netplan/ con extension .yaml:
/etc/netplan/01-netcfg.yaml
/etc/netplan/50-cloud-init.yaml
/etc/netplan/99-custom.yaml
Ejemplo con IP estatica
# /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd # o NetworkManager
ethernets:
eth0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4Ejemplo con DHCP
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: trueComandos de Netplan
# Aplicar la configuracion (genera y aplica)
netplan apply
# Generar la configuracion del backend sin aplicarla
netplan generate
# Probar la configuracion (revierte automaticamente si no se confirma)
netplan try
# Mostrar la configuracion actual
netplan getPara el examen: Netplan usa archivos YAML en /etc/netplan/. netplan apply aplica los cambios. netplan generate solo genera la configuracion sin aplicarla.
Debian/Ubuntu (clasico): /etc/network/interfaces
# Loopback
auto lo
iface lo inet loopback
# Interfaz con DHCP
auto eth0
iface eth0 inet dhcp
# Interfaz 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
Gestionar:
ifup eth0 # Activar interfaz
ifdown eth0 # Desactivar interfaz
systemctl restart networkingRHEL/CentOS: Configuracion de red
/etc/sysconfig/network (configuracion global)
Archivo de configuracion global de red del sistema:
NETWORKING=yes
HOSTNAME=mi-servidor.ejemplo.com
GATEWAY=192.168.1.1
NOZEROCONF=yes
| Directiva | Descripcion |
|---|---|
NETWORKING | Habilitar/deshabilitar la red (yes/no) |
HOSTNAME | Nombre de host del sistema |
GATEWAY | Gateway predeterminado del sistema |
NOZEROCONF | Deshabilitar la autoasignacion de IP link-local (169.254.x.x) |
/etc/sysconfig/network-scripts/ (configuracion por interfaz)
Archivo ifcfg-eth0:
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
Rutas estaticas en route-eth0:
10.0.0.0/8 via 192.168.1.1
172.16.0.0/12 via 192.168.1.1
Rutas estaticas
Agregar rutas temporales
ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0
ip route add default via 192.168.1.1Rutas persistentes
- Debian: En
/etc/network/interfacesconup ip route add ... - RHEL: En
/etc/sysconfig/network-scripts/route-eth0 - NetworkManager:
nmcli connection modify mi-red +ipv4.routes "10.0.0.0/8 192.168.1.1" - systemd-networkd: Seccion
[Route]en archivos.network
Puntos clave para el examen
/etc/hostnamecontiene el hostname estatico;hostnamectllo gestiona en systemd/etc/hostsresuelve nombres localmente; se consulta antes que DNS (segun nsswitch)/etc/nsswitch.confdefine el orden:hosts: files dns(primero /etc/hosts, luego DNS)/etc/resolv.confdefine servidores DNS (maximo 3nameserver)ipreemplaza aifconfig,routeyarpnmclies la herramienta CLI de NetworkManager;nmtuies la version TUI- systemd-networkd usa archivos
.networken/etc/systemd/network/ - Netplan (Ubuntu moderno): Archivos YAML en
/etc/netplan/.netplan applyaplica,netplan generategenera - Debian clasico usa
/etc/network/interfaces; RHEL usa/etc/sysconfig/network-scripts/ /etc/sysconfig/network(RHEL): Configuracion global de red (NETWORKING, HOSTNAME, GATEWAY)ip route add default via IPestablece la ruta por defecto- Las configuraciones con
ip/ifconfigson temporales; para persistir se usan archivos de configuracion
Trampas del examen
Errores comunes y distinciones criticas que LPI suele evaluar en este subtema:
ipreemplaza aifconfig,routeyarp—ifconfigyrouteestan deprecados. El examen espera que conozcas ambos, peroip addr,ip routeeip neighson las herramientas modernas.ipes del paqueteiproute2;ifconfiges denet-tools- Cambios con
ipeifconfigson TEMPORALES — Cualquier configuracion hecha conip addr addoifconfigse pierde al reiniciar. Para persistir se deben usar archivos de configuracion (/etc/network/interfaces, NetworkManager, netplan, etc.) /etc/resolv.conftiene maximo 3nameserver— Aunque pongas mas de 3, solo se usan los primeros tres. Ademas,domainysearchson mutuamente excluyentes: si ambos estan presentes, se usa el ULTIMO definido en el archivo/etc/nsswitch.confdefine el ordenhosts: files dns— Esto significa que/etc/hostsse consulta ANTES que DNS. Si el orden fuerahosts: dns files, DNS tendria prioridad. El examen puede cambiar el orden y preguntar que ocurre- Netplan usa archivos YAML, no la sintaxis de interfaces — Netplan (Ubuntu moderno) usa
/etc/netplan/*.yamlcon sintaxis YAML (indentacion con espacios). No confundir con/etc/network/interfaces(Debian clasico) que tiene formato propio netplan applyaplica cambios;netplan generatesolo genera —netplan generatecrea la configuracion del backend (NetworkManager o systemd-networkd) pero NO la aplica.netplan applygenera Y aplica.netplan tryaplica temporalmente con rollback automatico/etc/sysconfig/network-scripts/es de Red Hat, NO de Debian — Los archivosifcfg-eth0son especificos de RHEL/CentOS/Fedora. Debian usa/etc/network/interfaces. Ubuntu moderno usa Netplan. El examen puede preguntar la ubicacion segun la distribucionONBOOT=yesen RHEL vsauto eth0en Debian — Para que una interfaz se active al arrancar, RHEL usaONBOOT=yesenifcfg-eth0; Debian usa la lineaauto eth0en/etc/network/interfaces. Son equivalentes pero con sintaxis diferentehostnamectlvshostname—hostnamectl set-hostnamecambia el hostname de forma PERSISTENTE (modifica/etc/hostname);hostname nuevolo cambia solo TEMPORALMENTE (se pierde al reiniciar)nmcli connection showvsnmcli device status—connection showmuestra las CONEXIONES configuradas (pueden estar activas o no);device statusmuestra los DISPOSITIVOS fisicos y su estado. Una conexion puede existir sin estar activa