Я установил Proxmox VE 5.1 на VirtualBox в macOS (10.12).
Предполагаемая ОС, Debian Strech (Proxmox построен на Debian), имеет 2 "физических" сетевых интерфейса (настроенных из VirtualBox), Host-Only
и NAT
, я могу получить доступ к Интернету через интерфейс 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
Файл /etc /network /interfaces в хосте debian содержит:
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
"Гость", debian видит macOS ("хост") с обоих интерфейсов (IP-адреса macOS: 192.168.56.1, 10.0.3.2).
Виртуальный интерфейс vmbr0
был создан для контейнеров proxmox LXC, я добавил правило iptables для отправки всего трафика из vmbr0 на интерфейс enp0s8
(интерфейс NAT в VirtualBox).
iptables -A POSTROUTING -s 172.16.1.0/24 -o enp0s8 -j MASQUERADE -t nat
Проблема заключается в том, что когда я создаю контейнер LXC внутри proxmox, используя vmbr0
качестве сетевого интерфейса, контейнер LXC не имеет доступа к Интернету, я могу пропинговать "master" proxmox (IP: 172.16.1.1), но больше ничего.
Я также пытался использовать enp0s8 в качестве параметра bridge_ports
, тот же результат.
Файл /etc/network/interfaces
в контейнере LXC (Ubuntu 16.04) содержит:
auto eth0
iface eth0 inet static
address 172.16.1.100
netmask 255.255.255.0
gateway 172.16.1.1
У меня довольно похожий конфиг на другом сервере Proxmox (но на голом железе, а не на установке VirtualBox), и он работает нормально.
Может кто-нибудь сказать мне, что неправильно или отсутствует в конфигурации сети, чтобы разрешить контейнерам доступ в Интернет?