了解託管網路的 IP 位址分配和路由

了解託管網路的 IP 位址分配和路由

可透過以下方式啟用託管網路(「Wifi 網路共享」或「無線存取點」):

netsh wlan set hostednetwork mode=allow ssid=[name] key=[password]
netsh wlan start hostednetwork

到目前為止,一切都很好。

然而,以下事情對我來說完全不清楚(也無處可尋):

  1. 託管網路介面卡是否應該有 IP 位址(非 169.x)?如果不,應該如何使用? (當然,我可以靜態地將 IP 分配給接口,但理想情況下這會自動發生而不會產生衝突)。如果是分配 IP 位址的確切機制(服務等)是什麼?

  2. 無線客戶端如何取得IP位址?必須有某種 DHCP 服務。具體機制是什麼?

  3. 無線客戶端與網際網路介面之間的路由到底是如何運作的?像往常一樣,我可以手動執行路由命令,但必須有一個機制可以正確配置它。如何?

我問這些問題的原因是:

  • 當我執行時netsh wlan start hostednetwork,「Microsoft Hosted Network Virtual Adapter」適配器(大多數時候,並非總是!)分配了 169.254.74.242。在我看來,這是錯誤的,應該是192.168.137.1。我想調試到底出了什麼問題。
  • 當無線客戶端連接時,它們不會獲得分配的 IP 位址。我想調試到底發生了什麼事。 (例如,DHCP 服務是否已失效?)
  • 當我手動分配所有 IP 位址時,我可以 ping 無線用戶端,無線用戶端也可以 ping 主機,但它們仍然無法存取互聯網,儘管互聯網連接是共享的。我想調試到底發生了什麼(例如,我應該看到哪些路由條目(如果有)、哪些防火牆規則等)

我嘗試重新啟動 Windows、重新啟動 SharedAccess 服務、停止和啟動託管網路。甚至從裝置管理員中刪除託管網路介面。

答案1

我認為 Windows 內建的「Internet 連接共享」功能應該為您處理所有這些問題,因此只需使用它,除非問題背後的真正意圖歸結為「如何手動使用命令列來設置所有Internet 連接共享會自動為我設置的東西嗎?

一些背景資訊可能會有所幫助,以消除可能的誤解。

[順便說一下,你沒有說你現有的網際網路連線介面是什麼,所以為了方便起見,我假設它是一個乙太網路卡,連接到現有的乙太網路 LAN,該 LAN 已經有 DHCP 伺服器和 IP路由器就在上面。

Wi-Fi 是一種類似乙太網路的第 2 層技術。它獨立於 IP 等第 3 層技術。 Wi-Fi 從設計上來說並不真正了解 IP。此介面不需要 IP 位址,也不需要透過 DHCP 或其他任何方式提供 IP 位址,也不需要進行 IP 路由。

例如,您可以在 Wi-Fi 介面和乙太網路介面之間啟用第 2 層橋接,以便您的無線用戶端透明地連接到現有的乙太網路 LAN。這樣,無線用戶端就可以透過 DHCP 從乙太網路 LAN 上現有的 DHCP 伺服器取得 IP 位址租用,並且它們都與 LAN 的其餘部分位於同一子網路上,以便服務發現協定正常運作。

如果您想在 Wi-Fi 和乙太網路之間啟用 IP 轉送(基本 IP 路由)或 NAT (NAPT) 網關,則可以。如果您這樣做,您可能需要手動為 Wi-Fi 介面提供與現有乙太網路 LAN 不同的子網路上的 IP 位址。您可能想要使用尚未在您的家庭網路或您透過 VPN 連線的任何其他專用網路上使用的 RFC 1918 專用子網路。您可能還需要在 Wi-Fi 介面上啟用 DHCP 服務,以便為加入該網路的任何無線用戶端提供該新子網路上的其他位址。

答案2

感謝您提供有關 Windows 中「託管網路」功能的清晰資訊。在您的回答中,我看到這句話:「您可以在Wi-Fi 介面和乙太網路介面之間啟用第2 層橋接...」這正是我想做的,但我不知道如何管理它在 Windows (10) 中。我可以透過筆記型電腦乙太網路 LAN 存取互聯網,也可以存取 LAN 上的 NAS。如何將 LAN 橋接到 WiFi,以便我的手機能夠使用 WiFi(直接)透過筆記型電腦連接到 LAN?

相關內容