Internetzugang aus LXC-Containern in proxmox 5.1 auf VirtualBox
1061
Roberto
Ich habe eine Proxmox VE 5.1 auf einer VirtualBox in macOS (10.12) installiert.
Das vermutete Betriebssystem, Debian Strech (Proxmox basiert auf Debian), verfügt über 2 "physische" Netzwerkschnittstellen (die von VirtualBox konfiguriert werden), Host-Onlyund NATich kann über die NAT-Schnittstelle auf das Internet zugreifen:
root@proxmox:~# traceroute 1.1.1.1 traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets 1 10.0.3.2 (10.0.3.2) 0.792 ms 0.694 ms 0.625 ms 2 1dot1dot1dot1.cloudflare-dns.com (1.1.1.1) 2.829 ms 2.818 ms 3.318 ms
Die / etc / network / interface im Debian-Host enthält:
auto lo iface lo inet loopback auto enp0s3 iface enp0s3 inet static address 192.168.56.101 netmask 255.255.255.0 auto enp0s8 iface enp0s8 inet static address 10.0.3.15 netmask 255.255.255.0 gateway 10.0.3.2 #NAT auto vmbr0 iface vmbr0 inet static address 172.16.1.1 netmask 255.255.255.0 bridge_ports dummy1 bridge_stp off bridge_fd 0
Der "Gast" debian sorgt für macOS ("host") von beiden Schnittstellen (macOS-IPs: 192.168.56.1, 10.0.3.2).
Die vmbr0virtuelle Schnittstelle wurde für die proxmox LXC-Container erstellt. Ich habe eine iptables-Regel hinzugefügt, um den gesamten Verkehr von vmbr0 an die enp0s8Schnittstelle (die NAT-Schnittstelle in VirtualBox) zu senden .
Das Problem ist, dass, wenn ich einen LXC-Container in proxmox erstellt habe, vmbr0der LXC-Container keinen Internetzugang hat, ich die Netzwerkschnittstelle verwenden kann. Ich kann jedoch an den proxmox "master" (IP: 172.16.1.1) ping, aber sonst nichts.
Ich habe auch versucht, enp0s8 als bridge_portsParameter zu verwenden, dasselbe Ergebnis.
Die Datei /etc/network/interfacesim LXC-Container (Ubuntu 16.04) enthält:
Ich habe eine ziemlich ähnliche Konfiguration in einem anderen Proxmox-Server (aber in Bare Metal, nicht in der VirtualBox-Installation) und es funktioniert in Ordnung.
Kann mir jemand sagen, was in der Netzwerkkonfiguration falsch ist oder fehlt, um Containern Zugriff auf das Internet zu gewähren?
1 Antwort auf die Frage
0
Roberto
Das Problem war, dass der Debian-Host ("master" in proxmox) das ip_routing nicht aktiviert hatte. Daher führt die Ausführung des folgenden Befehls aus, OK zu funktionieren:
echo 1 > /proc/sys/net/ipv4/ip_forward
So jetzt bekomme ich (von lxc container):
# traceroute 1.1.1.1 traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets 1 172.16.1.1 (172.16.1.1) 0.978 ms 0.931 ms 0.911 ms 2 10.0.3.2 (10.0.3.2) 0.894 ms 0.810 ms 0.757 ms 3 * * * 4 1dot1dot1dot1.cloudflare-dns.com (1.1.1.1) 5.780 ms 6.463 ms 6.909 ms