目錄
1. 背景
2. IP路由原理
3. windows雙網卡上網解決方案
3.1. 基礎配置解決方案
3.2. 高階配置解決方案
1. 背景
????????在windwos上使用多網卡在工作和生活中是一個常見的操作,比如為了獲取內部消息將有線連接到內部局域網中,為而了訪問外網又將電腦的WIFI連接到手機熱點,這樣的網絡結構按理說應該是既能訪問內網又能訪問外網,但實際情況是經常發現在啟動了這樣的雙網卡后會出現外網卻不能正常訪問,歸根到底還是windows的網絡的路由策略不夠智能導致,哪怕是目前最新的win11系統也是如此,當然windows也提供了一些手動配置方案。
2. IP路由原理
????????對與單網卡情況下,當電腦主機要訪問某目標ip時,首先會通過掩碼判斷目標ip是否為同一局域網網段的ip,若本機ip與目標ip為同一網段ip,這時電腦主機將數據直接發給目標ip;若本機ip與目標ip不為同一網段ip,這時主機就不能向目標ip直接發送數據而需要把發給目標IP的數據發給網關,由網關使用同樣的方式尋找目標ip,直到數據達到目標ip。
????????在電腦使用了多網卡后,對于同網段局域網ip流程與單網卡完全一致,但對于啟動了多網卡后流程就會變得復雜,這時主機就會在選在選擇有線網卡還是無線網卡來發送數據上犯難了,比如我們要訪問的ip需要通過無線網卡但是電腦主機確將這個數據發送到有線網卡上,那么我們訪問目標ip就會一直失敗。雖然window系統不能智能的解決這個多網卡問題,但也提供了對應的手動的解決方案。
????????首先通過命令行查看(“route -4 print”)單網卡路由信息:
????????以上路由信息解釋如下:
網絡目標 | 目標網絡或IP地址。“0.0.0.0”通常表示默認路由。它代表了“所有其他網絡”或“未知網絡”,并用來匹配任何沒有特定匹配項的目標 IP 地址。 |
網絡掩碼 | 目標網絡的子網掩碼,用于判斷是否為同網段網絡 |
網關 | 作為跨網段的目的ip,數據包需要通過的網關 |
接口 | 數據包通過的本地網絡接口 |
躍點數 | 用于選擇最佳路徑的成本值,值越低,優先級越高 |
????????雙網卡路由信息(其中10.0.23.210為外網ip,192.168.1.105為內網ip):
????????可以看到雙網卡的躍點數不一樣,即網卡的優先級不一樣,內網網卡的優先級高于外網網卡的,這樣會導致訪問外網會優先使用內網網卡而導致訪問失敗,我們只需將外網網卡的優先級設置得比內網網卡高就可以正常同時訪問內外網了(躍點數越低網卡優先級越高)。
3. windows雙網卡上網解決方案
????????通過上面分析已知修改了外網ip的躍點數就能可以同時正常使用外網和內網,以下分別提供兩種操作方式。
3.1. 基礎配置解決方案
????????在控制面板中“控制面板\所有控制面板項\網絡連接”或者win+R輸入 ncpa.cpl 打開網卡適配器設置
????????將外網網卡的躍點數修改成比內網網卡的躍點數小,默認路由就會優先使用躍點數小的網卡,這里將外網的網卡躍點數修改成30(內網網卡的默認躍點數為35),修改后兩個設備的躍點數如下:
????????按上述修改后對外網訪問就能恢復正常了,當然對內網也是正常的。
3.2. 高階配置解決方案
????????按上述基礎配資解決方案后基本上可以愉快的使用雙網卡了,但內網若存在跨網段,這個訪問仍然是失敗的,這是由于對于電腦主機來說跨網段的內網訪問也相對于外網訪問,這時已不能簡單的通過修改躍點數來解決雙網卡問題,這時為固定的ip或者ip段手動自動固定路由。
臨時配置:route add 內網ip(或內網ip段) mask 掩碼 默認網關
永久配置:route add 內網ip(或內網ip段) mask 掩碼 默認網關