У меня есть выделенный сервер Debian с Proxmox в качестве KVM-менеджера и такой пример сети IP:
IP address 175.19.59.209
Netmask 255.255.255.224
Gateway 175.19.59.193
Сейчас пытаюсь настроить подсети с такой топологией:
\\\\\\\\\\\\\\\\\\\\\\\\\
\\Gateway 175.19.59.193\\
\\\\\\\\\\\\\\\\\\\\\\\\\
\
+----------+
| KVM-host |
| eth0 |
| vmbr0 |
| vmbr1 |
+----------+
|
| +------+ +------+ +------+
+--| vm01 |----| vm02 |--/ /--| vm09 |
+------+ +------+ +------+
Вот как мой хозяин машинный интерфейс теперь настроен:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
address 175.19.59.209
netmask 255.255.255.224
gateway 175.19.59.193
bridge_ports eth0
bridge_stp off
bridge_fd 0
auto vmbr1
iface vmbr1 inet static
address 10.10.11.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
А это гостевая машина vm01 конфигурация:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.11.12
netmask 255.255.255.0
gateway 10.10.11.1
Проблема в том, что я не могу пинговать vmXX вне хоста наоборот. Также я не знаю, как маршрутизировать vm01: 80 в Интернет и обратно, чтобы сделать обратный прокси vm01 для сети 10.10.11.0/24.
Что я пропустил? Что-нибудь посоветуете сетевому "новичку"?
1) Убедитесь, что vmbr1 содержит ответвительные устройства для каждой виртуальной машины:
brctl add vmbr1 tapX
2) Убедитесь, что iptables на хосте разрешает трафик моста:
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
3) Убедитесь, что вы разрешаете NAT через vmbr0:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE