Internetzugang aus LXC-Containern in proxmox 5.1 auf VirtualBox

1028
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 .

iptables -A POSTROUTING -s 172.16.1.0/24 -o enp0s8 -j MASQUERADE -t nat 

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:

auto eth0 iface eth0 inet static address 172.16.1.100 netmask 255.255.255.0 gateway 172.16.1.1 

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?

0

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