我有專用的 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
這是訪客機虛擬機器01配置:
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
問題是我無法 ping 通虛擬機脫離主機反之亦然。另外,我不知道如何將 vm01:80 路由到互聯網並返回,以使 vm01 反向代理 10.10.11.0/24 網路。
我錯過了什麼?對網路「新手」有什麼建議嗎?
答案1
1) 確保 vmbr1 包含每個 VM 的 Tap 設備:
brctl add vmbr1 tapX
2) 確保主機上的 iptables 允許橋接流量:
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
3) 確保允許透過 vmbr0 進行 NAT:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE