
我正在嘗試設定無線路由器並使用 VPN。因為我對這個具體主題相當陌生。我希望這裡有人能給我一個提示,或者如果可能的話,給我一個實際的解決方案。我在網上上下搜索,但沒有找到解決以下問題的令人信服的解決方案:
我有一個基於 ubuntu 的設備,有兩個無線介面(wlan0 和 wlan1)以及一個連接到互聯網的實體網路介面(eth0)。我還計劃連接到一個VPN(我必須先購買一個VPN提供者的openvpn),這可能是tun0之類的。我希望連接到 wlan1 的裝置的所有流量都透過 VPN 傳輸,並且 wlan0 上的所有流量都直接路由到網際網路。
我的問題如下:a)這可能嗎? b) 如果 ( a == yes ) 我會怎麼做?
我需要一個可靠的解決方案,因此請盡可能不要進行骯髒的駭客攻擊。
預先感謝,同行
答案1
這是使用基於策略的路由來完成的。
通常,路由決策是根據目標網路做出的,但是,透過基於策略的路由,您可以根據連接的各個方面進行路由。您的場景很簡單:如果傳入介面是,wlan1
那麼預設路由應該是tun0
首先,我們設定一個名為「vpn」(或任何您喜歡的名稱)的新路由表:
echo "200 vpn" >> /etc/iproute2/rt_tables
或者您可以編輯此文件並將其新增200 vpn
至末尾。
接下來,我們需要新增一條規則:
sudo ip rule add iif wlan1 lookup vpn
這就是說「如果傳入介面wlan1
使用名為「vpn」的路由表,而不是普通的路由表。
然後我們在VPN路由表中新增一條預設路由:
sudo ip route add default dev tun0 table vpn
sudo ip route flush cache
這表示任何使用名為「vpn」的路由表的裝置都會使用 tun0 介面作為其預設閘道。然後我們刷新路由快取以達到良好的效果。
您可以使用此命令查看 vpn 路由表:
sudo ip route list table vpn
現在只是運行這些命令的情況,也許作為 VPN 啟動後的腳本。我很確定 openvpn 有一個後置腳本,您可以將它們添加到其中。