En éste caso la configuración que tenemos del servidor tenemos como siempre en vmbr0 una IP de guifi.net (que trato como ip local) y debido a que el numero de IPs públicas que tengo es limitada, tengo otro bridge vmbr11 con una red interna para comunicar las aplicaciones que sirven HTTP, luego tengo un contenedor con nginx y acceso a las 3 redes, la de guifi, la pública y la interna de las aplicaciones.
Para que las máquinas que están en la red de guifi y la de las aplicaciones puedan acceder a internet tendremos que configurar el NAT, para ello haremos lo siguiente:
En /etc/network/interfaces
root@wezen1A:~# cat /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address 10.90.234.166 netmask 255.255.255.224 gateway 10.90.234.161 bridge_ports eth0 bridge_stp off bridge_fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward iface eth1 inet manual auto vmbr1 iface vmbr1 inet static address 192.168.10.1 netmask 255.255.255.0 bridge_ports eth1 bridge_stp off bridge_fd 0 auto vmbr138 iface vmbr138 inet manual bridge_ports eth0.138 bridge_stp off bridge_fd 0 auto vmbr11 iface vmbr11 inet static address 192.168.100.1 netmask 255.255.255.0 bridge_ports eth0.11 bridge_stp off bridge_fd 0
La vmbr1 la tengo destinada a ceph, para que las maquinas compartan el disco ahí, además con su switch a parte! :) la vmbr138 es la que uso para las IPs públicas, en ésta red no vamos a aplicar NAT porqué las máquinas que estén en ésta red tendrán como gateway la IP del router. En vmbr0 ponemos en post-up el forward de paquetes para ipv4
Luego en /etc/firewall.conf lo siguiente:
root@wezen1A:~# vi /etc/firewall.conf # Generated by iptables-save v1.8.2 on Fri Jul 17 13:21:02 2020 *nat :PREROUTING ACCEPT [585:58848] :INPUT ACCEPT [547:54067] :OUTPUT ACCEPT [606:100626] :POSTROUTING ACCEPT [504:93361] -A POSTROUTING -o vmbr0 -j MASQUERADE COMMIT # Completed on Fri Jul 17 13:21:02 2020 # Generated by iptables-save v1.8.2 on Fri Jul 17 13:21:02 2020 *raw :PREROUTING ACCEPT [231771:237123720] :OUTPUT ACCEPT [220673:362093102] COMMIT # Completed on Fri Jul 17 13:21:02 2020 # Generated by iptables-save v1.8.2 on Fri Jul 17 13:21:02 2020 *filter :INPUT ACCEPT [231615:237099389] :FORWARD ACCEPT [47:14038] :OUTPUT ACCEPT [220672:362092994] -A FORWARD -i vmbr11 -j ACCEPT COMMIT # Completed on Fri Jul 17 13:21:02 2020
Para aplicar ésta configuración y verificar que sea todo correcto
root@wezen1A:~# iptables-restore < /etc/firewall.conf
Y para que se aplique esta configuración al iniciar el sistema
root@wezen1A:~# vi /etc/network/if-up.d/iptables #!/bin/sh iptables-restore < /etc/firewall.conf root@wezen1A:~# chmod +x /etc/network/if-up.d/iptables
Pingback: Proxmox: redireccionar puerto con iptables y preservar la ip - Blackhold