TIP sobre configuración de la red de Proxmox

Saludos nuevamente.

En este nuevo post vengo con algo referente a la configuración de red de Proxmox VE.

Pienso que muchos de los que ya han utilizado a Proxmox VE como plataforma de virtualización se han dado cuenta de su potente característica de Clúster HA para la [auto]migración de las VM cuando hay algún fallo en uno o varios de los hipervidores. Acá en Santiago de Cuba me he tropezado con varios admines que me plantean el mismo problema: cuando la máquina virtual se migra de un hipervisor a otro se pierde la conectividad de la misma.

Bueno, el año pasado cuando estaba ayudando a un amigo mío a configurar un pequeño Clúster HA de Proxmox VE con dos servidores DELL PowerEdge T420 me puse a averiguar en Internet cómo resolver este problema. Claro está que él contaba con una ventaja: tenía un switch L2 Allied Telesis AT-GS950/24 que permitía hacer unas cuantas cosas cómicas. Por lo tanto, lo que voy a explicar aplica solamente en caso de que el admin disponga de switches L2 administrables (ah, y preferentemente Gigabit Ethernet o 10 Gigabit Ethernet) y tarjetas de red que soporten IEEE 802.1Q/P en los hipervisores.

La infra de laboratorio que montamos fue la siguiente:

VyOS - VLANs

Con el paso de los meses dicha infra fue cambiando para adaptarla a sus necesidades (que son muchas porque está muy limitado en recursos).

Entonces me di a la tarea de ver cómo solucionaba el problema de la conectividad de las VMs. Los pasos fueron los siguientes:

1.- Ver si la tarjeta de red de los hipervisores tenía las características deseadas:

