使用 pfSense 的公路战士

使用 pfSense 的公路战士

目前我有一台运行 pfSense 的服务器。它在另一个网络上,我只能通过远程登录访问它。我想要做的是设置某种 road warrior 方案,允许我在 pfSense 防火墙后面进行访问。基本上,我想模拟我的机器直接位于 pfSense 后面,从 pfSense 获取 DHCP 地址。这张图片可能有助于澄清:

在此处输入图片描述

我谷歌了一下,但每个指南似乎都说了不同的东西。我对这些东西还是个新手,所以我不知道各种方法之间有什么区别。无论如何,我遵循了这个指南,因为它似乎是我想要做的,但它没有用:

http://www.hacktheory.org/index.php/projects/projects-by-eureka/pfsense-road-warrior-vpn-shrewsoft-ipsec-vpn-updated-pfsense-21-release/

我的问题是:使用 pfSense 实现目标的最佳方法是什么?如果指南概述了最佳方法,那么我会花更多时间尝试使其发挥作用,但我想确保在花时间之前没有更好的方法。提前谢谢。

PS:如果我的问题不够完美,我很抱歉,这是我第一次在这里提问。

答案1

您的要求看起来或多或少与任何公司的 VPN 类似;您希望您的笔记本电脑出现在您的家庭网络上,以便访问互联网(并且很可能进行其他访问)。

我没有使用过 IPsec VPN,正确配置后它们应该可以正常工作,但多年来我一直按照你的建议使用 pfSense 上的 OpenVPN 服务器以及 Windows、Linux 和 Android 上的 OpenVPN 客户端,所以我会给你一些关于 OpenVPN 方面的指导。

首先,推荐阅读:-https://doc.pfsense.org/index.php/VPN_Capability_OpenVPN - 您需要远程访问服务器部分 -https://www.highlnk.com/2013/12/configuring-openvpn-on-pfsense/ - 您可以跳过向导并直接进入向导后进入的正常设置选项卡。-https://openvpn.net/index.php/open-source/documentation/howto.html - 请记住,pfSense 中的所有 GUI 所做的就是为您编写大部分配置文件,并生成一个或三个密钥。

现在,我来谈谈高安全性设置的一些建议,因为我相信

  • 在 PFsense、系统、证书管理器中
    • 为你的 VPN 创建 CA
      • 使用 SHA256 或 SHA512 进行签名,并使用 2048 或 4096 位 RSA 密钥。
        • 即使在 ALIX(500Mhz 单核,256MB RAM)上,我也发现 4096 位密钥就可以了。
      • 理想情况下,将其命名为“VPN1Home_CA_2014Dec”
        • 当下一次 Heartbleed 漏洞迫使你重新生成证书时,或者你想将另一个 VPN 用于其他用途(例如婴儿监视器)时,你稍后就会需要它
    • 为你的 VPN 创建“服务器”证书
      • 使用 SHA256 或 SHA512 进行签名,并使用 2048 或 4096 位 RSA 密钥。
      • 将 CA 设置为您刚刚创建的 CA
      • 理想情况下,将其命名为“VPN1Home_Server_2014Dec”
    • 为您的笔记本电脑、手机以及其他任何您想要的东西创建“客户端”证书
      • 猜测!
    • 为 CA 创建 CRL(证书吊销列表)
      • 您可以将其留空,但您最好在 VPN 中设置一个,以防您以后需要撤销证书。
  • 在 pfSense,服务->OpenVPN
    • WAN 接口
    • 我喜欢选择一个临时范围(49152 到 65535)内的端口,而不是使用默认端口https://en.wikipedia.org/wiki/Ephemeral_port
    • 勾选 TLS 身份验证
      • TLS Auth 就是为什么我对 Heartbleed 并不那么担心的原因。
    • 让它为你创建密钥
    • DH参数长度2048或4096
      • 即使在 ALIX(500Mhz 单核,256MB RAM)上,我也发现 4096 位密钥就可以了。
    • 加密演算法
      • 好的,在 ALIX(500Mhz 单核,256MB RAM)上我坚持使用 AES-128
      • 在这里选择 Camellia 或 AES,具体取决于您的客户端支持什么以及您喜欢的长度。
    • 显然,设置你的网络
    • 必须检查重定向网关;这是控制“redirect-gateway def1”选项的选项
      • 即通过 VPN 发送所有流量。
        • 它会将你笔记本电脑的所有流量发送到 pfSense 盒子,然后再发送到互联网
    • 不要使用压缩,除非你的大部分互联网数据传输都是可压缩的
    • 除非需要,否则不要允许客户互相交谈
    • 高级:输入
      • tls-密码 DHE-RSA-AES256-SHA
  • 注意:如果您使用纯基于证书的安全性,则无需创建 pfSense 用户
  • 在 pfSense 中,确保已设置 DNS 转发/解析器。
  • 在 pfSense 中,设置和/或验证您的防火墙规则
    • WAN 接口
      • 在您上面选择的端口上,入站,TCP 或 UDP 以匹配您的 VPN。
      • 打开日志记录,直到一切正常,也许之后也是如此。
    • OpenVPN 接口
      • 在您分配给 VPN 客户端的 IP 范围内,将 DNS 上的 UDP(53)PASS 到隧道网络的 xyz1 地址,以便客户端可以通过 VPN 获取 DNS。
      • 在您分配给 VPN 客户端的 IP 范围内,将 NTP 上的 UDP(123)传递到隧道网络的 xyz1 地址,以便客户端可以通过 VPN 获取时间同步。
      • 至少在一切正常之前,请打开这些日志记录
  • 对于您的客户
    • 如果你愿意,你可以使用导出 OpenVPN 客户端配置的 pfSense 包
    • 您也可以直接下载二进制包
    • 您将需要以下文件:
      • 系统、证书管理器、CA、仅限您的 CA 的证书
        • 不要下载密钥!只下载证书
        • 随意命名,也许是您已经命名的描述性名称!
        • 用于“ca ca.crt”客户端配置行
        • 显然用你的描述性文件名替换 ca.crt。
      • 系统、证书管理器、证书、客户端证书和密钥
        • 是的,对于这个,关键也是
        • 随意命名,也许是您已经命名的描述性名称!
        • “cert client.crt”客户端配置行中使用的客户端证书
        • 显然用你的描述性文件名替换client.crt。
        • “cert client.key”客户端配置行中使用的客户端密钥
        • 显然用你的描述性文件名替换client.key。
      • 服务、OpenVPN、您的 VPN、TLS 共享密钥
        • 只需从文本框复制并粘贴到文本文件中,其默认名称为“ta.key”
        • 用于“tls-auth ta.key 1”客户端配置行
        • 显然用你的文件名替换ta.key。
    • 根据需要通过 GUI 编辑配置,或自行编辑 .conf 文件
      • 匹配您在服务器中设置的参数;参考资料会有所帮助,或者您可以查找 pfSense 的 OpenVPN 服务器配置文件并简单阅读它;除了 tls-auth 上的 1 vs 0 之外,大多数密码参数对于两者来说都是相同的。
      • 不要忘记添加 tls-cipher
        • tls-密码 DHE-RSA-AES256-SHA

这张图片非常有用;对于那些再也看不到它的人来说,所需的“虚拟”配置看起来像

互联网 | pfSense | 笔记本电脑

请注意实际的我建议的配置是:

互联网(来自 pfSense 的位置)| pfSense | 互联网(仅 OpenVPN 连接)| 笔记本电脑

可能对您有用也可能没用的附加链接:http://pfsensesetup.com/video-pfsense-vpn-part-three-openvpn-pt-1/

相关内容