Accesso a Internet da contenitori LXC in proxmox 5.1 su VirtualBox


0

Ho installato Proxmox VE 5.1 ​​su un VirtualBox in macOS (10.12).

Il SO guest, Debian Stretch (Proxmox è costruito su debian), ha 2 interfacce di rete "fisiche" (configurate da VirtualBox), Host-Only e NAT, Posso accedere ad internet attraverso l'interfaccia NAT:

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

La / etc / network / interfaces nell'host debian contiene:

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

Il "guest", debian vede su macOS ("host") da entrambe le interfacce (macOS IPs: 192.168.56.1, 10.0.3.2).

Il vmbr0 l'interfaccia virtuale è stata creata per i contenitori LxC proxmox, ho aggiunto una regola iptables per inviare tutto il traffico da vmbr0 al enp0s8 interfaccia (l'interfaccia NAT in VirtualBox).

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

Il problema è che quando creo un contenitore LXC dentro proxmox, usando il vmbr0 come interfaccia di rete, il contenitore LXC non ha accesso a Internet, posso eseguire il ping sul "master" proxmox (IP: 172.16.1.1) ma nient'altro.

Ho anche provato a usare enp0s8 come bridge_ports parametro, stesso risultato.

Il file /etc/network/interfaces nel contenitore LXC (Ubuntu 16.04) contiene:

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

Ho una configurazione abbastanza simile in un altro server proxmox (ma in bare metal, non nell'installazione di VirtualBox) e funziona bene.

Qualcuno può dirmi cosa non è corretto o mancante nella configurazione di rete per consentire ai container l'accesso a Internet?

Risposte:


0

Il problema era che l'host debian ("master" in proxmox) non aveva attivato ip_routing, quindi l'esecuzione del seguente comando inizia a funzionare Ok:

echo 1 > /proc/sys/net/ipv4/ip_forward

Così ora, ottengo (dal contenitore lxc):

# 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.