Con respecto a las interfaces de red, pueden ser de los tipos siguientes:

  • Realtek RTL8139B, RTL8110SC(L), RTL8111C, RTL8169S (estás las oferta COPEXTEL) [PCI 32 y 64 bits]
  • Allied Telesis (PCI 64 bits)
  • Intel® PRO/1000 GT/MT/PT de uno, dos o cuatro puertos, donde la GT es la más barata de todas. Estas tarjetas están recomendadas para redes donde se manejen muchas VLANs. (http://www.openredes.com/)
  • Broadcom (vienen on-board en muchos servidores)

 

Estos modelos tienen entre otras características:

  • RFC 894 – Ethernet II encapsulation
  • IEEE 802.1D MAC bridges
  • IEEE 802.1Q/P Virtual LANs
  • IEEE 802.2 logical link control
  • IEEE 802.3ab 1000T
  • IEEE 802.3ad (LACP) link aggregation
  • IEEE 802.3u 100TX
  • IEEE 802.3x full-duplex operation
  • IEEE 802.3z Gigabit Ethernet

 

Bueno, si la tarjeta de red cumple con las condiciones iniciales deseadas, pues, pasar al siguiente paso.

2.- Crear las VLANs y configurar puertos en modo IEEE 802.1Q (VLAN Tagging) en el switch

Como se dijo anteriormente, el switch en cuestión era un Allied Telesis AT-GS950/24, el cual trae un gestor web para configurarlo de manera más fácil, aunque también se puede hacer en modo CLI (el set de instrucciones no será como el de Cisco, pero se le parece aaaaaaaaaaaaaalgo). En él configuramos 6 subredes, donde 5 estaban destinadas a subredes internas y la sexta era para el enlace externo hacia la Red CUBA (Intranet CUBA es su alcance solamente). Sí, había que aprovechar al máximo el switch para poder hacer VRRP con los posibles PC-Routers que nos decidiésemos a instalar (de momento dos).

NOTA IMPORTANTE: Para entender los conceptos de VLAN, puerto tagged, puerto untagged, VRRP, etc., recomiendo darse un saltico por Wikipedia o Ecured antes de seguir.

La configuración del switch fue la siguiente:

  • Modo de configuración de las VLANs (en nuestro caso la 802.1Q Tagged VLAN)

 

AT-GS950-24 - VLAN Mode

  • Lista de VLANs (Crear las VLANs primero, las cosas parte por parte para que se den mejor)

 

AT-GS950-24 - VLAN List

  • Configuración de los puertos de la VLAN 1

 

AT-GS950-24 - VLAN 1 - Configuration

Resultado parcial:

AT-GS950-24 - VLAN 1 - Final Settings

NOTA: Dejé el puerto 24 para la VLAN 1 por sia caso pasa algo inesperado.

  • Configuración de los puertos de la VLAN 2

 

AT-GS950-24 - VLAN 2 - Configuration

Resultado parcial:

AT-GS950-24 - VLAN 2 - Final Settings

  • Configuración de los puertos de la VLAN 3

 

AT-GS950-24 - VLAN 3 - Configuration

Resultado parcial:

AT-GS950-24 - VLAN 3 - Final Settings

  • Configuración de los puertos de la VLAN 4

 

AT-GS950-24 - VLAN 4 - Configuration

Resultado parcial:

AT-GS950-24 - VLAN 4 - Final Settings

  • Configuración de los puertos de la VLAN 5

 

AT-GS950-24 - VLAN 5 - Configuration

Resultado parcial:

AT-GS950-24 - VLAN 5 - Final Settings

  • Configuración de los puertos de la VLAN 6

 

AT-GS950-24 - VLAN 6 - Configuration

Resultado parcial:

AT-GS950-24 - VLAN 6 - Final Settings

  • Configuración de pertenencia de los puertos a sus VLANs correspondientes

 

AT-GS950-24 - Port Settings - 1 AT-GS950-24 - Port Settings - 2

Una vez que se hagan todos los cambios necesarios en el switch, queda salvar los cambios en el mismo para que sean permanentes.

3.- Configurar el PC-Router para que pueda enrutar todo el tráfico entre las subredes

NOTA: La configuración del PC-Router es extensa, en esta parte sólo me centraré en la configuración de las interfaces de red, que son las que, inicialmente, permiten que haya encaminamiento entre las 5 subredes internas. Ya el tema del encaminamiento de la VLAN 6 es harina de otro costal, dado que interviene el NATing/PATing entre los servidores que actúan como DMZ y las redes externas.

Bueno, hablé de la configuración de las VLANs, entonces el direccionamiento IP de ellas es el siguiente:

  • VLAN 1: Dispositivos de conectividad, 10.0.1.0/28
  • VLAN 2: Gestión de los Hipervisores Proxmox, 10.0.1.8/29
  • VLAN 3: Administradores de Red de la Empresa, 10.0.1.16/29
  • VLAN 4: Servidores de Red de la Empresa, 10.0.1.32/28
  • VLAN 5: Red LAN de la Empresa, 10.0.1.128/25
  • VLAN 6: Red WAN – Red CUBA (ETECSA), 190.6.YYY.120/29

 

Donde la distribución de los puertos en el switch queda así:

VyOS - VLANs en el switch

Con respecto a las interfaces de red, el PC-router físico tiene una sola interfaz de tipo on-board Realtek 8111.

Entonces, teniendo esto en cuenta, a modo de ejemplo se muestra un pequeño segmento del código de la configuración de las interfaces de red del VyOS en el PC-Router físico:

set interfaces ethernet eth0 vif 1 address 10.0.1.1/29

set interfaces ethernet eth0 vif 1 description «VLAN de los Equipos de Internetworking»

set interfaces ethernet eth0 vif 2 address 10.0.1.9/29

set interfaces ethernet eth0 vif 2 description «VLAN de Gestión de los Hipervisores»

set interfaces ethernet eth0 vif 3 address 10.0.1.17/29

set interfaces ethernet eth0 vif 3 description «VLAN de los Administradores de Red»

set interfaces ethernet eth0 vif 4 address 10.0.1.33/28

set interfaces ethernet eth0 vif 4 description «VLAN de los Servidores de Red»

set interfaces ethernet eth0 vif 5 address 10.0.1.129/25

set interfaces ethernet eth0 vif 5 description «VLAN de la Red LAN de la Empresa»

set interfaces ethernet eth0 vif 6 address 190.6.YYY.122/29

set interfaces ethernet eth0 vif 6 description «Red WAN – Red CUBA»

4.- Configuración de las interfaces de red de los Hipervisores Proxmox VE

Ahora toca el turno a la configuración de la red de los Proxmoxes, y para tener una idea de lo que se va a hacer primeramente hay que interiorizar la siguiente imagen:

Proxmox-DRBD Infrastructure

NOTA: Por cierto, cuando hicimos esto, la versión de VyOS hasta ese momento era la 1.0.4, hasta ayer que revisé su sitio web andan por la 1.1.6 y cocinando la versión 2.

Si ya se está claro de lo que se va a hacer, vamos al plato fuerte. La filosofía es asignar un bridge para cada VLAN, donde el único que tenía una dirección IP directa es el que va a permitir la gestión del hipervisor:

Configuración del hipervisor 1

 

auto lo

iface lo inet loopback

 

iface eth0 inet manual

 

auto vmbr1

iface vmbr1 inet manual

      bridge_ports eth0.1

      bridge_stp off

      bridge_fd 0

 

auto vmbr2

iface vmbr2 inet static

      address 10.0.1.10

      netmask 255.255.255.248

      gateway 10.0.1.9

      bridge_ports eth0.2

      bridge_stp off

      bridge_fd 0

 

auto vmbr3

iface vmbr3 inet manual

      bridge_ports eth0.3

      bridge_stp off

      bridge_fd 0

 

auto vmbr4

iface vmbr4 inet manual

      bridge_ports eth0.4

      bridge_stp off

      bridge_fd 0

 

auto vmbr5

iface vmbr5 inet manual

      bridge_ports eth0.5

      bridge_stp off

      bridge_fd 0

 

auto eth1

iface eth1 inet static

      address 10.0.0.1

      netmask 255.255.255.252

      network 10.0.0.0

      broadcast 10.0.0.3

      pointtopoint 10.0.0.2

 

Configuración del hipervisor 2

 

auto lo

iface lo inet loopback

 

iface eth0 inet manual

 

auto vmbr1

iface vmbr1 inet manual

      bridge_ports eth0.1

      bridge_stp off

      bridge_fd 0

 

auto vmbr2

iface vmbr2 inet static

      address 10.0.1.11

      netmask 255.255.255.248

      gateway 10.0.1.9

      bridge_ports eth0.2

      bridge_stp off

      bridge_fd 0

 

auto vmbr3

iface vmbr3 inet manual

      bridge_ports eth0.3

      bridge_stp off

      bridge_fd 0

 

auto vmbr4

iface vmbr4 inet manual

      bridge_ports eth0.4

      bridge_stp off

      bridge_fd 0

 

auto vmbr5

iface vmbr5 inet manual

      bridge_ports eth0.5

      bridge_stp off

      bridge_fd 0

 

auto eth1

iface eth1 inet static

      address 10.0.0.2

      netmask 255.255.255.252

      network 10.0.0.0

      broadcast 10.0.0.3

      pointtopoint 10.0.0.1

Ah, por cierto, esto se puede hacer a través del gestor gráfico, pero nos gustó más hacerlo en modo texto.

Reiniciamos los hipervisores para que cogieran los cambios en la red y creamos las máquinas virtuales de manera tal que, en dependencia de la VLAN a la que pertenece la VM (normalmente la de los servidores, si dichas VMs son eso mismo). Incluso si se desea tener una estación de trabajo virtual para probar los servicios de la red como si fuese un usuario más, perfectamente se puede hacer.

Entonces, al migrar las máquinas virtuales entre los hipervisores, las mismas se encuentran con la misma configuración de red en el hipervisor por donde pasa (cada bridge asociado a su VLAN), así que no pierde la conectividad.

😀

 

Acerca de Hector Suarez Planas

Es Licenciado en Ciencia de la Computación (3 de julio de 2002). Ha sido Administrador de Red en varias organizaciones, Programador y Analista de Sistemas. Actualmente se desempeña como Administrador de Red del Telecentro Tele Turquino de Santiago de Cuba. Tiene experiencia con sistemas Windows y GNU/Linux, Infraestructura de Redes (Cisco, AlliedTelesis, Netgear y HP ProCurve, Vyatta/VyOS), Servidores tanto físicos como virtuales (plataformas VMWare, Proxmox VE y Xen), Sistemas de Seguridad Informática (Snort/Suricata IDS, appliances AlienVault OSSIM), programador (Delphi, C++ Builder, Perl [poco], Python [algo]), entre otras cosas. Actualmente estoy incursionando en todo lo que tiene relación con Cloud Computing (OpenStack) y Centros de Datos. :-)
Esta entrada fue publicada en Debian, Debian Networking, Linux, Proxmox VE, Vyatta/VyOS/EdgeOS. Guarda el enlace permanente.

