不確定這是否是問這個問題的正確地點,但我的辦公室有兩個網絡,公司網絡(硬連線)和訪客網絡(無線)。我需要連接到公司網路才能存取我們所有的內部應用程序,但公司網路阻止串流媒體服務。然而,我們的訪客網路不會阻止串流媒體。當我插入電源時,我已連接到公司網絡,但我也可以在插入電源時連接到訪客無線網絡。所以我想知道,是否有一種方法可以引導所有被阻止的流量通過我們的訪客網絡,並透過公司網路引導所有其他流量。
這顯然是為了滿足我個人的好奇心,絕非試圖規避我們公司的安全政策。任何幫助,將不勝感激。
答案1
是的,這可以在 IP 路由層級或某些「應用程式層級」流量整形上完成
根據您使用的作業系統,執行此操作的方法會有所不同。
例如在 GNU/Linux 中你將有 2 個介面:
/sbin/ifconfig
(..)
eth0 Link encap:Ethernet HWaddr 54:ee:dd:cc:bb:aa
(..)
wlan0 Link encap:Ethernet HWaddr 34:02:dd:cc:bb:aa
/sbin/route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 1024 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
如您所見,所有流量 (0.0.0.0) 都經過 eth0
因此,以下是如何透過單獨的網關或介面新增特定主機(在本例中為 8.8.8.8),但如果您這樣做:
sudo route add -host 8.8.8.8 gw 192.168.1.2 wlan0
/sbin/route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 1024 0 0 eth0
8.8.8.8 192.168.1.2 255.255.255.255 UGH 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
你只需要知道你想要的主機的IP位址和wlan0網路的網關(如果你有連線的話這很容易)
答案2
如前所述,如果您知道要使用無線連接的服務的子網路或 IP 位址範圍,則可以建立到所述服務的特定路由。
上面的答案是針對Linux的。對於 Windows 來說,情況略有不同。您可以使用命令「route」(「路由新增、路由變更」等),但Windows有更改其無線適配器ID的討厭習慣。並且您需要適配器的 ID 才能更改或新增路由...
我開發了一個小型 Windows 實用程序,可以取得此無線適配器 ID,我可以教您如何使用批次檔來 - 取得 WiFi 卡的 ID - 更改路由(包括預設路由)。我曾經在企業環境中也這樣做過,原因與您不同:需要訪問我自己的子網,但企業環境的配置默認情況下會通過其網關路由所有數據包,並且網關不會了解我自己的實驗室/隔離子網...
您也可以採用另一種(且棘手的)方式:您只需變更指派給無線卡和/或有線卡所使用的閘道的指標。指標越低,優先順序越高!
搜尋適合您的作業系統的「網路介面的變更指標」。將 WiFi 指標設定為 10,將有線指標設定為 20。
說明:您有兩張網卡,因此您有兩個不同的預設網關,每個預設網關對應一張網卡。作業系統透過預設網關度量值最低的介面將封包傳送到未知網路路由。
所有發送到已知路由的資料包均透過「了解」路由的介面發送,因此發送到「內部/公司」子網路的路由很可能有自己的路由,「附加」到有線介面。因此,您仍然能夠連接到公司資源,同時連接到 WiFi 網路上的可用資源。
但請注意,這樣做可能會違反某些公司政策,並且可能會將您的電腦(和其他資源)暴露給不需要的人或程式...