如何在没有推送默认网关的情况下配置 openvpn 服务器?

Sol*_*mon 13 route openvpn

我需要配置我的 openvpn 服务器以提供一些 LAN 资源,但我不想为我的客户端路由所有流量。

这是我的示例网络描述:我的 LAN 是 192.168.1.0/24。Openvpn 网络是 192.168.100.0/24。我添加push route 192.168.1.0 255.255.255.0了我的服务器端配置。我想让我的客户可以访问 192.168.1.0/24,但不能访问其他流量。

如何从服务器端配置执行此操作?客户端配置是唯一的方法吗?

小智 28

这是客户端设置。

对于 Linux 客户端,在 NetworkManager 中:编辑连接 -> VPN ->(选择您要编辑的 vpn 配置)-> 编辑 -> IPv4/IPv6 -> 路由 -> 选中“仅将此连接用于资源在其网络上”

  • 有没有办法使它成为配置文件中的默认值? (3认同)

Zor*_*che 13

只需不要redirect-gateway在客户端或服务器配置中添加 ,默认网关将不会更改。

  • 服务器配置中没有“重定向网关”。也许我错过了什么? (9认同)
  • 您是否也检查了客户端?该选项可以设置在任一侧。建立连接时,在客户端上观察您的 OpenVPN 日志。您应该看到有关正在切换的网关的消息,以及该选项是否从服务器推送。 (3认同)

小智 9

由于我有 ipv4 和 ipv6,如果我不想让 openvpn 设置我的默认网关,我必须在客户端配置中添加以下行,并且必须手动添加 ipv6 路由:

pull-filter ignore "route-gateway"
route-nopull
Run Code Online (Sandbox Code Playgroud)

如果我不希望所有 ipv4 流量都必须通过我的 openvpn 接口,我只需添加以下行

pull-filter ignore "route-gateway"
Run Code Online (Sandbox Code Playgroud)

上面的行将使我到支持 ipv4 和 pv6 的主机的流量将通过我的 openvpn 连接,而到仅支持 ipv4 的主机的流量将通过我的无线接口。

我玩之前的原始客户端配置是:

client
dev tun
proto udp
remote ovpn.myserver.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
verb 3
Run Code Online (Sandbox Code Playgroud)

问候,


小智 5

route-nopull在 .ovpn 文件中,或--route-nopull在命令行上。

当然,您随后必须自己设置路线。