Configuración de la red interna en Proxmox
La red interna creada utilizará una dirección de red 192.168.6.0/24, la dirección IP utilizada por el servidor Proxmox para comunicarse con las máquinas virtuales será la 192.168.6.1.
Creación de la interfaz interna
Para crear la interfaz virtual en Proxmox, tendremos que editar el archivo /etc/network/interfaces y añadir los siguientes parámetros debajo de vmbr0:
auto vmbr1
iface vmbr1 inet static
address 192.168.6.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
Tip
Después de cualquier modificación, podemos ejecutar el siguiente comando para aplicar los cambios y comprobar que estos se hayan ejecutado correctamente:
Una vez aplicados los cambios, se podrá ver como se incluye una nueva interfaz virtual en el servidor Proxmox con los parámetros proporcionados.
Re-envio de puertos
Note
Para completar esta sección nos tuvimos que apoyar en los siguientes recursos:
A pesar de las anteriores configuraciones, tendremos que poder acceder a los servicios alojados en las máquinas virtuales a través de la dirección IP de Proxmox, con lo que incluiremos las siguientes líneas dentro de la misma sección para vmbr1 creada anteriormente:
# Enable ip forwarding and set default forwarding policy to DROP
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -P FORWARD DROP
# Allow creating new connections on ports 80,443,53
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -p tcp --syn --dport 443 -m conntrack --ctstate NEW -j ACCEPT
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT
# Accept pre-established connections from the Internet, allow all connections from the Intranet
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
post-up iptables -A FORWARD -i vmbr1 -o vmbr0 -j ACCEPT
# Redirect petitions to ports 80,443,53 to 192.168.6.254
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to-destination 192.168.6.254:80
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to-destination 192.168.6.254:443
post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp --dport 53 -j DNAT --to-destination 192.168.6.254:53
# Allow machines on the Intranet to access the Internet
post-up iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
# Disable the rules when shutting down the interface
post-down iptables -F
post-down iptables -t nat -F
Tip
- Activar enrutamiento IP y asignar la política de redirección por defecto a "DROP":
# Enable ip forwarding and set default forwarding policy to DROP
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -P FORWARD DROP
- Permitir el inicio de conexiones en los puertos 80, 443 y 53 de Proxmox:
# Allow creating new connections on ports 80,443,53
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -p tcp --syn --dport 443 -m conntrack --ctstate NEW -j ACCEPT
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT
- Aceptar conexiones pre-establecidas desde la red externa y permitir conexiones desde la red interna a Internet:
# Accept pre-established connections from the Internet, allow all connections from the Intranet
post-up iptables -A FORWARD -i vmbr0 -o vmbr1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
post-up iptables -A FORWARD -i vmbr1 -o vmbr0 -j ACCEPT
- Redirigir peticiones a los puertos 80, 443 y 53 de Proxmox a los mismos puertos en la máquina
frontera1mediante DNAT:
# Redirect petitions to ports 80,443,53 to 192.168.6.254
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to-destination 192.168.6.254:80
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to-destination 192.168.6.254:443
post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp --dport 53 -j DNAT --to-destination 192.168.6.254:53
- Permitir el acceso a Internet a las máquinas de la red interna a través de NAT (MASQUERADE):
# Allow machines on the Intranet to access the Internet
post-up iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
- Borrar las reglas aplicadas si se apaga la interfaz:
Con todo esto, será posible acceder a servicios de la red interna desde la red externa sin tener que exponer directamente las máquinas virtuales alojándolos, mejorando considerablemente la seguridad de nuestro servidor.