与OpenVPN的pfSense Site-toSite VPN连接但不会路由stream量

使用两台pfSense路由器,我在两个站点之间创build了一个共享密钥VPN。 这两个路由器都是pfSense 1.2.2。 客户端的pfSense框是该站点的网关路由器,但在服务器站点,pfSense不是该LAN的网关。 客户端站点连接到服务器站点确定,并且我得到“初始化顺序完成”日志消息,指示连接成功。

在客户端,我可以使用客户端局域网上的任何一台机器来ping服务器站点上的局域网地址(甚至通过Web界面进行configuration,所以VPN至less在这个地址工作)。 我也可以在“接口IP”(客户端configuration)/“地址池”(服务器configuration)IP范围内ping这两个地址,它们是同一私有子网,并且不在客户端或服务器LAN范围内。

问题是我无法访问服务器站点LAN上的任何其他IP。 我不需要从服务器站点访问客户站点LAN上的机器,但是我确实需要能够从客户站点获得更多的服务器。 目前,客户端LAN上的任何人都可以ping到服务器的LAN接口,而客户端LAN上的任何人都可以从pfSense服务器本身ping通,但不能从服务器LAN ping通。 我在服务器上的LAN接口防火墙规则中添加了任何<>任何规则。

如果我在服务器的LAN接口上捕获stream量,我会看到从客户端LAN站点传来的数据包,但是如果我嗅探到这些数据包,它们就不会进入服务器的LAN。 正如我所说,我已经在LAN接口上添加了一个规则,允许任何对任何如下,所以我还需要做什么,以允许隧道到局域网的stream量,反之亦然?

更新:我在客户端pfSense上为服务器LAN添加了一条推送路线,反之亦然。 我也尝试升级到pfSense 1.2.3的RC,并将opt1接口设置为tun0,然后在opt1和LAN之间添加允许规则。 仍然没有运气。

更新2:需要在接受的答案中描述的服务器LAN上设置正确的路由,但是我忽略提到服务器pfSense / OpenVPN单元在KVM下作为客户操作系统运行,而另一半问题是IP转发需要在主机操作系统的/etc/ufw/before.rules中启用。 这就是我没有更彻底地解释设置的原因。

这可能是一个问题。 想象一下你有以下networking:

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 

当您尝试从外部VPN盒访问SIC时,stream量路由如下所示:

  • 10.2.2.2
  • vpn(互联网)
  • 10.1.1.2
  • 10.1.1.90

似乎很好,但是为了使stream量stream动,10.1.1.90机器应该能够响应,这意味着来自它的数据包也必须可路由到10.2.2.2。 内部客户端有明显的IP:10.1.1.90,掩码:255.255.255.0,路由器:10.1.1.90。 因此,数据包会像这样路由:

  • 10.1.1.90
  • 10.1.1.1(正弦是路由器,而10.2.2.2不是直接可寻址的)
  • 互联网
  • 未find

基本上,回复数据包甚至不会到达VPN。 你能做什么? 很明显,增加路由到内部客户端将所有数据包路由到10.2.2.2不是路由器,而是路由器,例如(Windows盒):

 route add 10.2.2.0 mask 255.255.255.0 10.1.1.2 

这将解决单机上的问题。 答复数据包将去:

  • 10.1.1.90
  • 10.1.1.2(显式路由)
  • vpn(互联网)
  • 10.2.2.2

要解决networking层面的问题,必须同样修改路由器,将所有到10.2.2.0的stream量redirect到10.1.1.2。 这样的答复数据包将去:

  • 10.1.1.90
  • 10.1.1.1
  • 10.1.1.2
  • vpn(互联网)
  • 10.2.2.2

另一个解决scheme是:使您的VPN盒在10.1.1.2接口上进行NAT。 这样的内部机器看起来好像所有的stream量来自10.1.1.2,回复将转到10.1.1.2。 我build议通过路由,因为NAT将需要额外的资源在连接跟踪器VPN盒

您是否创build了防火墙规则以允许stream量在您想要的地方stream动?