Proxmox:虚拟机和不同的公共 IP

Proxmox:虚拟机和不同的公共 IP

我有一台服务器,它有两个 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(外部传出接口)来验证您的数据包是否正在从主机节点传出。

相关内容