我已经找到了很多资源来描述如何在 OpenVPN 服务器后面公开网络。但我找不到太多关于以下情况的信息:
其中一个客户端有两个接口
一个接口连接到互联网
通过该接口 OpenVPN 流量被路由(tun)
OpenVPN网络配置为10.10.0.0/24
该客户端上的另一个接口配置为 192.168.0.0/24
在 192.168.0.0/24 网络上,我有一个内部 Web 服务器
我有另一个 OpenVPN 客户端位于不同位置,它也配置为位于网络 10.10.0.0/24 中
如何使我的第一个 OpenVPN 客户端上的内部 Web 服务器(如上所述)可从我的其他 OpenVPN 客户端访问?
答案1
您可以使用 push-route 在客户端连接时向其推送路由。我认为您还需要使用 client-config-dir 和“route”。
假设您的第一个客户端(带有第二个 NIC)是 C1,另一个客户端是 C2。
以下是服务器配置的示例:
push "route 192.168.0.0 255.255.255.0"
client-config-dir ccd
route 192.168.0.0 255.255.255.0
然后在 ccd 目录中,您需要创建名为“C1”的文件:
iroute 192.168.0.0 255.255.255.0
(表示该客户端可以路由到该子网)
您可能还需要在本地配置路由器,添加静态路由以指示您的本地 OpenVPN 客户端可以将流量路由到特定子网。到目前为止,C2 应该可以访问 C1,但 C2 子网上的任何东西都不能访问。如果 C2 子网应该可以访问 C1 192.168.0.0/24 子网,则需要使用路由设置本地路由器,说明 C2 是通往 192.168.0.0/24 的路径。(当然,根据您的设置,可能还有其他方法可以做到这一点)如果这就是您想要的,您需要在 C2 上启用 IP 路由(在 Windows 下:https://answers.microsoft.com/en-us/windows/forum/windows_7-networking/how-to-enable-ip-routing-in-windows-7/8970e722-e947-460d-80d5-fd6ffc850f3f?auth=1在 Linux 下:https://askubuntu.com/questions/311053/how-to-make-ip-forwarding-permanent)。