![Proxmox:虚拟机和不同的公共 IP](https://linux22.com/image/618336/Proxmox%EF%BC%9A%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%92%8C%E4%B8%8D%E5%90%8C%E7%9A%84%E5%85%AC%E5%85%B1%20IP.png)
我有一台服务器,它有两个 NIC,并且都直接连接到互联网。我有五个不同的公共 IP 地址可供虚拟机使用。主机 (Proxmox) 不需要使用任何 IP 地址(它将使用私有 IP,仅此而已),但将具有互联网连接。
我已阅读 Proxmox 文档,但无法理解整体情况,无法根据自己的需求设置正确的网络配置。简而言之,我所拥有的是:
- 一台服务器(Proxmox,主机)
- 在该服务器上,创建了 5 个虚拟机
- 5 个可用的公共 IP 地址(每个虚拟机一个),例如:80.123.21.1、80.123.21.2、80.123.21.3、80.123.21.4、80.123.21.5
我现在要向主持人提供的是以下内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto eth1
iface eth1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.101
netmask 255.255.255.0
bridge_ports eth0
bridge_stp off
bridge_fd 0
auto vmbr1
iface vmbr1 inet manual
它可以从内部网络访问,所以没问题。它有互联网连接,这也没问题。vmbr1 将由虚拟机使用。每个虚拟机在其网络接口配置文件上都有自己的 IP。
由于某种原因,虚拟机无法连接互联网,也无法拥有公共 IP 地址。如果我使用 NAT,它将正常工作,但它们不会使用分配给它们的公共 IP 地址。我遗漏了什么吗?
答案1
您不需要为其分配公共 IP 地址,但您需要将 eth1 分配给桥接端口并提供其他桥接选项。
如果您是 proxmox 新手,webui 支持为您管理以太网接口和网桥。它还可以防止您错误地命名网桥(proxmox 强制使用 vmbrNNNN,其中 N 是 0 到 4095 之间的数字)。
接口文件要求你为任何定义的接口提供一个 IP 地址,因此,为了使它确信这一点,你可以添加一个本地 IP 并保留它,或者像本例中一样,在接口启动完成后立即将其拆除:
auto lo
iface lo inet loopback
iface eth0 inet manual
iface eth1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.101
netmask 255.255.255.0
bridge_ports eth0
bridge_stp off
bridge_fd 0
auto vmbr1
iface vmbr1 inet static
address 127.1.0.1
netmask 255.255.255.255
bridge_ports eth1
bridge_stp off
bridge_fd 0
up ip addr del 127.1.0.1/32 dev vmbr1
编辑:如果您使用任何可能阻止桥接流量的奇怪防火墙规则,请编辑您的问题,以及的值sysctl net.ipv4.ip_forward
。
您可能需要使用 tcpdump -n -i ethN(外部传出接口)来验证您的数据包是否正在从主机节点传出。