通过 pfSense 在同一个 proxmox 上有多个 public IP 地址
Multiple public IP Address on same proxmox through pfSense
我有一个带有多个 VM/CT 的 proxmox,我目前正在使用 pfSense 进行 NAT 和 VPN。
以前,我只有 2 个 IP 地址,一个用于 proxmox,用于唯一的子网。
现在我想用另一个 IP 地址添加另一个子网,所以我得到了 FO IP 地址并且我分配了与前一个相同的 MAC 地址。
我看到 IP 别名是一个很好的虚拟 IP 解决方案,可以将另一个 IP 匹配到不同的子网。
我为我的 proxmox 创建了另一个接口
auto lo
iface lo inet loopback
auto vmbr0
iface vmbr0 inet static
address PROXMOX.IP/24
gateway PROXMOX.GW
bridge-ports eno1
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet static
address 10.0.111.253
netmask 255.255.255.0
bridge-ports LAN
bridge-stp off
bridge-fd 0
# Only vmbr2 is new, I did not touch the others
auto vmbr2
iface vmbr2 inet static
address 10.0.1.253
netmask 255.255.255.0
bridge-ports LANSWP
bridge-stp off
bridge-fd 0
对于 pfSense 的 VM,我使用 VirtIO 添加了 vmbr2
为了一个新的Ubuntu CT,我添加了一个网络设备(virtIO)
eth0 / vmbr2 / IP 10.0.1.1/24 / GW 10.0.1.254
我添加了新的虚拟IP
WAN 上的 IP 别名,地址 NEW_PUBLIC_IP/32
我为新的 pfSense 界面添加了新的任务
vtnet2 / IPv4:静态 IPv4 / IPv4 地址:10.0.1.254/24
我配置了一个新的 DHCP 服务器:
服务 > DHCP 服务器 > LANSWP
使能够
范围:10.0.1.10 -> 10.0.1.245
DNS 服务器:8.8.8.8、8.8.4.4
ifconfig 告诉我
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
看起来很像之前子网的另一个CT。
我打开新服务器的 80 和 443 端口。
现在,网络服务器可以在互联网上使用了,Yeepee !
但是网络服务器无法连接到互联网
我找到了问题的根源。
当我给pfSense添加接口的时候,pfSense并没有自动创建防火墙规则出去。
所以我添加了规则
Pass / LANSWP / IPv4 / Any protocol / From LANSWP net / To any / Allow IPv4 LAN to internet
Pass / LANSWP / IPv6 / Any protocol / From LANSWP net / To any / Allow IPv6 LAN to internet
现在虚拟机可以访问互联网了。
我有一个带有多个 VM/CT 的 proxmox,我目前正在使用 pfSense 进行 NAT 和 VPN。 以前,我只有 2 个 IP 地址,一个用于 proxmox,用于唯一的子网。
现在我想用另一个 IP 地址添加另一个子网,所以我得到了 FO IP 地址并且我分配了与前一个相同的 MAC 地址。
我看到 IP 别名是一个很好的虚拟 IP 解决方案,可以将另一个 IP 匹配到不同的子网。
我为我的 proxmox 创建了另一个接口
auto lo
iface lo inet loopback
auto vmbr0
iface vmbr0 inet static
address PROXMOX.IP/24
gateway PROXMOX.GW
bridge-ports eno1
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet static
address 10.0.111.253
netmask 255.255.255.0
bridge-ports LAN
bridge-stp off
bridge-fd 0
# Only vmbr2 is new, I did not touch the others
auto vmbr2
iface vmbr2 inet static
address 10.0.1.253
netmask 255.255.255.0
bridge-ports LANSWP
bridge-stp off
bridge-fd 0
对于 pfSense 的 VM,我使用 VirtIO 添加了 vmbr2
为了一个新的Ubuntu CT,我添加了一个网络设备(virtIO) eth0 / vmbr2 / IP 10.0.1.1/24 / GW 10.0.1.254
我添加了新的虚拟IP WAN 上的 IP 别名,地址 NEW_PUBLIC_IP/32
我为新的 pfSense 界面添加了新的任务 vtnet2 / IPv4:静态 IPv4 / IPv4 地址:10.0.1.254/24
我配置了一个新的 DHCP 服务器: 服务 > DHCP 服务器 > LANSWP 使能够 范围:10.0.1.10 -> 10.0.1.245 DNS 服务器:8.8.8.8、8.8.4.4
ifconfig 告诉我
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
看起来很像之前子网的另一个CT。
我打开新服务器的 80 和 443 端口。 现在,网络服务器可以在互联网上使用了,Yeepee !
但是网络服务器无法连接到互联网
我找到了问题的根源。 当我给pfSense添加接口的时候,pfSense并没有自动创建防火墙规则出去。 所以我添加了规则
Pass / LANSWP / IPv4 / Any protocol / From LANSWP net / To any / Allow IPv4 LAN to internet
Pass / LANSWP / IPv6 / Any protocol / From LANSWP net / To any / Allow IPv6 LAN to internet
现在虚拟机可以访问互联网了。