Proxmox:1 个 NIC,1 个公共 IP,无法让虚拟机中的 WAN 接口正常工作

Proxmox:1 个 NIC,1 个公共 IP,无法让虚拟机中的 WAN 接口正常工作

我有一台运行 Proxmox 的计算机,它有 1 个直接连接到互联网的 NIC,并且有一个公共 IP。然后,我运行了不同的虚拟机 (KVM),其中一个是 pfSense。

我想要做的是让主机 (Proxmox) 和 pfSense 位于 DMZ 区域,而其余虚拟机将位于内部 LAN 内,所有流量都必须通过 pfSense。但是我无法让它工作。

我所做的是设置一个连接到( ) 的网桥br0(包含公共地址、网关...)。由于我具有完全连接性,因此这在主机上有效,但在 pfSense 或任何其他 VM 上则不然。eth0iface eth0 inet manual

这里的主要问题是,我不确定在 pfSense 中应该使用什么 IP,因为公共 IP 已经在网桥中定义。在 pfSense 中设置相同的 IP 不起作用(似乎合乎逻辑)。我该怎么做?

答案1

你需要

  1. 创建属于网桥的虚拟适配器(即 tap0)并为其指定一个 IP(例如 192.168.1.1)
  2. 然后将所有虚拟机连接到该网桥,并让它们使用 192.168.1.1 作为网关,然后
  3. 通过启用 IP 转发来设置 Proxmox 主机进行 NAT:
    1. 添加net.ipv4.ip_forward=1/etc/sysctl.conf
    2. 跑步sysctl -p
    3. 添加 NAT 规则iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Proxmox 文档很好地涵盖了这一点(并且更详细)。

相关内容