VPN服务器和客户端(可能)在同一台机器上

时间:2017-01-17 11:18:58

标签: vpn raspberry-pi3 dd-wrt

我想要实现的目标是:

  • 以客户端身份连接到VPN,并通过VPN路由我内部网络的所有流量。

  • 运行VPN服务器,以便外部人员可以连接到我的内部网络并通过a.m.VPN客户端路由。

我正在尝试使用运行dd-wrt(netgear D6200)和/或覆盆子pi的路由器来实现这一目标。

有人能告诉我是否可以实现这一点,是否可以指导我找到可能的解决方案?

(我不是在寻找教程,只是一个方向)

谢谢!

2 个答案:

答案 0 :(得分:0)

这个帖子可能不属于这里。

考虑使用OpenWRT代替dd-wrt。 OpenWRT为您提供了一个可用的构建系统,更易于定制和构建。我不是在倡导OpenWRT。这可以是一个止损措施。

  1. 您可以使用该标准设置OpenVPN服务器和OpenVPN客户端 OpenWRT Wiki和OpenVPN网站上提供的文档。

  2. 将以下指令server.conf添加到OpenVPN redirect-gateway def1。这会将默认网关推送到连接到OpenVPN服务器的客户端。此外,请确保您为VPN客户端使用唯一的网络IP池,并且不会与删除VPN服务器冲突。

  3. 在转发删除VPN服务器之前,请确保伪装VPN流量(本地VPN服务器的客户端)。这可能很棘手,因为此接口在引导时不存在。需要使用updown脚本

  4. 进行配置
  5. 确保您允许VPN接口上的流量(本地VPN服务器的客户端)在防火墙规则中转发

  6. 在设置OpenVPN服务器之前,请确保

    1. 删除VPN服务器正在将默认网关推送到您的VPN 客户
    2. 您已正确设置防火墙

    3. 您可以通过远程VPN服务器访问云。使用www.whatismyip.com等网站进行检查有助于

答案 1 :(得分:0)

是的,这可以通过Netgear上的dd-wrt来实现。 不需要Raspberry(除非您打算在其上运行远程VPN服务器)。

  1. 在dd-wrt上配置并运行VPN服务器-并通过连接客户端尝试连接。两种tun / tap都应该可以正常使用(运行VPN客户端)。我用tun测试过。

  2. 在dd-wrt上配置并运行VPN客户端,然后尝试连接到您的VPN服务器。默认情况下,路由器应开始通过VPN服务器引导所有流量(针对其自己的LAN客户端)。 到现在为止还挺好。

当您希望dd-wrt的VPN客户端(而不仅仅是LAN客户端)采用相同的路由时,就会出现问题。通过在dd-wrt上运行的VPN客户端,dd-wrt自己的VPN客户端将无法连接到在dd-wrt上运行的VPN服务器。要使其正常工作,请参见下文。

  1. 这仅可通过PBR实现-即您在dd-wrt上运行VPN客户端,但将路由器本身从该客户端上取下,并仅通过dd-wrt上运行的VPN客户端路由特定的客户端。

通过使用子网掩码的一些调整,可以将您的所有LAN和VPN IP包含在PBR策略中,以便所有内容(路由器本身除外)都通过远程VPN服务器进行路由。

关键是要在PBR中包含dd-wrt的 VPN客户端的虚拟IP 。在dd-wrt上配置VPN服务器时,有一个用于指定客户端网络和网络掩码的字段。 如果您在客户端进程的PBR策略中使用此网络IP和网络掩码,则您的(dd-wrt)VPN客户端将能够连接到dd-wrt上运行的VPN服务器,并依次通过远程VPN服务器路由到该客户端。 dd-wrt作为客户端连接。