卡添加與配置指南)
1. 為什么要在Windows 10上折騰一塊虛擬網(wǎng)卡很多人第一次聽到虛擬網(wǎng)卡這個(gè)詞腦子里浮現(xiàn)的可能是虛擬機(jī)里那張網(wǎng)卡或者是某些網(wǎng)絡(luò)工具裝完之后多出來的適配器。但這里要聊的Microsoft Loopback Adapter微軟環(huán)回適配器是另一回事——它是Windows系統(tǒng)自帶的一個(gè)純軟件網(wǎng)絡(luò)接口不綁定任何物理硬件卻能像真網(wǎng)卡一樣出現(xiàn)在網(wǎng)絡(luò)連接面板里擁有自己的IP、子網(wǎng)掩碼、網(wǎng)關(guān)甚至能參與路由和抓包。我在做本地服務(wù)調(diào)試、網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)、以及一些需要多網(wǎng)段隔離的測試環(huán)境時(shí)反復(fù)用到它。舉個(gè)最典型的場景你在一臺機(jī)器上跑了一個(gè)只監(jiān)聽特定網(wǎng)段的服務(wù)或者需要模擬兩臺機(jī)器之間的通信但手頭只有一臺電腦又不想開虛擬機(jī)吃內(nèi)存。這時(shí)候加一塊環(huán)回適配器給它配一個(gè)跟物理網(wǎng)卡不同網(wǎng)段的IP就能在一臺機(jī)器上造出兩個(gè)網(wǎng)絡(luò)端點(diǎn)測試連通性、抓包分析、驗(yàn)證防火墻規(guī)則都變得非常方便。還有一個(gè)高頻需求來自開發(fā)和運(yùn)維同學(xué)某些軟件在安裝或授權(quán)時(shí)會檢測是否存在有效的網(wǎng)絡(luò)適配器如果機(jī)器上只有一張網(wǎng)卡且被禁用或者網(wǎng)卡驅(qū)動異常軟件就會報(bào)錯(cuò)。臨時(shí)掛一塊環(huán)回適配器往往能讓安裝流程順利走完。另外在做網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)、協(xié)議棧調(diào)試、甚至某些老游戲的局域網(wǎng)聯(lián)機(jī)模擬時(shí)這塊虛擬網(wǎng)卡都能派上用場。需要先說明的是Microsoft Loopback Adapter 在Windows 10里的添加方式和Windows 7/XP時(shí)代完全不同。老教程里那種添加硬件向?qū)?→ 從列表選擇 → 廠商選Microsoft → 選Microsoft Loopback Adapter的路徑在Win10上已經(jīng)走不通了因?yàn)槲④洶阉鼩w到了舊版硬件里而且默認(rèn)隱藏。網(wǎng)上大量抄來抄去的教程還在教老方法導(dǎo)致很多人卡在根本找不到這個(gè)選項(xiàng)這一步。這篇內(nèi)容就把Win10下真正可用的幾條路徑、背后的原理、以及我踩過的坑一次性講清楚。適合閱讀這篇內(nèi)容的人包括需要做本地網(wǎng)絡(luò)實(shí)驗(yàn)的開發(fā)者、要模擬多網(wǎng)段環(huán)境的運(yùn)維、被軟件檢測網(wǎng)卡卡住的普通用戶以及單純想搞明白Windows網(wǎng)絡(luò)適配器機(jī)制的技術(shù)愛好者。下面從原理講到實(shí)操再講到排錯(cuò)盡量讓零基礎(chǔ)的人也能跟著做下來。2. 環(huán)回適配器到底是個(gè)什么東西2.1 它和物理網(wǎng)卡、虛擬網(wǎng)卡的區(qū)別要理解Loopback Adapter先得把幾個(gè)容易混淆的概念分開。物理網(wǎng)卡是真實(shí)存在的硬件插在主板或通過USB連接有MAC地址連著真實(shí)的網(wǎng)線或無線信號。虛擬機(jī)網(wǎng)卡比如VMware的VMnet1、VirtualBox的Host-Only是虛擬化軟件造出來的依附于虛擬化平臺。而Microsoft Loopback Adapter 是Windows操作系統(tǒng)自己提供的一個(gè)軟件網(wǎng)絡(luò)接口它不屬于任何虛擬化軟件也不需要額外的驅(qū)動包系統(tǒng)內(nèi)置。從系統(tǒng)角度看它和物理網(wǎng)卡在網(wǎng)絡(luò)連接里長得一模一樣都能配置TCP/IP參數(shù)都會出現(xiàn)在ipconfig /all的輸出里。區(qū)別在于它沒有真實(shí)的物理鏈路發(fā)送出去的數(shù)據(jù)包不會真的跑到網(wǎng)線上而是在系統(tǒng)內(nèi)部繞回來。這也是環(huán)回Loopback這個(gè)名字的由來。這里要特別區(qū)分它和127.0.0.1那個(gè)本地環(huán)回。127.0.0.1是TCP/IP協(xié)議棧自帶的邏輯環(huán)回地址綁定在Loopback Pseudo-Interface上你沒法給它改IP也沒法在網(wǎng)絡(luò)連接面板里看到它。而Loopback Adapter是一塊可以自由配置IP的、可見的虛擬網(wǎng)卡這是它最大的價(jià)值——你能給它配192.168.100.1也能配10.0.0.1想配什么網(wǎng)段就配什么網(wǎng)段。2.2 它在系統(tǒng)里的真實(shí)身份從設(shè)備管理器的視角看Loopback Adapter屬于網(wǎng)絡(luò)適配器類別驅(qū)動是微軟自帶的Microsoft KM-TEST Loopback Adapter。注意這個(gè)名字——在Win10里它被重命名成了KM-TEST而不是老版本里的Microsoft Loopback Adapter。這就是為什么很多人在設(shè)備管理器里搜Loopback搜不到因?yàn)轱@示的名字變了。它的驅(qū)動文件位于系統(tǒng)驅(qū)動倉庫中安裝時(shí)系統(tǒng)會從自帶的驅(qū)動庫里匹配。因?yàn)樗桥f版硬件Windows 10默認(rèn)不會在添加硬件的常規(guī)列表里展示它需要手動選擇顯示所有設(shè)備或者通過命令行工具來安裝。理解這一點(diǎn)很關(guān)鍵不是你的系統(tǒng)缺東西而是微軟故意把它藏起來了目的是引導(dǎo)用戶使用更現(xiàn)代的方案比如Hyper-V虛擬交換機(jī)。但對于不需要完整虛擬化、只想快速加一塊測試網(wǎng)卡的場景它依然是最輕量的選擇。2.3 典型使用場景盤點(diǎn)我把這些年用到它的場景歸了幾類你可以對照自己的需求看看是否匹配本地多網(wǎng)段測試一臺機(jī)器模擬兩個(gè)網(wǎng)段驗(yàn)證路由、防火墻、服務(wù)監(jiān)聽行為。軟件安裝繞過網(wǎng)卡檢測某些授權(quán)或安裝程序要求存在活動網(wǎng)卡。網(wǎng)絡(luò)協(xié)議開發(fā)調(diào)試綁定特定網(wǎng)卡抓包觀察數(shù)據(jù)包走向。教學(xué)演示給學(xué)生演示IP配置、子網(wǎng)劃分不用真機(jī)聯(lián)網(wǎng)。隔離測試環(huán)境給測試服務(wù)配一個(gè)獨(dú)立網(wǎng)段避免和辦公網(wǎng)絡(luò)互相干擾。需要提醒的是如果你需要的是虛擬機(jī)和宿主機(jī)互通或者多臺虛擬機(jī)組網(wǎng)那應(yīng)該用虛擬化軟件自帶的網(wǎng)絡(luò)模式而不是Loopback Adapter。它的定位是單機(jī)內(nèi)的邏輯網(wǎng)絡(luò)接口不負(fù)責(zé)跨機(jī)器通信。3. 在Windows 10里添加環(huán)回適配器的三條實(shí)操路徑Win10下添加這塊網(wǎng)卡我實(shí)測下來有三條路可走各有適用場景。下面按從圖形界面到命令行的順序講你可以根據(jù)自己的習(xí)慣選一條。3.1 通過設(shè)備管理器手動添加舊版硬件這是最接近傳統(tǒng)教程的方法但關(guān)鍵步驟和老教程不同。操作如下右鍵開始菜單選擇設(shè)備管理器。點(diǎn)擊菜單欄的操作選擇添加過時(shí)硬件如果菜單欄沒顯示點(diǎn)查看旁邊的空白處按Alt鍵調(diào)出菜單欄。在彈出的向?qū)Ю稂c(diǎn)下一步選擇安裝我手動從列表選擇的硬件高級再點(diǎn)下一步。在硬件類型列表里找到并選擇網(wǎng)絡(luò)適配器點(diǎn)下一步。這一步是重點(diǎn)廠商列表里選擇Microsoft然后在右側(cè)型號列表里找到Microsoft KM-TEST Loopback Adapter。如果列表里沒有勾選上方的顯示所有設(shè)備再找。點(diǎn)下一步系統(tǒng)會提示即將安裝確認(rèn)后等待安裝完成。安裝完成后回到網(wǎng)絡(luò)連接可以在運(yùn)行框輸入ncpa.cpl快速打開就能看到多出來一塊名為以太網(wǎng) X的適配器。提示第5步如果找不到Microsoft廠商檢查一下是不是勾選了顯示所有設(shè)備。另外部分精簡版系統(tǒng)可能移除了這個(gè)驅(qū)動需要從完整版系統(tǒng)里提取。這條路的好處是全程圖形化不需要記命令。缺點(diǎn)是步驟多而且不同Win10版本比如22H2和早期的1809在向?qū)Ы缑嫔下杂胁町惖诵倪壿嬕恢隆?.2 用devcon命令行工具批量安裝如果你經(jīng)常需要重裝系統(tǒng)或者批量部署圖形向?qū)Ь吞?。微軟官方提供的devcon工具可以通過命令行安裝這塊網(wǎng)卡效率高得多。devcon是Windows Driver Kit里的工具需要單獨(dú)下載網(wǎng)上也有整理好的單文件版本。安裝命令大致是這樣的devcon install %windir%\inf\netloop.inf *msloop這條命令的意思是用系統(tǒng)目錄下inf文件夾里的netloop.inf這個(gè)驅(qū)動信息文件安裝標(biāo)識為*msloop的設(shè)備。執(zhí)行后系統(tǒng)會自動完成驅(qū)動匹配和安裝幾秒鐘就能在網(wǎng)絡(luò)連接里看到新網(wǎng)卡。需要說明的是netloop.inf的路徑在不同系統(tǒng)上可能略有不同如果報(bào)錯(cuò)找不到文件可以用dir /s netloop.inf在系統(tǒng)盤搜一下實(shí)際位置。另外devcon需要管理員權(quán)限運(yùn)行普通權(quán)限會直接失敗。注意命令行安裝適合有批量需求的人普通用戶用圖形向?qū)Ь蛪蛄?。devcon的版本要和系統(tǒng)架構(gòu)匹配64位系統(tǒng)用64位版本。3.3 通過PowerShell和系統(tǒng)自帶工具的思路嚴(yán)格來說Win10沒有直接一條PowerShell命令就能添加Loopback Adapter的官方cmdlet。New-NetAdapter是用來管理已存在適配器的不能憑空造硬件。但可以借助pnputil這個(gè)系統(tǒng)自帶的驅(qū)動安裝工具來間接完成pnputil /add-driver %windir%\inf\netloop.inf /installpnputil是Win10自帶的不需要額外下載這是它比devcon更方便的地方。執(zhí)行后同樣會觸發(fā)驅(qū)動安裝流程。不過實(shí)測下來pnputil對netloop.inf的處理不如devcon直接有時(shí)候需要配合設(shè)備管理器的掃描檢測硬件改動才能讓新網(wǎng)卡真正出現(xiàn)。我的建議是偶爾用一次走圖形向?qū)枰磸?fù)裝或批量裝用devcon。pnputil這條路可以作為備選知道有這么個(gè)工具就行。4. 裝完之后必須做的配置和驗(yàn)證網(wǎng)卡裝出來只是第一步不配置IP它就是個(gè)擺設(shè)。這一節(jié)講怎么把它配成能用的狀態(tài)以及怎么驗(yàn)證它真的在工作。4.1 給環(huán)回適配器分配靜態(tài)IP打開網(wǎng)絡(luò)連接ncpa.cpl找到新出現(xiàn)的那塊適配器右鍵屬性雙擊Internet協(xié)議版本4TCP/IPv4選擇使用下面的IP地址填入你需要的參數(shù)。比如IP地址192.168.100.1子網(wǎng)掩碼255.255.255.0網(wǎng)關(guān)留空單機(jī)測試不需要網(wǎng)關(guān)這里有個(gè)經(jīng)驗(yàn)點(diǎn)環(huán)回適配器的IP網(wǎng)段要和物理網(wǎng)卡錯(cuò)開。如果你的物理網(wǎng)卡是192.168.1.x那環(huán)回適配器就別用192.168.1.x否則路由表會出現(xiàn)沖突導(dǎo)致某些流量走錯(cuò)接口。我一般習(xí)慣用192.168.100.x或10.10.10.x這種不常見的網(wǎng)段避免和常見家用路由器網(wǎng)段撞車。配好之后用ipconfig確認(rèn)一下應(yīng)該能看到這塊適配器的信息。如果顯示媒體已斷開別慌這是正常的——環(huán)回適配器本來就沒有物理鏈路Windows會把它標(biāo)記為未連接但I(xiàn)P配置依然生效服務(wù)依然能綁定。4.2 驗(yàn)證連通性和路由走向配置完成后怎么確認(rèn)它真的能用幾個(gè)驗(yàn)證手段ping 192.168.100.1ping自己的環(huán)回適配器IP應(yīng)該能通。這是最基本的自檢。route print查看路由表確認(rèn)192.168.100.0這個(gè)網(wǎng)段的路由指向了環(huán)回適配器對應(yīng)的接口索引。netstat -ano如果某個(gè)服務(wù)綁定到了192.168.100.1這里能看到監(jiān)聽狀態(tài)。我遇到過一個(gè)坑配好IP后ping不通查了半天發(fā)現(xiàn)是防火墻把這塊網(wǎng)卡識別成了公用網(wǎng)絡(luò)默認(rèn)規(guī)則攔截了ICMP。解決辦法是在網(wǎng)絡(luò)和共享中心里把這塊適配器的網(wǎng)絡(luò)位置改成專用網(wǎng)絡(luò)或者在防火墻里放行對應(yīng)規(guī)則。4.3 讓它開機(jī)自動可用環(huán)回適配器裝好后是持久存在的重啟不會消失這點(diǎn)比某些虛擬網(wǎng)卡省心。但如果你在測試中禁用了它重啟后可能還是禁用狀態(tài)。要確保它開機(jī)可用可以在網(wǎng)絡(luò)連接里右鍵啟用然后確認(rèn)沒有組策略或第三方網(wǎng)絡(luò)管理軟件把它關(guān)掉。另外如果你用的是筆記本切換有線/無線網(wǎng)絡(luò)時(shí)環(huán)回適配器的配置不受影響因?yàn)樗灰蕾囄锢礞溌?。這一點(diǎn)在做移動測試時(shí)很實(shí)用。5. 那些年我踩過的坑和排錯(cuò)思路這塊內(nèi)容是我覺得最有價(jià)值的部分因?yàn)榫W(wǎng)上教程基本只講怎么裝不講裝不上怎么辦。下面幾個(gè)問題都是我實(shí)際遇到過的。5.1 設(shè)備管理器里根本找不到KM-TEST選項(xiàng)這是最高頻的問題。原因通常有三個(gè)一是沒勾選顯示所有設(shè)備二是系統(tǒng)是精簡版驅(qū)動庫被裁掉了三是Win10版本太新微軟調(diào)整了舊版硬件的展示邏輯。排查順序先確認(rèn)勾選了顯示所有設(shè)備如果還沒有去C:\Windows\INF目錄下找netloop.inf文件在說明驅(qū)動還在可以用命令行方式裝文件不在說明系統(tǒng)缺驅(qū)動需要從同版本完整系統(tǒng)里拷貝過來。5.2 裝完顯示黃色感嘆號錯(cuò)誤代碼56錯(cuò)誤代碼56在Windows里通常和驅(qū)動簽名或驅(qū)動不匹配有關(guān)。環(huán)回適配器是微軟自家驅(qū)動理論上不該出這個(gè)問題但如果你裝的是第三方修改版系統(tǒng)或者之前裝過某些網(wǎng)絡(luò)過濾驅(qū)動就可能沖突。處理辦法右鍵那塊帶感嘆號的設(shè)備卸載勾選刪除驅(qū)動程序軟件然后重新走一遍安裝流程。如果還不行檢查系統(tǒng)是否開啟了驅(qū)動程序強(qiáng)制簽名在高級啟動里臨時(shí)禁用簽名強(qiáng)制再裝。5.3 網(wǎng)絡(luò)適配器列表整個(gè)空了有讀者反饋說打開網(wǎng)絡(luò)連接發(fā)現(xiàn)一個(gè)適配器都沒有連物理網(wǎng)卡都不見了。這種情況一般是網(wǎng)絡(luò)相關(guān)服務(wù)沒啟動或者網(wǎng)卡驅(qū)動整體異常。先檢查服務(wù)里的Network Connections、Network List Service、Network Location Awareness這幾個(gè)服務(wù)是否在運(yùn)行。如果服務(wù)正常但適配器還是不顯示可能是注冊表里網(wǎng)絡(luò)配置損壞需要重置網(wǎng)絡(luò)棧netsh winsock reset netsh int ip reset執(zhí)行完重啟電腦。這兩條命令會重置Winsock和TCP/IP棧是網(wǎng)絡(luò)故障的萬能起手式但注意它會清掉一些自定義網(wǎng)絡(luò)配置用之前心里有數(shù)。5.4 裝了環(huán)回適配器后物理網(wǎng)絡(luò)出問題這個(gè)坑比較隱蔽。有些人給環(huán)回適配器配了和物理網(wǎng)卡同網(wǎng)段的IP導(dǎo)致路由表混亂物理網(wǎng)絡(luò)時(shí)通時(shí)斷。還有一種情況是環(huán)回適配器的躍點(diǎn)數(shù)比物理網(wǎng)卡低系統(tǒng)優(yōu)先走它結(jié)果流量進(jìn)了死胡同。解決辦法確保環(huán)回適配器用獨(dú)立網(wǎng)段如果必須同網(wǎng)段手動調(diào)整接口躍點(diǎn)數(shù)在IPv4高級設(shè)置里取消自動躍點(diǎn)填一個(gè)較大的值比如100讓物理網(wǎng)卡優(yōu)先。5.5 隱藏的虛擬網(wǎng)卡怎么顯示出來熱詞里有人問隱藏的虛擬網(wǎng)卡怎么顯示。在設(shè)備管理器里點(diǎn)查看菜單勾選顯示隱藏的設(shè)備然后在網(wǎng)絡(luò)適配器下面會多出一堆半透明的設(shè)備那些就是曾經(jīng)裝過但現(xiàn)在沒接上的網(wǎng)卡。環(huán)回適配器如果被卸載了但驅(qū)動殘留也會以隱藏狀態(tài)出現(xiàn)。要徹底清理就在隱藏設(shè)備里右鍵卸載。6. 環(huán)回適配器和其他虛擬網(wǎng)絡(luò)方案的取舍既然Win10有Hyper-V虛擬交換機(jī)、有VMware/VirtualBox的虛擬網(wǎng)卡為什么還要用這個(gè)老古董我列個(gè)對比表你一看就明白各自的定位。方案依賴配置復(fù)雜度適用場景資源占用Microsoft Loopback Adapter系統(tǒng)自帶低單機(jī)多網(wǎng)段測試、軟件網(wǎng)卡檢測極低Hyper-V虛擬交換機(jī)需啟用Hyper-V中虛擬機(jī)聯(lián)網(wǎng)、復(fù)雜網(wǎng)絡(luò)拓?fù)渲蠽Mware VMnet需裝VMware中虛擬機(jī)與宿主機(jī)互通中VirtualBox Host-Only需裝VirtualBox中虛擬機(jī)隔離網(wǎng)絡(luò)中從表里能看出來環(huán)回適配器的優(yōu)勢就是輕——不裝任何虛擬化軟件不啟用任何系統(tǒng)功能幾秒鐘加一塊網(wǎng)卡。它的劣勢也很明顯只能單機(jī)用不能跨機(jī)器通信功能單一。所以選型邏輯很簡單如果你只是想在單機(jī)上造一個(gè)額外的網(wǎng)絡(luò)端點(diǎn)用環(huán)回適配器如果你要跑虛擬機(jī)、要組多機(jī)網(wǎng)絡(luò)用虛擬化軟件自帶的方案。兩者不沖突可以共存。需要補(bǔ)充一點(diǎn)在較新的Win10和Win11上微軟更推薦用Hyper-V的內(nèi)部網(wǎng)絡(luò)或默認(rèn)交換機(jī)來實(shí)現(xiàn)類似效果因?yàn)镠yper-V的虛擬交換機(jī)功能更完整支持VLAN、帶寬限制等高級特性。但Hyper-V需要CPU支持虛擬化且要在BIOS里開啟對普通用戶來說門檻更高。環(huán)回適配器依然是最小可用方案的代表。7. 幾個(gè)容易被忽略的細(xì)節(jié)和長期使用建議最后分享幾個(gè)我在長期使用中總結(jié)的細(xì)節(jié)都是文檔里不會寫的。第一環(huán)回適配器的MAC地址是固定的。它不像物理網(wǎng)卡那樣有廠商分配的MAC系統(tǒng)會給它一個(gè)軟件生成的地址。如果你做網(wǎng)絡(luò)實(shí)驗(yàn)需要特定MAC可以在適配器屬性里手動改但一般沒必要。第二它支持IPv6。除了IPv4你也可以給它配IPv6地址做雙棧測試。不過Win10默認(rèn)會給它分配一個(gè)鏈路本地地址如果不需要可以在屬性里取消IPv6勾選減少干擾。第三抓包時(shí)注意選對接口。用Wireshark抓環(huán)回適配器的流量時(shí)要選對接口名否則抓不到。因?yàn)樗牧髁坎唤?jīng)過物理網(wǎng)卡選錯(cuò)了接口就是一片空白。我一般先ipconfig確認(rèn)接口再在Wireshark里對應(yīng)選擇。第四長期不用建議禁用而非卸載。如果你只是臨時(shí)用一下用完可以在網(wǎng)絡(luò)連接里右鍵禁用需要時(shí)再啟用比卸載重裝快得多。卸載了下次還得走一遍安裝流程麻煩。第五注意和第三方網(wǎng)絡(luò)軟件的沖突。某些網(wǎng)絡(luò)加速、代理、防火墻軟件會接管所有網(wǎng)絡(luò)適配器可能把環(huán)回適配器也納入管理導(dǎo)致配置被改。如果發(fā)現(xiàn)配置莫名失效檢查一下是不是這類軟件在作怪。我個(gè)人在實(shí)際操作中的體會是環(huán)回適配器這東西屬于平時(shí)想不起來用的時(shí)候真香的工具。它不花哨但勝在穩(wěn)定、輕量、系統(tǒng)自帶。把它加進(jìn)你的工具箱下次遇到單機(jī)網(wǎng)絡(luò)測試的需求就不用費(fèi)勁開虛擬機(jī)了。裝的時(shí)候記住Win10下的名字是KM-TEST找不到就勾顯示所有設(shè)備配IP時(shí)避開物理網(wǎng)段基本就不會踩坑。