无法从 pfSense VPN 连接到 LAN 上的 Ubuntu 服务器

无法从 pfSense VPN 连接到 LAN 上的 Ubuntu 服务器

快速摘要

pfSense 服务器已连接到 WAN 和 LAN。此盒子还运行着一个 OpenVPN 服务器。

  • LAN 客户端使用192.168.20.0/24
  • OpenVPN 客户端使用192.168.30.0/24

在局域网上我有两台服务器,一台运行 Ubuntu(15.10),一台运行 OS X(带有服务器的 10.11)。

  • OS X 服务器位于192.168.20.10(静态 DHCP 分配)
  • Ubuntu 服务器位于192.168.20.12(静态 DHCP 分配)

问题

通过 VPN 连接时,我可以 ping 和 traceroute,并且通常可以正常访问 OS X 服务器。但是,Ubuntu 服务器会超时(无法 ping,traceroute 停止在192.168.30.1)。

我也使用 pfSense 的 ping 和 traceroute 工具确认了这个问题。我可以用 LAN 源访问两台服务器,但只有 OS X 可以使用 OpenVPN 源。

这让我相信这是 Ubuntu 的问题,所以我暂时禁用了 UFW 并启用了 IP 转发。没有修复它(我并不指望它们能起作用,但我现在只能猜测)。

有关 VPN 设置的更多详细信息

隧道设置

  • IPv4 隧道网络 =192.168.30.0/24
  • 重定向网关 = TRUE
  • IPv4 本地网络 =192.168.20.0/24
  • 服务类型 = FALSE
  • 重复连接 = FALSE

客户端设置

  • 动态 IP = FALSE
  • DNS 默认域 = TRUE,内部
  • DNS 服务器启用 = TRUE,192.168.20.1(运行 DHCP 服务器和 DNSMasq 的 pfSense 地址)

结论

我无法理解的是为什么它适用于一台服务器,而不适用于另一台服务器。我怀疑 Ubuntu 设置有问题,但我不知道是什么问题。您认为我遗漏了什么,或者我应该在哪里查找?

更新 1

我还确保 pfSense 框上的 unbound 明确允许192.168.30.0/24和之间的 DNS192.168.20.0/24通信。我还确认防火墙和网关规则允许这两个子网之间的通信。仍然无法从 VPN 直接访问 IP 或通过域查找访问 ubuntu 服务器。但是,这两种方法都适用于 OS X 框。

更新 2

我发现我可以192.168.30.1从 OS X ping OpenVPN 网关;但是,从 Ubuntu 超时。我怀疑这意味着 Ubuntu 端的路由表有问题,因为它似乎无法像 OS X 那样与 VPN 子网通信。

更新 3

经过比我愿意承认的更多时间,我终于找到了解决方案。我错过了通往 VPN 子网的该死的路由(我猜 OS X 在有疑问或类似情况时会返回主网关,这就是为什么我不必在那里添加路由的原因)。

因此,这从 Ubuntu 服务器端解决了所有问题。

sudo ip route add 192.168.30.0/24 via 192.168.20.1

一旦修复了这个问题,一切都会顺利进行。非常感谢这个问题并指出我正确的方向。

答案1

确保您的规则允许这样做。您可能在传入 (wan) 或传出 (lan) 接口上有一个限制流量的规则。

相关内容