OpenVPN使重定向网关成为可选


15

我目前正在为多个客户端运行OpenVPN服务器。所有流量都通过VPN进行引导(已将其设置为网关;请按“重定向网关def1”)。

到目前为止,一切正常。但是,我想将几​​个服务器连接到该虚拟专用网络,而这些服务器不使用OVPN守护程序作为网关。

这些服务器必须可以从其WAN和其LAN IP地址访问。某些服务只能从LAN端访问。

对于客户端,有什么方法可以忽略push redirect-gateway选项?

亲切的问候,Tuinslak


很好的问题...我问自己完全一样的事情。
Antoine Benkemoun,2010年

Answers:


15

只需将“ route-nopull”添加到客户端openvpn配置,然后服务器中所有推送的命令都将被忽略。要访问本地网络,如果要连接的本地网络是192.168.5.0/24,则必须在客户端openvpn配置中添加“ route 192.168.5.0 255.255.255.0”。


这会在连接上导致一些错误,但会按预期方式工作:)
Brian Ramsey's

如今(2.4或更高版本)的最佳选择是pull-filter ignore redirect-gateway
mwfearnley

8

如果某些而非全部客户端需要“重定向网关”,则添加“ client-config-dir”选项,例如

  客户端配置目录/ etc / openvpn / clients

并在该目录中放置每个客户端CN的文件,例如,文件Client1将包含

  推复位

这样,服务器默认不会获得“重定向网关”的推送。

高温超导


1
我想这会重置每个推送的选项(包括DNS服务器)吗?
Tuinslak'2

2

只需替换--up脚本中的默认网关即可。您甚至不必在--down中做任何事情(我认为),也只需将其设置为up.sh。

在client.conf中

up up.sh

在up.sh(chmod + x)中

#!/bin/bash
/sbin/ip route replace default 1.2.3.4

其中1.2.3.4是您客户的默认网关


1

截至2016年12月,有一个更新,更简单的解决方案。

您只需要将此行放入您的OpenVPN配置中:

pull-filter ignore redirect-gateway

从字面上看,它过滤从服务器提取的选项,并忽略该redirect-gateway选项。

(根据https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway,它是在2016年12月左右发布的OpenVPN 2.4中添加的。)


-1

在客户端配置文件中删除“重定向网关”选项后,客户端的默认网关将不再更改。在Archlinux / OpenVPN 2.3.2下测试。


我猜这种解决方案将取决于网关是在客户端上配置还是从服务器推送。
mwfearnley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.