Sobre configuraciones de red en PVE

Publicado en 27 agosto, 2020

Notas recopiladas al instalar a18 para documentar un poco las distintas configuraciones de red de host, containers y VMS.

#workinprogress

Maquina host

Su configuración base será:

  • interface principal vmbr0 con IP estática! — ojo parece que la asignación xdefecto de ovh (DHCP) impide el bridge desde kvms
    • se requieren algunos parametros bien documentados en pve docs ( bridge-stp off y bridge-fd 0)
  • interface de red local vmbr10 . 10.0.0.1 que enrutará el tráfico de la red local
    • requiren reglas de enrutamiento y masquerade para que funcione el tráfico de red local
    • post-up echo 1 > /proc/sys/net/ipv4/ip_forward
      post-up echo 1 > /proc/sys/net/ipv4/conf/vmbr0/proxy_arp
      post-up echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
      post-up iptables -t nat -A POSTROUTING -s ‘10.0.0.0/24’ -o vmbr0 -j MASQUERADE
      post-down iptables -t nat -D POSTROUTING -s ‘10.0.0.0/24’ -o vmbr0 -j MASQUERADE

COMO HACER NAT DESDE LA HOST A CONTENEDORES

Solo para CT que solo tienen IP local

El sistema de nat de csf no traspasa la IP de origen por lo que usamos un parche

/sbin/iptables -I FORWARD -i vmbr0 -o vmbr10 -d 10.0.0.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -i vmbr0 -o vmbr10 -d 10.0.0.0/24 -j LOCALINPUT
#nats a la 140 Docker
/sbin/iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m tcp –dport 5140 -j DNAT –to-destination 10.0.0.140:5000
/sbin/iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m tcp –dport 2140 -j DNAT –to-destination 10.0.0.140:22

Esto produce que las IPs baneadas en el host no pasen el NAT pero no hará que se bloquee todo lo bloqueado en el host. Es decir, se requiere firewall en destino para evitar accesos al puerto.

Contenedores solo IP local

No requiren conf especial, solo IP local apuntando al bridge local (vmbr10)

Contenedores con IP pública y local

  • Se configura una interface con la primera IP local y una mac virtual que nos debe asignar OVH y que coincidira
  • se le asigna como gateway el mismo gateway que la maquina host (ip acabada en 254 normalmente)
    • iface eth0 inet static
      address 217.182.113.21
      netmask 255.255.255.255
      # — BEGIN PVE —
      post-up ip route add 51.68.37.254 dev eth0
      post-up ip route add default via 51.68.37.254 dev eth0
      pre-down ip route del default via 51.68.37.254 dev eth0
      pre-down ip route del 51.68.37.254 dev eth0
      # — END PVE —
  • las IPs adicionales que queramos meter se pueden hacer mediante un script en if-up.d (ver abajo)

#! /bin/sh
# Para añadir IPs a la eth0 tras levantar. Deben usar la misma MAC que la de eth0 para funcionar
# hay que poner en down
# PROXY PRINCIPAL
if [ «$IFACE» = eth0 ]; then
ip address add 94.23.181.76/32 dev eth0 label eth0:es2
ip address add 94.23.156.251/32 dev eth0 label eth0:uk2
ip address add 87.98.228.153/32 dev eth0 label eth0:es1
ip address add 87.98.254.153/32 dev eth0 label eth0:geoeng
ip address add 178.33.118.24/32 dev eth0 label eth0:box
ip address add 178.32.59.50/32 dev eth0 label eth0:pgolf
fi

  • se crea una segunda interface en red local con gw a la 10.0.0.1

Sin respuestas to "Sobre configuraciones de red en PVE"


    ¿Algo que comentar?