通过 OpenVPN 访问 pfSense LAN

网络工程 虚拟专用网 感知
2021-08-03 11:05:42

我正在尝试通过 OpenVPN 访问 LAN。

我目前的设置是我有一台机器(Linux(旧))可以成功连接到在 pfSense (2.3.2) 机器上运行的 OpenVPN。pfSense 机器后面是一个 LAN,并连接了第三台机器。

用于 OpenVPN 客户端的子网是10.0.8.0/24. 我正在测试的客户端具有 IP 10.0.8.3

用于 LAN 的子网是X.Y.Z.0/24. LAN 上的机器有 IP X.Y.Z.12,它可以 ping 其网关,X.Y.Z.254.

因此,我希望通过 OpenVPN 连接到 pfSense 的机器能够与 LAN 上的机器通信。在 OpenVPN 服务器的 pfSense 配置中,有一个选项“IPv4 本地网络”,这意味着 VPN 客户端应该可以访问指定的子网。X.Y.Z.0/24选择了那个选项。我还添加了一个防火墙规则,允许从主机10.0.8.0/24到主机的所有流量X.Y.Z.0/24

我做的最后一点配置是我在 OpenVPN 客户端上手动添加了路由规则,因为它们没有被 OpenVPN 客户端成功添加(可能是由于版本不匹配?)。以下是 OpenVPN 客户端上的当前(相关)路由规则:

$ ip route
10.0.8.1 dev tun0  scope link
X.Y.Z.0/24 via 10.0.8.1 dev tun0
10.0.8.0/24 via 10.0.8.1 dev tun0

10.0.8.1是客户端上 OpenVPN 连接命令输出的网关,虽然我无法 ping 通它。当多个 OpenVPN 客户端连接时,它们可以互相 ping 通。

pfSense 可以 ping 通 OpenVPN 客户端和 LAN 上的机器。

使用此配置,我希望尝试X.Y.Z.12从我连接的 OpenVPN 客户端ping应该产生响应,但任何连接尝试都会失败。尝试traceroute X.Y.Z.12只输出星星。

我怀疑要么我需要告诉 pfSense 如何在10.0.8.0/24之间路由流量X.Y.Z.0/24,例如使用网桥或 NAT,要么我的路由表不正确。由于我对网络内容不是很熟悉,因此我可能遗漏了一些明显的东西。

我的配置是否有错误,或者我是否需要采取额外的步骤才能从 OpenVPN 客户端访问 LAN?

1个回答

你走的是正确的道路,你需要一条本地局域网的路由。但是您需要从 LAN 机器返回的路由。目前它只有 XYZ254 的默认路由,因此将其所有流量发送到不在本地 LAN 上的这里。有2个选项:

  1. 在您的网关路由器上添加一条路由,如果它是一个不错的售后路由器,您应该能够添加一条指向 10.0.8.0/24 的路由,指向您的 pfsense 框。因此,任何到达那里的流量都将被引出 OpenVPN 路由。
  2. 如果您无法添加路由,那么对于每个设备,您都需要向 VPN 客户端添加静态路由,以便它通过 pfSense 框知道子网存在。

对于 Windows:

路由添加 10.0.8.0 掩码 255.255.255.0 XYZpfsense -p

^^ 用pfsense box的IP替换你局域网上的IP,P标志是永久加入路由表

对于 Linux:

ip route 通过 XYZpfsense 添加 10.0.8.0/24

^^ 持久地添加它因 Linux 发行版而异