Escenario: firewall -> eth0 DHCP, eth1 red intnet 172.18.2.1, eht2 red dmz 172.39.2.1 Máquinas dmz -> Apache, eth0 red interna dmz 172.39.2.2, DNS, eth0 red interna dmz 172.39.2.3 Máquinas intnet -> DHCP, eht0 red interna intnet 172.18.2.2, clientes: red interna intnet dhcp Una vez configurado Apache, en firewall: # Habilitar reenvío IPv4 sudo sysctl -w net.ipv4.ip_forward=1 # (Opcional: hacerlo permanente) sudo echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf # Instalar iptables si no está sudo apk add iptables # Limpiar reglas anteriores sudo iptables -F sudo iptables -t nat -F sudo iptables -t nat -X # Políticas básicas sudo iptables -P INPUT ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -P FORWARD ACCEPT Añadir reglas NAT/redirección de puertos SSH: # Redirecciones de puertos desde la WAN (eth0) hacia los servidores DMZ # Apache (puerto externo 2222) sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to-destination 172.39.2.2:22 # DNS (puerto externo 2223) sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2223 -j DNAT --to-destination 172.39.2.3:22 # Hacer masquerade para que las respuestas vuelvan correctamente sudo iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE Ver iptables: sudo iptables -L sudo iptables -L -v sudo iptables -t nat -L -n -v --line-numbers Permitir conexión LAN - DMZ (DNS) # Permitir LAN -> DMZ DNS # 1️⃣ Permitir tráfico LAN → DMZ (todo TCP/UDP o sólo puertos necesarios) sudo iptables -A FORWARD -i eth1 -o eth2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT sudo iptables -A FORWARD -i eth2 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT # 2️⃣ Si quieres limitar solo a ciertos puertos (opcional, más seguro) # Por ejemplo DNS (53) y HTTP (80) sudo iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT sudo iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT sudo iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT sudo iptables -A FORWARD -i eth1 -o eth2 -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT sudo iptables -A FORWARD -i eth2 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT En el servidor DHCP cambiar para añadir los dns y la puerta de enlace: { "Dhcp4": { "valid-lifetime": 4000, "renew-timer": 1000, "rebind-timer": 2000, "interfaces-config": { "interfaces": ["eth0"] }, "lease-database": { "type": "memfile", "persist": true, "name": "/var/lib/kea/dhcp4.leases" }, "subnet4": [ { "id": 1, "subnet": "172.18.2.0/24", "pools": [ { "pool": "172.18.2.70 - 172.18.2.90" } ], "interface": "eth0", "option-data": [ { "name": "domain-name-servers", "code": 6, "data": "172.39.2.3" }, { "name": "routers", "code": 3, "data": "172.18.2.1" } ], "reservations": [ { "hw-address": "08:00:27:CD:6D:00", "ip-address": "172.18.2.84" } ] } ] } } Para comprobar en lubuntu: ip route ...via default 172.18.2.1... Los DNS: resolvectl status Lubuntu al arrancar no recibe bien los DNS (probablemente por usar NetworkManager). Solución, instalar dhclient y hacer: \\ \\ sudo dhclient -r && sudo dhclient -v enp0s3