Networking Proxmox,OPNsense作为pci直通设置,用作防火墙/路由器/IPsec/PrivateLAN/MultipleExtIPs
此设置应基于proxmox,位于proxmox本身上托管的opnsense VM后面,该VM将保护proxmox,向VM提供防火墙、privat LAN和DHCP/DNS,并提供到LAN的IPsec连接,以访问所有未连接的VM/proxmox。 服务器是典型的Hetzner服务器,因此仅在NIC上,但在此NIC上有多个IP或/子网Networking Proxmox,OPNsense作为pci直通设置,用作防火墙/路由器/IPsec/PrivateLAN/MultipleExtIPs,networking,ipsec,proxmox,opnsense,Networking,Ipsec,Proxmox,Opnsense,此设置应基于proxmox,位于proxmox本身上托管的opnsense VM后面,该VM将保护proxmox,向VM提供防火墙、privat LAN和DHCP/DNS,并提供到LAN的IPsec连接,以访问所有未连接的VM/proxmox。 服务器是典型的Hetzner服务器,因此仅在NIC上,但在此NIC上有多个IP或/子网 带有1个NIC(eth0)的Proxmox服务器 3公共1IP、IP2/3由数据中心的MAC路由(至eth0) eth0是通过PCI传输到OPNsense KVM的
I)为什么我无法访问ProxBox.2,但可以访问VMEXT.11(ARP?
二) 这就是为什么我需要从*到*IPSEC链规则来运行IPSEC。这很可能是一个与opnsense非常相关的问题
III)我试图通过在OPNsense中添加虚拟ip、在内部LAN ip中添加1:1 nat以及为所需端口(每个专用LAN ip)打开防火墙来处理另外两个外部ip,但我无法让它运行。问题是,每个私有IP是否应该有一个单独的MAC?要在WAN上获得多ip设置,具体需要什么
添加pci直通
有点超出范围,但您需要的是
- proxmox主机的串行控制台/LARA
- 从opnsense(在我的例子中是vmbr30)到proxmox private(10.1.7.2)的工作LAN连接,反之亦然。当您只有tty控制台并且需要重新配置opnsense接口以添加
em0
作为新的WAN设备时,您将需要此功能
- 您可能在传递之前有一个工作的IPsec连接,或者在传递之后打开WAN ssh/gui以进一步配置opnsense
总的来说,它是——简言之
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
update-grub
vi /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
然后重新启动并确保有iommu表
find /sys/kernel/iommu_groups/ -type l
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
现在找到你的网卡
lspci -nn
就我而言
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-LM [8086:15b7] (rev 31)
执行此命令后,将eth0从proxmox分离并失去网络连接。确保你有一个tty!请用pci插槽更换“8086 15b7”
和00:1f.6
(见上文)
现在编辑虚拟机并添加PCI网卡:
vim /etc/pve/qemu-server/100.conf
并添加(替换00:1f.6)
使用ssh引导opnse连接root@10.1.7.1
从您的tty proxmox主机编辑接口,将em0添加为WAN接口,并将其设置为DHCP-重新启动您的opnsense实例,它应该重新启动
将串行控制台添加到您的opnsense
如果您需要快速灾难恢复,或者您的opnsense实例已损坏,则基于CLI的串行通信非常方便,尤其是如果您使用LARA/iLO进行连接
一定要把这件事做完,加上
vim /etc/pve/qemu-server/100.conf
加
serial0: socket
现在在您的opnsense实例中
vim /conf/config.xml
并添加/更改此项
<secondaryconsole>serial</secondaryconsole>
<serialspeed>9600</serialspeed>
再次按Enter键,您将看到登录提示
提示:您还可以将primaryconsole设置为串行,帮助您进入引导提示等并进行调试
更多关于这方面的信息,请参见
Proxmox上的网络接口
视知觉
WAN是外部IP1,连接em0(eth0 pci直通),DHCP
LAN是10.1.7.1,连接到vmbr30
多IP设置
但是,我只介绍了ExtraIP部分,没有介绍额外的子网部分。为了能够使用额外的ip,您必须为机器人中的每个ip禁用单独的MAC,这样所有额外的ip都具有相同的MAC(IP1、IP2、IP3)
然后,在OPN中,对于每个外部IP,您在防火墙虚拟IP中添加一个虚拟IP(对于每个额外的IP,而不是您绑定WAN到的主IP)。为每个虚拟IP提供一个良好的描述,因为它稍后将出现在选择框中
现在,您可以为每个端口转到防火墙->NAT->转发
- 目标:要从中转发的ExtIP(IP2/IP3)
- Dest-port-rang:要转发的端口,如ssh
- 重定向目标IP:要映射的LAN VM/IP,如10.1.7.52
- 设置重定向端口,如ssh
现在您有两个选择,第一个被认为更好,但可能需要更多的维护
对于访问IP2/IP3服务的每个域,都应该在实际私有IP上定义本地DNS“覆盖”映射。这将确保您可以从内部与您的服务进行通信,并避免自以前使用NATing以来出现的问题
否则,您需要关心NAT反射-否则您的LAN机箱将无法访问外部IP2/IP3,这至少会导致Web应用程序出现问题。执行此设置并激活出站规则和NAT反射:
工作原理:
- OPN可以路由]]访问internet,并在WAN上拥有正确的IP
- OPN可以访问LAN中的任何客户端(VMPRIV.151和VMEXT.11以及PROXMOX.2)
- 我可以通过IPSec移动客户端连接到OPNsense,提供从虚拟ip范围172.16.0.0/24访问LAN(10.1.7.0/24)
- 我可以在连接IPsec时访问10.1.7.1(opnsense)
- 我可以使用IPsec客户端访问VMEXT
- 我可以将端口或1:1NAT从额外的IP2/IP3转发到特定的专用VM
要旨
此设置的效果比使用的替代方案要好得多。现在不再有异步路由了,proxmox上不再需要shorewall,proxmox上不再需要复杂的网桥设置,而且它的性能更好,因为我们可以再次使用绑定校验和
缺点
灾难恢复
对于灾难恢复,您需要更多的技能和工具。您需要proxmox hv的LARA/iPO串行控制台(因为您没有internet连接),并且您需要配置opnsense instanc
vim /conf/config.xml
<secondaryconsole>serial</secondaryconsole>
<serialspeed>9600</serialspeed>
qm terminal 100
auto vmbr30
iface vmbr30 inet static
address 10.1.7.2
address 10.1.7.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
pre-up sleep 2
metric 1