Acesso à Internet a partir de contêineres LXC no proxmox 5.1 no VirtualBox

0

Instalei um Proxmox VE 5.1 em um VirtualBox no macOS (10.12).

O palpite OS, Debian Strech (Proxmox é baseado no debian), tem 2 interfaces de rede "físicas" (configuradas do VirtualBox), Host-Only e NAT , eu consigo acessar a internet através da interface 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

O / etc / network / interfaces no host debian contém:

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

O "guest", debian, vê o macOS ("host") de ambas as interfaces (macOS IPs: 192.168.56.1, 10.0.3.2).

A interface virtual vmbr0 foi criada para os contêineres LXC do proxmox, adicionei uma regra do iptables para enviar todo o tráfego do vmbr0 para a interface enp0s8 (a interface NAT no VirtualBox).

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

O problema é que quando eu crio um contêiner LXC dentro do proxmox, usando a interface de rede vmbr0 as, o contêiner LXC não tem acesso à Internet, eu posso pingar para o proxmox "master" ( IP: 172.16.1.1) mas nada mais.

Eu também tentei usar o parâmetro enp0s8 como bridge_ports , mesmo resultado.

O arquivo /etc/network/interfaces no contêiner LXC (Ubuntu 16.04) contém:

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

Eu tenho uma configuração bastante semelhante em outro servidor proxmox (mas no bare metal, não na instalação do VirtualBox) e funciona ok.

Alguém pode me dizer o que está incorreto ou faltando na configuração de rede para permitir que os contêineres acessem a Internet?

    
por Roberto 25.04.2018 / 20:53

1 resposta

0

O problema era que o host debian ("master" no proxmox), não tinha o ip_routing ativo, então a execução do seguinte comando começou a funcionar Ok:

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

Agora, eu recebo (do contêiner 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
    
por 27.04.2018 / 08:46