突然,我的 LAN 上的设备无法浏览 LAN 上其他设备的 IP 或主机名(只能浏览它们自己和 192.168.1.1 的路由器)。
我有一台 Win 10 台式机、一台 Macbook Air、一台 iPhone 6 和一台旧 iPad,它们都连接到我的 WiFi,并且都可以在我的 Netgear WNDR3700 路由器上(带有 DD-WRT v3.0-r31924 std(05/02/17))正常浏览互联网。
我还可以从设备访问 192.168.1.1 路由器的配置页面。
直到几天前,他们还可以浏览我的局域网以显示我在本地服务器上开发的站点(Win 10 桌面位于 192.168.1.120,它也运行 Laravel Homestead Vagrant 作为另一台服务器,直到最近一切都运行良好)。
但是,现在除了路由器主页 192.168.1.1 之外,没有任何设备能够连接到其他 LAN IP。
我尝试过重新启动设备、重新启动路由器和电缆调制解调器、将路由器设置恢复为早期版本等。
使用 iPhone 上的 KeepSolid 的“网络工具”应用程序显示,Trace Route 对普通站点有效,但对 192.168.1.120 等 LAN 站点则失败。
iPhone 上的“网络工具”应用程序也有一个 DNS 查找实用程序。当我输入本地主机名时,它们会将正确的 IP 地址指向“A”记录。其他记录(AAAA、MX、NS、SOA、SRV 和 TXT)都显示“DNS 服务器返回的答案没有数据”。我真的不知道这是什么意思,我想这可能都无关紧要,因为如果我的设备甚至无法直接在浏览器中访问 IP 地址,那么主机名解析就毫无用处。
我不知道已更改本周……但不知何故我注意到我的有线电视提供商更改了我的 WAN IP。但我真的怀疑这是否会导致这些问题。
我发现了有关DD-WRT 固件中的错误在我的 Netgear WNDR3700 路由器上。
该主题中的人们建议在路由器中运行以下命令是一个合适的解决方法,但他们的命令(例如这些)都没有为我解决问题:
swconfig dev switch0 set enable_vlan 1
swconfig dev switch0 set apply
另外,我的路由器有一直在运行,而且我最近没有对其进行更改。因此,这个错误影响到我,这毫无道理。
另外,我也尝试用旧的 TP-Link 路由器(运行更早版本的 DD-WRT)替换我的 Netgear 路由器,尽管那路由器之前工作正常,现在甚至那一、我的设备只能浏览互联网,但无法 ping 通 LAN IP。
我还能尝试什么来诊断和修复此问题?
答案1
2017-05-30 的原始答案:
现在,我的网站都可以从所有设备访问了(甚至使用我在 DD-WRT 中指定的自定义域)。
步骤1:
我需要转到 Windows > HomeGroup 并使 PC 在我的网络上可被发现。(也许这是在Control Panel\Network and Internet\Network and Sharing Center\Advanced sharing settings
。)
(但是当我的 PC 无法被发现时,我的设置是如何工作的呢?或许它直到最近才被发现?我不确定是什么改变了它的状态。我不记得曾经以某种方式设置过它。)
这样做可以使我的 Nginx 网站通过移动设备可见(而不仅仅是在同一 Windows 桌面的浏览器中)。
但是我的 Homestead (Vagrant) 网站仍然无法通过移动设备查看(尽管它仍可在同一 Windows 桌面的浏览器中运行)。所以...
第2步:
我将这些设置为DD-WRT 中的启动命令:
swconfig dev switch0 set enable_vlan 1
swconfig dev switch0 set apply
步骤3:
在 DD-WRT > 附加 DNSMasq 选项中,我更改address=/mysite.xyz/192.168.10.10
为address=/mysite.xyz/192.168.1.111
。
其他背景信息:
我的 Windows“hosts”文件没有任何相关的活动条目。
我的Homestead.yaml
是:
#https://laravel.com/docs/5.4/homestead
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa2013Oct
folders:
- map: c:/code/mysite-members
to: /home/vagrant/Code/mysite-members
sites:
- map: mysite.xyz
to: /home/vagrant/Code/mysite-members/public
schedule: false
databases:
- mysite
networks:
- type: "public_network"
# Should I make this network type public or private?
# This IP must not match the static IP of the desktop. Make it different, such as "192.168.1.111" if the desktop is 192.168.1.110.
ip: "192.168.1.111"
bridge: "Realtek RTL8811AU Wireless LAN 802.11ac USB 2.0 Network Adapter"
homestead.bat reload --provision
当我编辑 Homestead 配置时,这就是我所运行的。
回顾:
我希望我知道确切地发生了什么变化、为什么发生以及问题的根本原因是什么。
即使没有采取所有这些步骤,我的所有设备直到最近都运行正常。
哦,好吧。我很高兴一切又恢复正常了。
2017-11-03更新:
我想我在过去的一年里遇到过三次这个问题,现在我认为这与 DD-WRT 或任何特定的路由器或错误关系不大,而可能与 IP 地址冲突和 IP 地址过时有关。
今天,在我最近一次遇到这个问题时(使用 Netgear R6300v1),我通过在两个位置将 IP 设置从 192.168.1.111 更改为 192.168.1.119 来解决这个问题(如之前所述描述在这里)。
第一个地点是Homestead.yaml > networks > ip
:
ip: "192.168.10.10"
networks:
- type: "public_network"
ip: "192.168.1.119"
bridge: "Realtek RTL8811AU Wireless LAN 802.11ac USB 2.0 Network Adapter"
在我的 DD-WRT“附加 DNSMasq 选项”中,我将其更改为address=/mysite.xyz/192.168.1.119
。
答案2
我刚刚在用于开发的旧 iPhone 6s 上遇到了这个问题。几个月来一直没出过问题,但有一天它突然停止工作了。
对我而言唯一有用的方法是忘记家里的 WiFi,然后重新连接到它: https://support.apple.com/en-us/HT208941
答案3
This scenario caused me endless annoyance recently. Apropos of nothing, my Windows 10 and 11 laptops could no longer reach Raspberry Pi and Ubuntu machines that host applications such as Pi-hole and Nextcloud. That being said, Pi-hole still blocked ads so the laptops' DNS queries were reaching 192.168.1.* addresses. But I could not SSH to the machines or use their admin UIs.
I'm going to blame a recent update to my ATT fiber router. Or maybe it's Microsoft's fault somehow. Regardless, the solution offered above - forgetting the wifi network- solved my problem. For now.