13 respuestas a TIP sobre configuración de la red de Proxmox

  1. William dijo:

    hermano, necesito tu ayuda,, si quieres me escribes a correo para que me puedas explicar mejor, es la 1 ves que pruebo el proxmox , jeje
    me hace falta virtualizar en proxmox 4.3 un pfsense (como firewall) y un debian (como proxy, apache y etc) la pc en cuestión tiene la tarjeta en board y 2 tarjetas pci, la conexión es a través de un adsl ,, como podría configurar la red en ese caso, pq me tope que cuando fui a asignarle la tarjetas de red al pfsense me aparecían cosas como VirtlIO(paravirtualizado) y VMware vmxnet3 y suna realtek y otra intel pero ni rastro de la otra , pero en nodo-system-redes me aparesen me salen eth0 eth1 eth2 vmbr0 pero sin los nombre y no se cual es cual

    • Hector Suarez Planas dijo:

      Saludos, William.

      Mira, en esta URL http://nihilanthlnxc.cubava.cu/2016/04/28/publicada-la-version-4-2-de-proxmox-ve/#comment-235, que es la respuesta a un comentario anterior, puedes ver a grandes rasgos el esquema a seguir. No obstante, te explicaré.

      Primero que todo, decir que no uso pfSense y, hasta ahora, no me considero fan de esa distro y sé que tiene un montón de características buenas. Veo que todos los vientos están soplando en su dirección.:-)

      Me dices que tienes un nodo con 3 tarjetas de red. Ahí te recomiendo que las uses todas, o sea:

      – Una para la conexión con el router ADSL de ETECSA.
      – Una para la subred de servidores
      – Una para la subred LAN donde están todas las estaciones de trabajo

      Condición mandatoria: Debes tener ya de antemano los rangos de direcciones IP que vas a utilizar para cada subred y sus parámetros (dirección IP de la puerta de enlace, máscara de subred y broadcast).

      En tu Proxmox VE usarás 3 bridges, cada uno asociado a su tarjeta de red física. Una vez que tengas eso, creas tu máquina virtual KVM (repito KVM, no Contenedor LXC), y en la parte de la red le asignas tres tarjetas de red virtuales (OJO: no sé cómo el BSD subyacente del pfSense gestiona los buses VirtIO, por lo que debes probar tanto con ese, como con Intel PRO 1000, o sea, E1000), cada una asociada a un bridge.

      Ah, suponiendo que pongas el Proxmox VE en la subred de servidores, al bridge correspondiente deberás establecerle una dirección IP porque, en caso contrario, no podrás gestionarlo.

      NOTA: No sé si esto te alentará o desanimará, pero no uso mucho la WebGUI cuando manipulo el networking del Proxmox VE, me gusta más el CLI.

      Después de todo eso, pues, ya lo que tienes que hacer es configurar tu pfSense como si fuera un PC-router físico. Lo demás ya lo sabes.

      Espero te sirva. 🙂

  2. ArmandoF dijo:

    necesito ayuda con eso, aca tengo un trabajito pesadito para eso escribeme por telegram para ver eso

  3. Alejandro dijo:

    Hola como estas, estoy teniendo un problema, tengo montado proxmox 4.4 el servidor tiene una IP/30 y luego tengo 13 IP/28 para asignar a las virtuales, creo contenedores y asigno un bridge y una IP /28 y no tiene salida a internet ni nada, que estoy haciendo mal?

    • Hector Suarez Planas dijo:

      Saludos, Alejandro.

      Primero que todo, gracias por su comentario.

      Realmente no da muchos elementos sobre la topología de lo que quiere hacer exactamente. Asumo que el nodo tiene dos tarjetas de red y quiere utilizar las direcciones IP de su rango CIRD /28 (14 disponibles), porque ya del primer rango (el que me dice que es /30) usó la que quedaba disponible. Ahora bien, ¿dispone de un PC-Router o Router para establecer las rutas o…? ¿Dispone de un vPC-Router instalado en una VM en el nodo?

      Con la poca información que ha proporcionado no le puedo ayudar mejor. 🙁

  4. Maxwell dijo:

    Amigo, necesito de su ayuda,
    Tengo un server con 2 tarjetas de red, instalé Proxmox v4.0, primera vez que intento realizar la virtualización. La idea que tengo es crear 3 VM donde en una tendré el proxy para dar acceso a internet a varios clientes, en otra VM el server de correo, y en la otra VM el servidor web con Apache para hospedar el sitio web de la institución y q se acceda a él desde internet. Cada una de estas VM deben tener una IP para el acceso a la LAN de los clientes, y a su vez deben poder comunicarse por la WAN, que imagino tendré que configurarla en las interfaces del propio servidor, o no sé si tendré q asignarle una IP pública a cada VM. Cómo puedo hacer esto?, cuál sería la configuración de cada VM y el de sus interfaces de red?. Yo cuento con más de 3 IP públicas para este trabajo. Espero por su ayuda lo más urgente posible. Gracias

  5. Mario dijo:

    Excelente articulo, si utilizamos un switch cisco 2950 y creamos un troncal , digamos al puerto 23 y 24 para ambos servidores proxmox?

    Tengo entendido que una vez configurado el switch y los servidores, puede una VM tener 2 NIC pero virtuales, a cada nic le corresponderia una VLAN, ejemplo : eth0 – Vmbr1/VLAN10 + eth1 – Vmbr1/VLAN20, en la VLAN10 a un rango 192.168.10.0/24, al VLAN20 a un rango 192.168.20.0/24… Habra una configuracion especial para el caso de los proxmox trabajando las interfaces en modo troncal?

    Gracias y saludos.

    • Hector Suarez Planas dijo:

      Saludos, Mario.

      Primero que todo, gracias por su comentario.

      Sí, y no sólo un Cisco 2950, puede usar cualquier tipo de switch L2 que permita crear trunks y VLANs del tipo IEEE 802.1Q/P (por favor, no se le ocurra usar switches TP-LINK de esos que son administrables solamente por web y no tienen puerto serie, creo que son los SG2224WEB o similares, no recuerdo bien).

      Se puede crear un troncal con dos puertos, asumiendo que el switch es GbE, y que los mismos sean VLAN Tagged en las VLANs que desee autorizar; luego se crean los bridges asociados a dichas VLANs basados en la interfaz bond del nodo Proxmox VE. De ahí, es sólo crear el EV y asociarlo al bridge (VLAN) correspondiente. En la mayoría de las veces he hecho eso con puertos simples por falta de disponibilidad, pero ahora que tengo un equipamiento más o menos responsable puedo hacerlo usando bonding/trunking.

      Créame cuando le digo que es algo maravilloso hacer eso tanto en Proxmox VE, como en OpenStack.

      Espero le sirva.

      • karelia dijo:

        Tengo un problema con mi proxmox mo interfaz web en mi navegador no funcionan y entonces todos los contenedores dentro de el dan ping pero el ip del proxmox no, que puede estar pasando

        • Hector Suarez Planas dijo:

          Saludos, Karelia.

          Primero que todo, gracias por su comentario.

          Hum… Ese comportamiento está un poco extraño. De hecho, cuando se establece la dirección IP de gestión en el Proxmox VE durante su instalación, esta es visible desde donde se permita; pero si no la ve, debe revisar toda la cadena.

          Espero le sirva.

          🙂

Responder a ArmandoF Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *