了解托管网络的 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 的以太网 NIC,该以太网 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?

相关内容