Pfsense 2.1 OpenVPN 无法访问 LAN 上的服务器

Pfsense 2.1 OpenVPN 无法访问 LAN 上的服务器

我有一个像这样设置的小型网络:

在此处输入图片描述

我有一个 PfSense,用于将我的服务器连接到 WAN,它们使用从 LAN -> WAN 的 NAT。

我有一个使用 TAP 的 OpenVPN 服务器,允许远程工作人员与服务器放在同一个 LAN 网络上。

  • 它们通过 WAN IP 连接到 OVPN 接口。
  • LAN 接口还充当服务器获取互联网连接的网关,其 IP 为 10.25.255.254
  • OVPN 接口和 LAN 接口在 BR0 中桥接
  • 服务器 A 的 IP 为 10.25.255.1,可以连接互联网
  • 客户端 A 通过 VPN 连接,并在其 TAP 接口上分配了一个 IP 地址 10.25.24.1(我在 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

但我无法 ping 通 LAN 接口:

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 接口(LAN 接口,其 IP 为 10.25.255.254)上运行了 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 接口上。

答案1

问题不在于 openvpn 或 pfsense 设备,而在于 VMWare vSwitch。如果您在 VMWare 中运行 pfsense,则应将与 pfsense 网络关联的 vSwitch“混杂模式”从拒绝更改为接受。如果您不这样做,那么 OpenVPN 桥接客户端将看到的唯一主机就是 pfsense 服务器本身。

防火墙上还有一条隐含规则,在 UI 上看不到。您需要仔细检查 PF 日志并手动禁用该规则。

答案2

谢谢 Lucas,你几乎为我提供了解决方案。我已经有了混杂模式在我的 vSwitch 上设置,但你启发我去看看另外两个 VMWare ESXi 6.5 vSwitch安全设置。 允许伪造传输成功了,ping 开始在远程客户端和局域网节点之间流动整个电路。

答案3

天哪,谢谢你,我为此绞尽脑汁好几个小时,试图弄清楚为什么我的桥接 VPN 可以 ping 通网关,但不能 ping 通 LAN 内的主机。原来,我也在 E​​SXi 主机上运行 Pfsense,并且禁用了混杂模式和伪造传输!启用两者解决了这个问题!

相关内容