212.1 - Configuración de router: Comandos clave

Reenvío IP (IP Forwarding)

ComandoDescripción
sysctl -w net.ipv4.ip_forward=1Habilitar reenvío IPv4 temporalmente
sysctl -pRecargar configuración de /etc/sysctl.conf
cat /proc/sys/net/ipv4/ip_forwardVerificar estado del reenvío

iptables - Comandos de gestión

ComandoDescripción
iptables -L -n -vListar reglas con números, sin resolver DNS
iptables -L -t natListar reglas de la tabla nat
iptables -A INPUT -p tcp --dport 22 -j ACCEPTPermitir SSH entrante
iptables -I INPUT 1 -s 10.0.0.5 -j DROPInsertar regla en posición 1
iptables -D INPUT 3Eliminar regla número 3 de INPUT
iptables -P INPUT DROPPolítica por defecto: descartar
iptables -FVaciar todas las reglas (flush)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTPermitir conexiones establecidas

iptables - NAT y enmascaramiento

ComandoDescripción
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADENAT dinámico en interfaz de salida
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 1.2.3.4SNAT con IP fija
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080DNAT / port forwarding

iptables - Persistencia

ComandoDescripción
iptables-save > /etc/iptables/rules.v4Guardar reglas actuales
iptables-restore < /etc/iptables/rules.v4Restaurar reglas desde archivo
ip6tables-save > /etc/iptables/rules.v6Guardar reglas IPv6

nftables

ComandoDescripción
nft list rulesetListar todas las reglas activas
nft add table inet mi_fwCrear tabla para IPv4 e IPv6
nft add chain inet mi_fw input { type filter hook input priority 0 \; policy drop \; }Crear cadena de entrada
nft add rule inet mi_fw input tcp dport 22 acceptPermitir SSH
nft add rule inet mi_fw input ct state established,related acceptPermitir conexiones establecidas
nft add rule ip nat postrouting oifname "eth0" masqueradeNAT con nftables
nft flush rulesetVaciar todas las reglas
nft -f /etc/nftables.confCargar reglas desde archivo

firewalld (firewall-cmd)

ComandoDescripción
firewall-cmd --stateVer estado de firewalld
firewall-cmd --get-active-zonesMostrar zonas activas
firewall-cmd --get-default-zoneVer zona por defecto
firewall-cmd --list-allListar toda la configuración de la zona activa
firewall-cmd --permanent --add-service=httpPermitir HTTP permanentemente
firewall-cmd --permanent --add-port=8080/tcpAbrir puerto específico
firewall-cmd --permanent --zone=external --add-masqueradeHabilitar masquerading
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.10Port forwarding
firewall-cmd --reloadRecargar configuración permanente
firewall-cmd --permanent --add-interface=eth1 --zone=internalAsignar interfaz a zona
firewall-cmd --permanent --remove-service=sshEliminar servicio permitido

Archivos de configuración relevantes

ArchivoDescripción
/etc/sysctl.confParámetros del kernel (ip_forward)
/etc/sysctl.d/*.confDirectorio de configuración modular
/etc/iptables/rules.v4Reglas persistentes de iptables (Debian)
/etc/sysconfig/iptablesReglas persistentes de iptables (RHEL)
/etc/nftables.confConfiguración de nftables
/etc/firewalld/firewalld.confConfiguración principal de firewalld
/etc/firewalld/zones/Definiciones de zonas personalizadas