Ubuntu

如何防止 OpenVPN 破壞本地路由?

  • January 31, 2016

我在 192.168.1.0 上有一個本地網路,網路遮罩為 255.255.255.0。當我通過 OpenVPN(作為客戶端)連接到 VPN 時,它會推送 192.168.1.0 的路由,破壞現有路由,使我的本地網路無法訪問。我不會在遠端機器上訪問 192.168.1.0 上的任何內容;我想忽略它,同時接受推送的其他路線。我的客戶端是 Ubuntu 10.10。

如何跳過一條違規路線?

使用

--route-up --route-noexec

openvpn 中的選項並完全忽略推送給您的路由,而是將靜態路由添加到您要通過隧道訪問的特定主機。

openvpn --route-noexec --route-up /tmp/myscript --config ./client.ovpn

/tmp/myscript 在哪裡

route add -host 192.168.1.69 gw ${route_net_gateway}

類似的東西,我還沒有實際測試過,但它應該可以工作。您可能還想在斷開連接時刪除路由。

除了@hellomynameisjoel 的回答,請注意您可以route-up通過環境變數訪問腳本中推送的路由。因此,您只能添加必要的路線。

或者,您可以使用 OpenVPN 配置文件中的預設網關添加路由:

route 192.168.1.0 netmask 255.255.255.0 net_gateway

在此之後,添加相同的推送路由將失敗。

PS 在 ArchLinux/OpenVPN 2.3.5 上測試。

引用自:https://serverfault.com/questions/242028