![仅当以 root 身份运行时,Curl 才使用指定的 OpenVPN 接口](https://linux22.com/image/730062/%E4%BB%85%E5%BD%93%E4%BB%A5%20root%20%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%E6%97%B6%EF%BC%8CCurl%20%E6%89%8D%E4%BD%BF%E7%94%A8%E6%8C%87%E5%AE%9A%E7%9A%84%20OpenVPN%20%E6%8E%A5%E5%8F%A3.png)
我正在使用 Ubuntu Server 18.04.1 LTS (Bionic Beaver)。我运行 OpenVPN 时禁用了重定向网关,因为我不想流量默认使用它,只有一个特定的应用程序。这是我使用的命令:
sudo openvpn --config /etc/openvpn/CA\ Montreal.ovpn --pull-filter ignore redirect-gateway --daemon
然后如果我使用以下命令:
curl http://ipinfo.io/ip --interface tun0
我获取的是真实的外部 IP 地址,而不是 VPN 地址。但如果我运行以下命令:
sudo curl http://ipinfo.io/ip --interface tun0
然后我得到了我的 VPN IP 地址。我在其他程序中也遇到了这个问题,例如 traceroute。
$ traceroute 1.1.1.1 -i tun0
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
setsockopt SO_BINDTODEVICE: Operation not permitted
$ sudo traceroute 1.1.1.1 -i tun0
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
1 10.21.10.1 (10.21.10.1) 73.600 ms 74.061 ms 74.045 ms
2 199.229.249.253 (199.229.249.253) 74.041 ms 199.229.249.254 (199.229.249.254) 74.193 ms 199.229.249.253 (199.229.249.253) 73.995 ms
3 199.229.249.6 (199.229.249.6) 73.991 ms 74.143 ms 199.229.249.2 (199.229.249.2) 74.021 ms
4 ae7-67.cr0-mtl1.ip4.gtt.net (98.124.173.249) 74.065 ms ae7-103.cr0-mtl1.ip4.gtt.net (98.124.173.101) 74.113 ms 74.162 ms
5 cloudflare-gw.cr0-mtl1.ip4.gtt.net (69.174.23.50) 74.210 ms 74.157 ms 74.384 ms
6 one.one.one.one (1.1.1.1) 74.052 ms 73.802 ms 73.843 ms
我该如何修复它,以便程序不需要 root 权限即可通过 VPN?