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
sudo dhclient -r && sudo dhclient -v enp0s3