OpenVPN 不是默认路由

OpenVPN 不是默认路由

使用 Ubuntu 18.10(或更高版本,如果需要),我想添加 VPN 连接,但不将其设为默认路由。很多人都有相反的问题,但我希望 tun0 只是我可以选择使用的另一个接口。

如何添加 OpenVPN 连接而不将其设置为默认连接,并且不破坏其他接口?

VPN配置:

client
dev tun
proto udp
remote vpn.com 1198
resolv-retry infinite
nobind
persist-key
persist-tun
cipher aes-128-cbc
auth sha1
tls-client
remote-cert-tls server

user nobody
group nogroup
auth-user-pass .secret

compress lzo
verb 1
reneg-sec 0
<crl-verify>
-----BEGIN X509 CRL-----

-----END X509 CRL-----
</crl-verify>

<ca>
-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----
</ca>

disable-occ

答案1

client指令正在从 VPN 提供商处提取您的路由。

引用自man openvpn,

--client旨在简化 OpenVPN 客户端模式配置的帮助指令。该指令相当于:

pull
tls-client

向上查找--pull(这很方便,这是手册页中的下一个条目),您会得到

--pull此选项必须在连接到多客户端服务器的客户端上使用。它向 OpenVPN 表明它应该接受服务器推送的选项 [...]。特别是,--pull允许​​服务器将路由推送到客户端[...]

因此,您需要做的是确定客户端从服务器拉取哪些路由,并自己添加它们,而不是盲目接受它们。对于您的配置,这意味着您应该替换clienttls-client和 一个或多个route条目。

连接后,您可以看到完整的路由集netstat -rnip route但请记住,由于这些路由将包含足够的条目以确保所有内容都通过 VPN 进行路由,因此您不需要全部路由。

相关内容