3、IP地址配置问题:静态IP配置错误、DHCP获取失败、子网掩码不匹配、默认网关设置错误
说到IP地址配置,这可能是物联网设备联网时最让人头疼的问题之一。我这些年排查过的设备故障里,至少有三成跟IP配置有关。说白了,IP地址就像设备的门牌号,门牌号错了,快递员怎么找得到你?
3.1 静态IP配置错误
静态IP配置,就是手动给设备指定一个固定的IP地址。听起来简单,但坑特别多。
- IP地址冲突:两台设备用了同一个IP
- IP不在同一网段:比如路由器是192.168.1.1,你配了个192.168.2.100
- IP地址格式错误:多打了空格、少打了点,或者写了255.255.255.256这种不存在的地址
我记得有一次,工厂里一批传感器怎么都连不上服务器。折腾了半天,最后发现是配置人员把IP写成了「192.168.1.10 0」——中间多了个空格。嗯,这种低级错误其实很常见。
配置静态IP前,先用ping命令检查一下这个IP有没有被占用。比如:
ping 192.168.1.100 -n 2
如果返回「请求超时」,说明这个IP目前没人用,可以放心配置。
3.2 DHCP获取失败
DHCP(动态主机配置协议)是设备自动获取IP的方式。大部分物联网设备默认都用DHCP,但有时候就是拿不到IP。
为什么会这样?我总结了几种常见情况:
| 原因 | 现象 | 排查方法 |
|---|---|---|
| DHCP服务器故障 | 设备一直显示「获取IP中...」 | 检查路由器或DHCP服务器是否正常运行 |
| DHCP地址池耗尽 | 部分设备能获取,部分不行 | 登录路由器查看地址池剩余数量 |
| 网线或WiFi信号问题 | 设备获取到169.254.x.x的IP | 检查物理连接或信号强度 |
| 防火墙拦截 | DHCP请求发不出去 | 临时关闭防火墙测试 |
这里有个关键点:如果设备获取到169.254.x.x这个IP段,说明DHCP失败了。这是Windows系统自动分配的「备用IP」,只能用于局域网内通信,上不了互联网。
🔧 排查步骤:
- 在设备上执行
ipconfig /renew(Windows)或dhclient(Linux)重新获取IP - 检查DHCP服务器的日志,看看有没有拒绝记录
- 如果设备太多,考虑扩大DHCP地址池范围
3.3 子网掩码不匹配
子网掩码这个东西,很多人容易忽略。我见过不少工程师,IP地址配对了,子网掩码随便写了个255.255.255.0,结果设备就是不通。
子网掩码的作用是告诉设备:「哪些IP地址跟我同一个网段」。如果掩码不匹配,设备会认为目标IP不在本地网络,然后把数据包扔给网关——但网关可能也处理不了。
设备A:IP 192.168.1.10,掩码 255.255.255.0
设备B:IP 192.168.1.20,掩码 255.255.0.0
看起来两个设备都在192.168.1.x网段,但A认为B在同一个子网,B却认为A不在。结果就是A能ping通B,B ping不通A。这种「单向通信」的问题,我排查过好几次。
我个人习惯,在同一个局域网内,所有设备的子网掩码保持一致。如果网络规模不大,统一用255.255.255.0最省心。
3.4 默认网关设置错误
默认网关,说白了就是设备上网的「大门」。设备要访问外网,数据包必须先发给网关,由网关转发出去。
网关设置错误,通常表现为:
- 能ping通局域网内设备,但上不了互联网
- 网关IP写成了别的设备的IP(比如写成了打印机的IP)
- 网关IP跟设备IP不在同一网段(比如设备是192.168.1.10,网关写成了192.168.2.1)
我曾经遇到一个项目,所有设备都配了静态IP,网关也写了,但就是上不了网。查了半天,发现网关IP写的是路由器的管理IP(192.168.1.1),但路由器实际的数据转发IP是192.168.1.254。嗯,这两个IP虽然都在同一个路由器上,但功能不同。管理IP用于登录配置,数据转发IP才是真正的网关。
所以,配置网关前,先确认一下路由器的实际网关地址。最简单的方法:找一台能正常上网的电脑,执行 ipconfig 或 route print,看看它的默认网关是多少。
3.5 综合排查流程
遇到IP配置问题,我一般按这个顺序排查:
- 先看IP地址:设备有没有获取到IP?是静态还是DHCP?
- 再看子网掩码:跟其他设备是不是一致?
- 然后看网关:能不能ping通网关?
- 最后看DNS:虽然DNS不属于IP配置,但DNS错了也会导致「上不了网」的假象
🔧 快速验证命令:
# 查看本机IP配置
ipconfig /all
# 测试网关连通性
ping 网关IP
# 测试外网连通性
ping 8.8.8.8
# 测试DNS解析
nslookup www.baidu.com
你想想看,如果ping 8.8.8.8能通,但ping www.baidu.com不通,那问题大概率在DNS上,而不是IP配置。反过来,如果连网关都ping不通,那就要从物理连接和IP配置入手了。
好了,IP地址配置的问题就聊到这儿。下一章我们聊聊DNS解析的问题——这个坑也不少。