このセットアップは、proxmox を保護し、ファイアウォール、プライベート LAN、および DHCP/DNS を VM に提供し、すべての VM にアクセスするために LAN への IPsec 接続を提供する Proxmox 自体でホストされる opnsense VM の背後にある proxmox に基づく必要があります。 /NATされていないProxmox。サーバーは典型的な Hetzner サーバーであるため、NIC のみですが、この NIC には複数の IP またはサブネットがあります。
PCIパススルー設定のクラスターブロッカーのため、これが私の代替手段です
- 1 NIC (eth0) を備えた Proxmox サーバー
- 3 つのパブリック 1IP、IP2/3 はデータセンターの MAC によって (eth0 に) ルーティングされます
- KVM ブリッジ設定 (eth0 no ip、ip1 で eth0 にブリッジされた vmbr0)
- 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 -
OPNセンス
- 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) (シェル) から 10.1.7.11 / 10.1.7.151 にアクセスできます
- othervm(10.1.7.151) (シェル) から 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 にアクセスできますが、if エントリがたくさん表示されます
d) IPSec LAN 共有には、IPSEC チェーンに「from * to LAN ACCEPT」というルールが含まれますが、それはうまくいきませんでした。「from * to * ACCEPT」を追加する必要がありました。
質問:
I) もちろん、a)b)c)d) を修正したいのですが、おそらく c) と d) を理解することから始めます。
II) このセットアップで、2 番目の NIC を追加すると役に立ちますか?
III) proxmox ホストで net.ipv4.ip_forward を有効にしたことが問題である可能性があります (むしろルーティングされるべきではありませんか?)
この問題が解決したら、Proxmox でプライベート ネットワークを備えたアプライアンスとして OPNsense を実行し、HAproxe+LE を使用して一部のサービスを外界に渡し、IPsec を使用してプライベート LAN にアクセスする方法に関する包括的なガイドを掲載したいと思います。
更新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 を使用する更新/変更されたセットアップを作成しました。目標は同じです-複雑さが軽減されます-こちらを参照してください