使用 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
允许服务器将路由推送到客户端[...]
因此,您需要做的是确定客户端从服务器拉取哪些路由,并自己添加它们,而不是盲目接受它们。对于您的配置,这意味着您应该替换client
为tls-client
和 一个或多个route
条目。
连接后,您可以看到完整的路由集netstat -rn
,ip route
但请记住,由于这些路由将包含足够的条目以确保所有内容都通过 VPN 进行路由,因此您不需要全部路由。