如何拒绝OpenVPN服务器推送的路由?


27

当我通过Internet建立到企业OpenVPN服务器的OpenVPN客户端连接时,它会推送几条静态路由。不幸的是,这些路由与我自己的路由冲突时,破坏了我本地网络环境中的某些连接。我该如何拒绝这些路线?

Answers:


30

时代在不断发展,截至2017年(OpenVPN 2.4),

pull-filter accept "route 192.168."
pull-filter ignore "route 172."
pull-filter accept "route 1"
pull-filter ignore "route "

这个(伪造的示例)将允许学习以192.168开头的路由,忽略所有172.路由,允许其他路由到达1.anything,然后忽略所有其他路由。

要忽略,redirect-gateway您可以:

pull-filter ignore redirect-gateway

这些命令将添加到您的客户端配置文件中。

同样,您可以使用reject告诉VPN服务器不被接受的关键字。不确定使用此方法。

最后,您也可以过滤其他配置选项。我用它来忽略所提供的DNS服务器,因为DNS由我本地服务器处理。


3
请注意,这仅在OpenVPN 2.4.x中有效。
ab77

使用Windows 10上的OpenVPN GUI 11.13.0在OpenVPN 2.4.7上工作,以解决两个同时使用我需要的默认配置的两个OpenVPN Access服务器之间的子网冲突。感谢您提供最终作品以使其正常工作!
flickerfly

24

在对openvpn手册进行深入研究之后,我找到了我的问题的答案:

如果您不希望路由自动执行,而是要由您自己的工具处理,请使用以下选项:

   --route-noexec
          Don't add or remove routes automatically.  Instead pass routes to --route-up script using environmental variables.

如果您接受除路由之外服务器所推送的所有内容,请使用以下选项:

  --route-nopull
          When used with --client or --pull, accept options pushed by server EXCEPT for routes.
          When used on the client, this option effectively bars the server from adding routes to the client's routing table, however note that
          this option still allows the server to set the TCP/IP properties of the client's TUN/TAP interface.

2
仅供参考,您还可以使用route-nopull在.opvn配置文件:stackoverflow.com/questions/35698215/...
knocte

1

你不能拒绝个别路线,但是如果你有机会到编辑OpenVPN的配置,那么你可以有效地停止服务器--push除去的所有实例荷兰国际集团的任何配置,您clientpull您的配置。你需要,而不是增加tls-client,如果该指令不已经在你的配置存在(client只是一个代名词pulltls-client)。

当然,如果这样做,您将丢失所有路由以及通常需要执行的所有其他配置push,因此,在隧道启动后,您将需要手动配置这些设置。


嘿,迈克,以及如何手动配置到我感兴趣的子网的路由?(10.0.0._)是否可以在.opvn文件中进行配置?
knocte

路线10.0.0.0 255.0.0.0
markhorrocks
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.