此设置应基于 proxmox,位于托管在 Proxmox 本身上的 opnsense VM 后面,该 VM 将保护 proxmox,为 VM 提供防火墙、私有 LAN 和 DHCP/DNS,并提供到 LAN 的 IPsec 连接以访问所有 VM /Proxmox 未经过 NAT。该服务器是典型的 Hetzner 服务器,因此仅在 NIC 上,但此 NIC 上有多个 IP 或/子网。
由于具有PCI 直通设置的集群阻止程序,这是我的替代方案
- 带 1 个 NIC(eth0) 的 Proxmox 服务器
- 3个公共1IP,IP2/3由数据中心的MAC路由(到eth0)
- KVM 桥接设置( eth0 无 ip,vmbr0 桥接到 eth0 和 IP1 )
- vmbr30、10.1.7.0/24 上的专用 LAN
- proxmox 服务器上的护岸
为了更好地勾勒设置,我创建了这张图:(不确定它是否完美,告诉我要改进的地方)
文字说明:
Proxmox 上的网络接口
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
pre-up sleep 2
auto vmbr0
# docs at
iface vmbr0 inet static
address External-IP1(148.x.y.a)
netmask 255.255.255.192
# Our gateway is reachable via Point-to-Point tunneling
# put the Hetzner gateway IP address here twice
gateway DATACENTER-GW1
pointopoint DATACENTER-GW1
# Virtual bridge settings
# this one is bridging physical eth0 interface
bridge_ports eth0
bridge_stp off
bridge_fd 0
pre-up sleep 2
bridge_maxwait 0
metric 1
# Add routing for up to 4 dedicated IP's we get from Hetzner
# You need to
# opnsense
up route add -host External-IP2(148.x.y.b)/32 dev vmbr0
# rancher
up route add -host External-IP2(148.x.y.c)/32 dev vmbr0
# Assure local routing of private IPv4 IP's from our
# Proxmox host via our firewall's WAN port
up ip route add 10.1.7.0/24 via External-IP2(148.x.y.b) dev vmbr0
auto vmbr30
iface vmbr30 inet static
address 10.1.7.2
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
pre-up sleep 2
metric 1
Proxmox 上的护墙
接口
wan eth0 detect dhcp,tcpflags,nosmurfs
wan vmbr0 detect bridge
lan vmbr30 detect bridge
政策:
lan lan ACCEPT - -
fw all ACCEPT - -
all all REJECT INFO -
OPNsense
- WAN 是 ExternalIP2,使用 MAC-XX 连接到 vmbr0
- LAN 为 10.1.7.1,连接到 vmbr30
什么工作:
- 基本设置工作正常,我可以使用 IP2 访问 opnsense,我可以在 IP1 上访问 proxmox,我可以在 ip3 上访问 rancher-VM——这不需要任何路由。
- 我可以将 IPSec 移动客户端连接到 OPNsense,提供从虚拟 IP 范围 172.16.0.0/24 访问 LAN (10.1.7.0/24)
- 我可以在连接 OpenVPN 时访问 10.1.7.1 ( opnsense )
- 我可以从 OPNsense(10.1.7.1) (shell) 访问 10.1.7.11 / 10.1.7.151
- 我可以从 othervm(10.1.7.151) (shell) 访问 10.1.7.11 / 10.1.7.1
什么不起作用:
a) 从 IPsec 客户端连接到 10.1.7.11/10.1.7.151 或 10.1.7.2
b) [在更新 1 中解决]从 10.1.7.1 连接到 10.1.7.2 (opnsense)
c) 好像我有异步路由,虽然我可以访问例如 10.1.7.1:8443,但我看到很多条目
d) IPSec LAN 共享将在 IPSEC 链中包含 i 规则,“从 * 到 LAN ACCEPT”——但这对我不起作用,我必须添加“从 * 到 * ACCEPT”
问题:
I)当然我想修复a)b)c)d),可能从理解c)和d)开始
II) 在此设置中添加第二个 NIC 会有所帮助吗?
III)我在proxmox主机上激活net.ipv4.ip_forward可能是一个问题(不应该路由它吗?)
当我理顺这一点时,我很想提供一个综合指南,介绍如何在 Proxmox 上将 OPNsense 作为具有专用网络的设备运行,使用 HAproxe+LE 将一些服务传递到外部世界,并使用 IPsec 访问专用局域网
更新1:
从 proxmox 上的 vmbr0 中删除up ip route add 10.1.7.0/24 via IP2 dev vmbr0
解决了 proxmox 既不能访问 10.1.7.0/24 也不能从 LAN 网络访问的问题。
更新2:
我创建了一个使用 pci-passthrough 的更新/更改设置。目标是相同的 - 它降低了复杂性 -见这里