ned*_*edm 4 openvpn site-to-site-vpn pfsense kvm-virtualization
使用两个 pfSense 路由器,我在两个站点之间创建了一个共享密钥 VPN。两个路由器都是 pfSense 1.2.2。客户端站点的 pfSense 框是该站点的网关路由器,但在服务器站点,pfSense 不是该 LAN 的网关。客户端站点连接到服务器站点正常,并且我收到“初始化序列已完成”日志消息,表明连接成功。
从客户端站点,我可以使用客户端 LAN 上的任何机器在其 LAN 地址上 ping 服务器站点上的 pfSense 框(甚至可以通过 Web 界面对其进行配置,因此 VPN 至少可以用于该地址)。我还可以 ping “接口 IP”(客户端配置)/“地址池”(服务器配置)IP 范围中的两个地址,它们是相同的私有子网并且不在客户端或服务器 LAN 范围内。
问题是我无法访问服务器站点 LAN 上的任何其他 IP。我不需要能够从服务器站点访问客户端站点 LAN 上的机器,但我确实需要能够从客户端站点访问更多的服务器。目前,客户端 LAN 上的任何人都可以 ping 到服务器的 LAN 接口,并且客户端 LAN 上的任何人都可以从 pfSense 服务器本身 ping 通,但不能从服务器 LAN 上 ping 通。我在服务器上的 LAN 接口防火墙规则上添加了 any <> any 规则。
如果我在服务器的 LAN 接口上捕获流量,我会看到从客户端 LAN 站点传递的数据包,但是如果我嗅探,我看不到这些数据包进入服务器的 LAN。正如我所说,我在 LAN 接口上添加了一条规则以允许如下任意对任意,那么我还需要做什么来允许从隧道到 LAN 的流量,反之亦然?
更新: 我在客户端 pfSense 上为服务器 LAN 添加了推送路由,反之亦然。我还尝试升级到 pfSense 1.2.3 的 RC 并添加一个 Opt1 接口设置为 tun0,然后在 opt1 和 LAN 之间添加允许规则。仍然没有运气。
更新 2:需要按照已接受的答案中的描述在服务器 LAN 上设置正确的路由,但我忽略了服务器 pfSense/OpenVPN 单元作为 KVM 下的来宾操作系统运行,问题的另一半是 IP 转发需要在主机操作系统的 /etc/ufw/before.rules 中启用。这就是我没有更彻底地解释设置的结果。
这可能是一个问题。假设您有以下网络:
address pool: 10.1.1.0/255.255.255.0
router: 10.1.1.1
internal interface on internal vpn server: 10.1.1.2
some external machine that VPNs to network: 10.2.2.2
some internal client machine: 10.1.1.90
Run Code Online (Sandbox Code Playgroud)
当您尝试从外部 VPN 盒访问 SIC 时,流量路由如下所示:
看起来不错,但是,为了使流量流动,10.1.1.90 机器应该能够响应,这意味着来自它的数据包也必须可路由到 10.2.2.2。内部客户端显然有 ip:10.1.1.90,掩码:255.255.255.0 和路由器:10.1.1.90。因此,数据包将像这样路由:
基本上,回复数据包甚至不会到达 VPN。你能做什么?显然,将起作用的是将路由添加到内部客户端以将所有数据包路由到 10.2.2.2 而不是 VPN 框而不是路由器,例如(Windows 框):
route add 10.2.2.0 mask 255.255.255.0 10.1.1.2
Run Code Online (Sandbox Code Playgroud)
这将解决单机级别的问题。回复包会去:
要解决网络级别的问题,您必须以同样的方式修改路由器,将所有去往 10.2.2.0 的流量重定向到 10.1.1.2。这样回复包会去:
另一种解决方案是:在 10.1.1.2 接口上将您的 VPN 盒设置为 NAT。对于内部机器,这种方式看起来好像所有流量都来自 10.1.1.2,而回复将转到 10.1.1.2。不过,我建议通过路由,因为 NAT 将需要 VPN 盒上的额外资源用于连接跟踪器
归档时间: |
|
查看次数: |
16465 次 |
最近记录: |