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