Saltar a contenido

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:

ifreload -a

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 frontera1 mediante 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:
# Disable the rules when shutting down the interface
post-down iptables -F
post-down iptables -t nat -F

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.