Openvpn

Pfsense 2.1 OpenVPN 無法訪問 LAN 上的伺服器

  • February 11, 2022

我有一個這樣的小型網路:

在此處輸入圖像描述

我有一個用於將我的伺服器連接到 WAN 的 Pfsense,它們使用來自 LAN -> WAN 的 NAT。

我有一個 OpenVPN 伺服器,它使用 TAP 允許遠端工作人員與伺服器放在同一個 LAN 網路上。

  • 它們通過 WAN IP 連接到 OVPN 介面。
  • LAN 介面還作為伺服器獲取 Internet 連接的網關,IP 為 10.25.255.254
  • OVPN 介面和 LAN 介面在 BR0 中橋接
  • 伺服器 A 的 IP 為 10.25.255.1 並且能夠連接網際網路
  • 客戶端 A 通過 VPN 連接,並在其 TAP 介面 10.25.24.1 上分配了一個 IP 地址(我在 10.25.0.0/16 中為 VPN 客戶端保留了 /24)
  • 防火牆目前允許任意連接 OVPN 到 LAN,反之亦然

目前,當我連接時,客戶端的所有路由似乎都很好:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
300.300.300.300 0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.25.0.0       10.25.255.254   255.255.0.0     UG    0      0        0 tap0
10.25.0.0       0.0.0.0         255.255.0.0     U     0      0        0 tap0
0.0.0.0         300.300.300.300 0.0.0.0         UG    0      0        0 eth0

我可以ping LAN介面:

root@server:# ping 10.25.255.254

PING 10.25.255.254 (10.25.255.254) 56(84) bytes of data.
64 bytes from 10.25.255.254: icmp_req=1 ttl=64 time=7.65 ms
64 bytes from 10.25.255.254: icmp_req=2 ttl=64 time=7.49 ms
64 bytes from 10.25.255.254: icmp_req=3 ttl=64 time=7.69 ms
64 bytes from 10.25.255.254: icmp_req=4 ttl=64 time=7.31 ms
64 bytes from 10.25.255.254: icmp_req=5 ttl=64 time=7.52 ms
64 bytes from 10.25.255.254: icmp_req=6 ttl=64 time=7.42 ms

但我無法通過 LAN 介面 ping:

root@server:# ping 10.25.255.1
PING 10.25.255.1 (10.25.255.1) 56(84) bytes of data.
From 10.25.255.254: icmp_seq=1 Redirect Host(New nexthop: 10.25.255.1)
From 10.25.255.254: icmp_seq=2 Redirect Host(New nexthop: 10.25.255.1)

我在我的 em1 介面(IP 為 10.25.255.254 的 LAN 介面)上執行了一個 tcpdump

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em1, link-type EN10MB (Ethernet), capture size 96 bytes
08:21:13.449222 IP 10.25.24.1 > 10.25.255.1: ICMP echo request, id 23623, seq 10, length 64
08:21:13.458211 ARP, Request who-has 10.25.255.1 tell 10.25.24.1, length 28
08:21:14.450541 IP 10.25.24.1 > 10.25.255.1: ICMP echo request, id 23623, seq 11, length 64
08:21:14.458431 ARP, Request who-has 10.25.255.1 tell 10.25.24.1, length 28
08:21:15.451794 IP 10.25.24.1 > 10.25.255.1: ICMP echo request, id 23623, seq 12, length 64
08:21:15.458530 ARP, Request who-has 10.25.255.1 tell 10.25.24.1, length 28
08:21:16.453203 IP 10.25.24.1 > 10.25.255.1: ICMP echo request, id 23623, seq 13, length 64

所以流量到達 LAN 介面,它也被傳遞到主機和主機回复。但是流量不會放在 LAN 介面上。

問題不在於 openvpn 或 pfsense 設備,而在於 VMWare vSwitch。如果您在 VMWare 中執行 pfsense,您應該將與您的 pfsense 網路關聯的 vSwitch“混雜模式”從拒絕更改為接受。如果您不這樣做,那麼 OpenVPN 橋接客戶端將看到的唯一主機是 pfsense 伺服器本身。

防火牆上還有一條隱式規則,在 UI 上是看不到的。您需要仔細檢查 PF 日誌並手動禁用該規則。

謝謝盧卡斯,你幾乎為我提供了解決方案。我已經在我的 vSwitch 上設置了混雜模式,但您啟發我查看其他兩個 VMWare ESXi 6.5 vSwitch安全設置。 允許偽造傳輸起到了作用,並且 ping 開始在遠端客戶端和 lan 節點之間傳輸完整的電路。

引用自:https://serverfault.com/questions/549336