
我有兩個互聯網連接,一個互聯網連接具有非常高的延遲,連接有波動(塔和Wifi CPE 之間有一棵樹,因此信號時好時壞),但下載效果很好,因為連接永遠不會改變為0。
所以我想要的是將 wlan0 用於一些特定的程序,例如蒸汽和下載等,基本上是消耗大量數據的程序。
我想使用 wlan1 來瀏覽和其他東西,更少的數據。
簡而言之,我想透過特定的網路卡路由特定的程序,我沒有特定的IP範圍。
我可以透過 wifi 連接它們,因為我有 1 個額外的 wifi 適配器(wlan0、wlan1),作為另一種選擇,我可以將一個連接到乙太網路(wlan0、eth0)
答案1
如果你的流程有一些東西,這可能是可能的iptables
可以匹配,例如特定群組。例如,給定一個 group to-wifi
,您可以使用 iptables 規則,如下所示:
iptables -A FORWARD --in-interface wlan0 -j ACCEPT
iptables -t nat -A OUTPUT -m owner --gid-owner to-wifi --out-interface wlan0 -j MASQUERADE
(並啟用轉送:sysctl -w net.ipv4.conf.all.forwarding=1
。)
然後,如果您運行 Steam,例如:
sg to-wifi steam
來自該 Steam 進程(+任何子進程)的任何流量都將從其所經過的任何介面轉送到無線介面。
我從未嘗試過介面到介面重定向,但我曾經iptables
透過匹配組來將所有 TCP 流量從 Steam 重定向到代理,因此這些規則本身可能還不夠。
這可以透過為每個介面建立群組並將您自己添加到其中來完成。例如,使用addgroup
和adduser
命令:
sudo addgroup to-wifi
sudo adduser $USER to-wifi
sudo addgroup for-eth0
sudo adduser $USER for-eth0
您需要重新登入才能使新的群組成員資格生效。
有關的:
答案2
據我所知,沒有辦法做到這一點。
這可以透過特定的 iptables 規則來完成連接埠+ 他們用來建立連結的目的地,但我不知道本地的方法。