我正在为我的服务器生成 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
. 为什么?那我该怎么做呢?
他们告诉您不要使用
192.168.1.1/24
,因为几乎所有家用路由器默认都使用该子网。只需将其更改为192.168.2.0/24
- 这应该可以解决您的问题。正如@Hauke Laging 所提到的,您可以将另一个子网/IP(家庭路由器较少使用)映射到
192.168.1.0/24
/192.168.1.1
。例如:或者
然后您可以访问
192.168.1.0/24
/192.168.1.1
服务器连接到与10.0.9.0/24
/10.11.12.13
在VPN客户端上。这也可以使用iptables
DNAT
或NETMAP
在 iptables 中完成。$server_vpn_ip:80
假设“访问路由器”是指它的 Web UI,192.168.1.1:80
如果前者还没有被占用,你甚至可以只说 DNAT 。(注意:假设服务器已经在进行 IP 转发和伪装。)
避免 VPN 子网中常用的专用网络
这既涉及分配给远程 VPN 客户端的子网,也涉及需要使用 VPN 访问的所有网络。如果有客户端直接连接到的本地网络并且它具有重叠的子网,则优先。
我列出了一些您应该在2017 年的回答中避免使用的子网:
OpenVPN 建议和默认设置
OpenVPN 发表了一篇关于编号私有子网的文章:
对于客户端子网,OpenVPN 默认为
10.8.0.0/24
. 来自OpenVPN 中的拓扑: