Skip to content
Millaredos

Proxmox – Configurar internet una sola interfaz de red

12 de julio de 2023
proxmox

En esta entrada compartiré mi experiencia de alquilar un servidor, instalar Proxmox, y configurar internet a las VM con una sola interfaz de red, y por tanto una única ip pública.

Después, también programé un script, que ejecutado directamente sobre el anfitrión, abre puertos a las VM según necesitemos. Permite también borrar puertos abiertos. Esto en otra publicación.

Index

    Instalación de Proxmox

    En mi caso lo contraté con ovh, y en las maquetas de instalación, una de las opciones era instalar Proxmox Virtual Environment. Está baso en Debian. Por lo tanto, básicamente es Debian modificado y optimizado para la virtualización.

    La definición es básica y se podría ahondar en ella, pero no es el objetivo de esta entrada.

    Una vez instalado, entramos a su panel de administración vía web. https://miip:8006/ Y tendremos algo similar a esto.

    admin proxmox

    Si creas una VM, verás que te asigna de red una virtual vmbr0 en mi caso. Que por mucho que configures, no sale a internet.

    Configurar internet una sola interfaz de red

    Busqué, leí mucha información por internet. Mucho prueba error, pero no daba salido a internet. Incluso vi artículos del propio ovh, configurando internet con una segunda ip. Pero no me apetece pagar una segunda ip. Así que seguí buscando.

    Active el IP_FORWAR editando el fichero /etc/sysctl.conf descomentando la línea net.ipv4.ip_forward=1. Algo hacía mal que no funcionaba.

    Finalmente me fui a la documentación, cosa que debería haber hecho antes. Network Configuration – Proxmox VE y entre una de las opciones, encontré la solución.

    Masquerading (NAT) with iptables que viene siendo lo que escribí arriba, pero añadiendo un par de líneas y configurando la interfaz de red.

    #nano /etc/network/interfaces
    
    auto lo
    iface lo inet loopback
    
    auto eno1
    #real IP address
    iface eno1 inet static
            address  198.51.100.5/24
            gateway  198.51.100.1
    
    auto vmbr0
    #private sub network
    iface vmbr0 inet static
            address  10.10.10.1/24
            bridge-ports none
            bridge-stp off
            bridge-fd 0
    
            post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
            post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
            post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE

    Donde en eno1 address y gateway, deberían aparecer los valores de nuestra ip pública y puerta de enlace. en la interfaz vmbr0 se puede cambiar el 10.10.10.1/24 por 192.168.1.1/24 si os apatece. Van a definir la red interna.

    Configurando las VM

    En los equipos clientes, cuando esté instalado el sistema operativo, o durante la instalación, si se necesita configurar la red, ha de hacerse manualmente. No hay DHCP, aunque podría instalarse.

    red:              10.10.10.50
    Subred:           255.255.255.0
    Puerta de enlace: 10.10.10.1
    DNS:              8.8.8.8

    Con esto, nuestra máquina virtual ya dispondría de salida a internet. En otro post veremos como abrir puertos hacia las VMs.

    Configuración