如何配置 OpenVPN 服务器来为新客户端添加路由

如何配置 OpenVPN 服务器来为新客户端添加路由

我在 OpenVPN 客户端(mikrotik 路由器)后面有一个 LAN,它连接到服务器,并允许连接到服务器的每个其他客户端访问 LAN 内的机器。除了连接到此服务器的其他客户端外,LAN 有自己的子网。我无法配置此客户端以强制服务器添加路由,这将正确路由此子网的流量。目前我必须手动转到服务器并运行:

route del -net <client's subnet> netmask 255.255.255.0 gw <old client's ip>
route add -net <client's subnet> netmask 255.255.255.0 gw <new client's ip>

有什么方法可以改变服务器的设置以使其自动执行此操作吗?

客户端的 IP 是动态的,我更愿意保持这种状态。我尝试添加:mikrotik 路由器上的开放式 VPN 客户端设置非常有限,因此在客户端方面我能做的事情不多,但我希望在服务器端可以做一些事情来在客户端连接时设置路由 + 将此路由推送到其他连接的客户端。我实际上尝试添加

push “route <client's subnet> 255.255.255.0”

在服务器上,但我仍然需要手动设置其他客户端的路由。然而对我来说最重要的是在客户端连接时设置 OpenVPN 服务器 [系统] 路由。

答案1

它应该是push route [subnet] [subnet mask] [metric]

例子:

如果 OpenVPN 服务器的信息是:

Server IP: 10.10.10.254
Subnet: 255.255.255.0
Gateway: 10.10.10.1

OpenVPN IP: 10.10.11.1
Subnet: 255.255.255.0

那么配置应该是:

push route 10.10.10.0 255.255.255.0 1

这应该可以让您的 VPN 客户端添加必要的静态路由来访问 VPN 后面的资源。但是,您可能需要验证本地静态路由,以确保本地流量知道如何路由到 VPN 客户端。

答案2

正确的命令是 openvpn 配置文件中的“route NET MASK GW”。只有当您想要将路由推送到客户端时才使用“push”。

相关内容