Linux

如果伺服器端沒有推送路由,如何讓所有客戶端流量通過 OpenVPN?

  • January 30, 2018

我在 OpenWRT 上安裝了 OpenVPN 客戶端,並希望通過 VPN 引導我的所有流量,包括遊戲流量。

但是伺服器端沒有將路由推送到客戶端。如何通過使用ip routeip rule命令在 OpenWRT 中進行設置來實現這一點?

–update– 其實openwrt只是一個虛擬機,我部署在VirtualBox上。來自主機的所有流量都將流經虛擬機。我閱讀了一些關於如何使用 ip route 靜態路由流量的文章,但仍然不知道我需要使用什麼 ip 地址來替換ip route addandip rule add規則的地址部分。

如果您想通過 VPN 路由來自路由器的所有流量,只需通過 OpenVPN 配置預設路由。請記住通過您的網際網路網關配置到 OpenVPN 伺服器的外部 IP 的路由(如果沒有自動配置)。

ip route add <openvpn server external ip> via <default internet gateway>
ip route change default via <openvpn gateway (internal) ip>

如果您想根據流量的來源(或某些其他條件)應用不同的路由,則需要使用單獨的路由表並創建規則何時使用它。

例如,使用由 標識的新表*10*:

ip route add default via <openvpn gateway (internal) ip> table 10
ip rule add from <your network (address+netmask)> table 10
ip route flush cache

當您使用單獨的路由表時,您不需要更改路由表中的路由。

您的 OpenVPN 伺服器不會自動知道您網路中主機的路由。您要麼需要配置此類路由,要麼在 OpenVPN 客戶端上使用 NAT。

引用自:https://unix.stackexchange.com/questions/400093