我应该在 OpenVPN 配置中推送哪些路由以供客户端访问服务器的本地网络?

我应该在 OpenVPN 配置中推送哪些路由以供客户端访问服务器的本地网络?

我正在为我的服务器生成 OpenVPN 配置。我希望客户端能够访问我的服务器的路由器(即 192.168.1.1)以及本地网络,因此我推送了此路由:

192.168.1.1/24

然后在我的 Windows OpenVPN 客户端(官方客户端)上导入 OVPN 文件。

在我的 Windows 上,它可以正常工作。在其他 Windows 上(从我父亲的电脑),它可以连接,但我无法访问 192.168.1.1。我最终访问的是本地路由器,而不是远程路由器。

OpenVPN 论坛上有人说我不应该添加192.168.1.1/24。为什么?那我该怎么做?

答案1

正如 @Hauke Laging 所提到的,您可以将另一个子网/IP(家用路由器较少使用)映射到192.168.1.0/24/ 192.168.1.1。例如:

push "route 10.0.9.0 255.255.255.0"
push "client-nat dnat 192.168.1.0 255.255.255.0 10.0.9.0"

或者

push "route 10.11.12.13"
push "client-nat dnat 192.168.1.1 255.255.255.255 10.11.12.13"

然后您就可以通过VPN 客户端上的/192.168.1.0/24访问192.168.1.1所连接的服务器了。10.0.9.0/2410.11.12.13

也可以使用iptables 中的DNAT或来完成此操作NETMAP。假设您所说的“访问路由器”是指其 Web UI,您甚至可以直接$server_vpn_ip:80对 进行DNAT 操作192.168.1.1:80,前提是 前者尚未被占用。

(注意:假设服务器已经进行 IP 转发和伪装。)

答案2

他们告诉你不要使用,192.168.1.1/24因为几乎所有家用路由器都默认使用该子网。只需将其更改为192.168.2.0/24- 这应该可以解决你的问题。

答案3

避免在 VPN 子网中使用常用的专用网络

这既涉及分配给远程端 VPN 客户端的子网,也涉及需要使用 VPN 访问的所有网络。如果客户端直接连接到本地网络并且该网络具有重叠子网,则该网络优先。

我列出了一些你应该避免使用的子网2017 年的答案

Techspot 有常见默认路由器 IP 地址列表这有助于解决此问题。通常家用路由器使用/24子网。如今,手机经常用于共享网络连接,因此我们也必须考虑这些范围。根据列表,我们可以推断出我们应该避免

  • 192.168.0.0/19- 大多数路由器似乎都使用上述其中一些192.168.31.255
  • 10.0.0.0/24也被广泛使用,并且Apple使用了10.0.1.0/24
  • 192.168.100.0/24被摩托罗拉、中兴、华为和汤姆逊所采用。
  • 摩托罗拉(此外)还使用192.168.62.0/24192.168.102.0/24
  • 192.168.123.0/24由 LevelOne、Repotec、Sitecom 和 US Robotics 使用(不太常见)
  • 一些 D-Links 有10.1.1.0/2410.90.90.0/24

OpenVPN 建议和默认设置

OpenVPN 发表了一篇文章对私有子网进行编号

虽然这些网络块中的地址通常应该用于 VPN 配置,但选择能够最大程度降低 IP 地址或子网冲突概率的地址非常重要。需要避免的冲突类型包括:

  • VPN 上使用相同 LAN 子网编号的不同站点发生冲突,或者
  • 来自使用与您的 VPN 子网冲突的私有子网的站点的远程访问连接。

最好的解决方案是避免使用10.0.0.0/24192.168.0.0/24作为私有 LAN 网络地址。相反,使用在 WiFi 咖啡馆、机场或酒店中使用可能性较低的地址,因为您可能希望从这些地方进行远程连接。最佳候选者是位于巨大网络块中间的子网10.0.0.0/8(例如 10.66.77.0/24)。

对于客户端子网,OpenVPN 默认为10.8.0.0/24。从OpenVPN中的拓扑

子网拓扑是当前推荐的拓扑;出于与 2.0.9 时代配置向后兼容的原因,它不是 OpenVPN 2.3 的默认拓扑。当 Windows 下没有运行 OpenVPN 2.0.9 的旧/过时客户端时,使用子网拓扑是安全的,并且是推荐的。

相关内容