无论是有线还是无线连接,我都只能访问192.168.1.1
路由器 Web 门户和常规 Internet 中的一个。我的设备处于哪种“模式”似乎是随机的。这种情况已经持续了 5 天(自从我开始使用此网络以来)。
当连接到互联网时,我可以访问192.168.102.1
并看到“mikrotik routeros”的登录页面,但无法访问192.168.1.1
。当连接到路由器但未连接到互联网时,192.168.1.1
会出现路由器网络门户,并且192.168.102.1
无法访问。
尝试的解决方案
- 升级路由器固件
- 将路由器重置为出厂设置
- 重启设备
- 摆弄路由器设置(更改无线安全模式、删除无线安全等)
- 升级计算机上的无线驱动程序
一些数据
- 影响 BlackBerry、Windows、Android 和 Ubuntu 设备
- 所有设备在其他网络上均正常工作
- 如果设备长时间处于离线状态(例如:过夜),则可能会切换模式,但重新启动设备则不会产生任何影响
- 路由器是 TP-Link TL-WR740N v4
- 路由器固件 DD-WRT v24-sp2 (04/18/14) std - build 23919
- 有线和无线连接都会受到影响,但不一定同时发生
我对网络一无所知,但这里有一些从我的 Ubuntu 笔记本电脑上获取的有用信息。
通过互联网接入(在这种情况下是有线的,但情况有所不同):
~ $ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.102.1 0.0.0.0 UG 0 0 0 eth0
192.168.102.0 0.0.0.0 255.255.254.0 U 1 0 0 eth0
~ $ ifconfig
eth0 Link encap:Ethernet HWaddr 54:ee:75:0c:02:80
inet addr:192.168.103.232 Bcast:192.168.103.255 Mask:255.255.254.0
inet6 addr: fe80::56ee:75ff:fe0c:280/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3273 errors:0 dropped:0 overruns:0 frame:0
TX packets:3035 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2276482 (2.2 MB) TX bytes:517732 (517.7 KB)
Interrupt:20 Memory:f0500000-f0520000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4315 errors:0 dropped:0 overruns:0 frame:0
TX packets:4315 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:342880 (342.8 KB) TX bytes:342880 (342.8 KB)
使用“路由器访问”(在这种情况下是无线的,但会有所不同):
~ $ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
~ $ ifconfig
eth0 Link encap:Ethernet HWaddr 54:ee:75:0c:02:80
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:9422 errors:0 dropped:0 overruns:0 frame:0
TX packets:7545 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6216683 (6.2 MB) TX bytes:1399280 (1.3 MB)
Interrupt:20 Memory:f0500000-f0520000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4446 errors:0 dropped:0 overruns:0 frame:0
TX packets:4446 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:353415 (353.4 KB) TX bytes:353415 (353.4 KB)
wlan0 Link encap:Ethernet HWaddr e8:2a:ea:60:31:4b
inet addr:192.168.1.105 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::ea2a:eaff:fe60:314b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:77013 errors:0 dropped:0 overruns:0 frame:0
TX packets:49506 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25275438 (25.2 MB) TX bytes:30355132 (30.3 MB)
同时使用两者(有线和无线均开启):
~ $ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.102.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
192.168.102.0 0.0.0.0 255.255.254.0 U 1 0 0 eth0
答案1
事实上,您在两个不同的子网上获得分配的 IP 意味着您在直接连接的网络上有两个 DHCP 服务器。
通常,我建议使用类似dhcp_probe -f eth0
或的命令roguechecker
来找出网络上哪些 IP 正在提供 DHCP,但您已经知道它们是什么。即 192.168.1.1 和 192.168.102.1。
您有两种方式可以同时获得互联网连接和连接到 192.168.1.0 网络。这两种方式都需要禁用或删除 192.168.1.1 上的 DHCP 服务器,并让 192.168.102.1 为您分配一个 IP 以访问互联网。
方法如下:
1)向Linux机器添加一个静态路由条目,告诉它192.168.1.0是直接连接的。
route add -net 192.168.1.0/24 wlan0
应该为此而努力。
2)向路由器添加一个静态路由条目,告知它 192.168.1.0 直接连接。
这可能特定于你的路由器/固件,但由于你正在运行 DD-WRT,你可以很容易地找到添加静态路由。请注意,对于直接连接的网络,网关应为 0.0.0.0。
答案2
听起来好像您的网络上存在竞争的 DHCP 服务器。
向您提几个问题:
- 你的路由器是什么型号?
- 您是否在网络中的任何计算机上启用了 DHCP 服务?
- 您的网络上有多少台计算机?您能将它们全部关闭,然后再逐台打开,直到问题出现吗?
答案3
路由器需要将 WAN 连接类型设为 DHCP,还需要设置静态 DNS(我使用了 8.8.8.8 和 8.8.4.4)。路由器应该打开自己的 DHCP 服务器。
网络显然是像这样连接的:有一个中央路由器,通过一根电缆连接到我单位的本地路由器。