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 —
- iface eth0 inet static
- 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

¿Algo que comentar?
Lo siento, debes estar conectado para publicar un comentario.