Openvpn
通過 VPN 路由更多流量
我正在使用
openvpn
以下配置連接到 VPN 伺服器:remote openvpn.vpn.domain.tld port 1194 proto udp dev tun client auth-user-pass login.conf keepalive 10 60
執行後
openvpn /etc/openvpn/client/myconf.conf
,輸出ip route
如下:default via 192.168.1.1 dev wlp2s0 src 192.168.1.25 metric 303 129.31.0.0/16 via 129.31.250.1 dev tun0 129.31.250.0/24 dev tun0 proto kernel scope link src 129.31.250.111 146.169.0.0/16 via 129.31.250.1 dev tun0 146.179.0.0/16 via 129.31.250.1 dev tun0 155.198.0.0/16 via 129.31.250.1 dev tun0 172.16.0.0/12 via 129.31.250.1 dev tun0 192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.25 metric 303
這會通過 VPN 重定向一些流量,這通常足以滿足我的目的,但有時我想重定向所有網際網路流量。我知道配置中的選項
redirect gateway def1
或多或少openvpn
會這樣做,但我想要一個更靈活的手動解決方案。我認為通過以下方式添加預設路由:ip route add default via 129.31.250.1 dev tun0
會這樣做,但是當我發出該命令時,我的瀏覽器無法再載入網站,所以我認為它有問題。有誰知道問題可能來自哪裡?
編輯:不知何故,使用
0.0.0.0/1
代替default
似乎已經解決了這個問題……如果有一個原因,我仍然有興趣了解它。
使用“0.0.0.0/1”而不是“預設”並不能解決問題。充其量,它正在隱藏它。
問題是,如果您將預設路由設置到隧道中(沒有更具體的路由到 VPN 的端點),您還將更改
openvpn
用於連接到 VPN 的遠端端點的路由。換句話說,openvpn 不再知道如何到達遠端 VPN 端點。您需要為您的遠端 VPN 提供商 (
openvpn.vpn.domain.tld
) 設置靜態路由,以通過您原來的非 VPN 網際網路連接。例如,假設在 interface 上
wlp2s0
:ip route add openvpn.vpn.domain.tld dev wlp2s0
順便說一句,您可能還需要為您的 ISP 的網路和/或他們為您提供的任何基本服務(例如 DNS、郵件服務)設置一條(或多條路由)以通過該連接。您的 ISP 可能只向他們擁有或知道在其下游的 IP 地址提供這些服務(即,不向世界另一端的某些 VPN 提供商擁有的某個隨機 IP 地址提供這些服務)。