通过pfSense OpenVPN路由特定的HTTP请求

开始的时候,我对路由,iptables等知之甚less。这就是说,我正在努力完成的任务以及我认为我很难过的地方:

问题:我们有一个外部网站,我们最近防火墙,所以它只接受来自我们的办公室IP地址的stream量。 这在办公室运作良好,但不适用于通过VPN远程访问,因为我们不通过OpenVPN路由所有stream量。 我宁愿避免强迫每个人通过路由所有的stream量,只是为了容纳这一个网站。

环境:主路由器盒正在运行pfSense。 Em0是内部IP,Em1是外部的。 内部networking是10.23.x,VPN是10.0.8.0/24

我相信我需要做的是添加一个路由到VPN服务器configuration,通过VPN隧道发送所有的stream量到该IP。 我认为这部分工作,但我没有得到回应,所以我假设我需要在VPN服务器上的一些NATconfiguration将响应路由回隧道?

到目前为止我发现的是尝试以下方法,但是由于这是FreeBSD上的pfSense盒子,所以我不能运行iptables等。

确保IP转发已启用:echo 1> / proc / sys / net / ipv4 / ip_forward

安装NAT退出:iptables -t nat -A POSTROUTING -s 10.0.8.0/24 -o em0 -j MASQUERADE

我是否在正确的道路上,如果是的话,我该如何通过pfSense UI或FreeBSD CLI来实现? 谢谢!

得到它了! 一个同事,我偶然发现了成功(现在)。

XXX.XXX.XXX.XXX =我们想通过VPN路由的特定站点的IP

解:

  1. VPN> OpenVPN>服务器>编辑>自定义选项:push“routeXXX.XXX.XXX.XXX”;
  2. 防火墙> NAT>出站>
    • select手动出站NAT(AON)
    • 添加2条路线:
      • 接口源SrcPort目的地DestPort NATAddr NATPort静态端口
      • WAN 10.23.23.0/24 * * * * * NO
      • WAN 10.0.8.0/24 * XXX.XXX.XXX.XXX/32 * * * NO
  3. 利润;-)

第3步是可选的。

很高兴你解决了它! 另一种方法是让外部服务器成为VPN的一部分。 然后只需将域设置为服务器新的VPN IP而不是公共IP。 通过这种方式,对外部服务器的所有pipe理访问也通过VPN传播。 加上没有特殊路由或NAT规则。