Hi, ich möchte euch mal zeigen, wie ich es hinbekommen habe, meine gebuchten Flex IPs über Proxmox in einen LXC Container zu routen. Nicht wundern, ich habe auch noch ein NAT bei mir eingebaut, sodass ich bei jedem LXC entscheiden kann, ob ich das NAT von meinem Host verwenden möchte oder eine Flex IP.
Für IPv6 habe ich bei meinem Server ein /64 Subnetz bekommen. Ich habe es so eingestellt, dass ich jedem LXC eine beliebige IPv6 Adresse aus dem /64 Netz geben kann.
Als Erstes zeige ich euch meine /etc/network/interfaces
# Loopback-Interface
auto lo
iface lo inet loopback
# Netzwerkkarte (Ens18)
iface ens18 inet manual
# vmbr0 Bridge (mit NAT und GRE Tunnel)
auto vmbr0
iface vmbr0 inet static
address <HOST-IPv4>/24
gateway <HOST-GATEWAY IPv4>
bridge-ports ens18
bridge-stp off
bridge-fd 0
# IPv6 für vmbr0 konfigurieren
iface vmbr0 inet6 static
address <HOST IPv6>/64
gateway <HOST-GATEWAY IPv6>
post-up /sbin/ip -6 route add <HOST-GATEWAY IPv6> dev ens18
post-up /sbin/ip -6 route add default via <HOST-GATEWAY IPv6> dev ens18
pre-down /sbin/ip -6 route del default via <HOST-GATEWAY IPv6> dev ens18
pre-down /sbin/ip -6 route del <HOST-GATEWAY IPv6> dev ens18
# NAT-Konfiguration
post-up ip addr add 10.0.0.1/24 dev vmbr0
post-down ip addr del 10.0.0.1/24 dev vmbr0
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
# Quelle für andere Interface-Dateien
source /etc/network/interfaces.d/*
auto vmbr1
iface vmbr1 inet static
address 192.168.178.1/32
bridge_ports none
bridge_stp off
bridge_fd 0
post-up /root/gre.sh
Dann hier meine /root/gre.sh
#!/bin/bash
# GRE Tunnel erstellen verbinden
ip tunnel add gre1 mode gre local <HOST IP> remote <NOEZ REMOTE IP> ttl 255
ip addr add <Interne Client-IP>30 dev gre1
ip link set gre1 up
ip rule add from <FLEX IP 1> table 20
ip rule add from <FLEX IP 2> table 20
ip rule add from <FLEX IP 3> table 20
ip route add default via <Internes Gateway> dev gre1 table 20
ip route add <FLEX IP 1> dev vmbr1
ip route add <FLEX IP 2> dev vmbr1
ip route add <FLEX IP 3> dev vmbr1
ip link set gre1 mtu 1456
ip link set vmbr1 mtu 1456
Jetzt zeige ich euch, wie ich das Netzwerk einer VM einstelle bei meinen Anwendungsszenarien wie oben erklärt.
Hier die config, damit der LXC über eine Flex IP Zugriff auf das IPv4 Internet hat
Um dem gleichen LXC auch zugriff auf eine IPv6 Adresse aus dem /64 Netz des Hosts zu geben, einfach eine Zweite Netzwerkkarte dem LXC hinzufügen wie hier zu sehen
und um das NAT des Hosts zu verwenden (keine Flex IP) verwende ich die folgenden Einstellungen