我有一台 Windows 机器,上面运行着 WSL 和 WSL 的 nginx 服务器。服务器在本地网络上运行良好,其他设备可以使用Windows机器网络接口的IP地址看到该网站。其他设备主要是安卓智能手机。我的问题是:这是否可能,如果可以,那么究竟如何设置在 WSL 上运行的简单本地 DNS 服务器?我不想在客户端设备上编辑主机文件(这很麻烦,而且我可能无法访问所有这些设备,并且地址可以更改),并且我不想在家庭路由器上设置自定义固件(此选项可能有风险甚至根本不可能)。我可以设置双启动,但我真的不喜欢这个主意。我对这个想法抱有微弱的希望,因为我的 http 服务器正在以某种方式工作。我听说过bind9,但就我而言,这里的配置更加复杂。基本上,问题是:
可以运行该配置吗?如果不是,到底为什么?还有什么替代方案?如果是的话,具体如何?我尝试在 WSL 上设置 dnsmasq,但它仅适用于主机。我尝试使用 WSL 的默认 NAT 网络模式(使用侦听端口 80 和 53 的端口代理接口)以及镜像网络模式来实现此目的。Windows 防火墙中打开端口 80 TCP 和 53 TCP/UDP。我想在 WSL 上使用本地 DNS 服务器。我希望能够在我的网站上使用某个地址(例如 local.site),不仅在我的主机上,而且也在我的本地网络上的其他设备上。所有其他地址都应重定向到某个 DNS 服务(例如 8.8.8.8),或重定向到我的家庭路由器,后者又将该请求重定向到我的 ISP,以便网络可以正常工作,除了我的特定地址(以及其他一些地址)。可能)。我的 /etc/hosts 文件包含我的主机网络接口的 IP 地址,并且在 /etc/wsl.conf 中禁用了自动生成。文件 /etc/resolv.conf 会自动生成。如果我的想法可行,我想了解配置的详细信息,包括 IP 地址、它们的位置以及其他配置详细信息,例如 WSL 网络模式和防火墙配置。如果不是,我想知道原因和可能的替代方案。