3、IP配置问题:静态IP与DHCP冲突、子网掩码错误、默认网关丢失
IP配置出问题,是连接断开最常见的原因之一。说实话,我排查过的网络故障里,至少有三成是IP配错了。不是冲突了,就是掩码写错了,再不然就是网关丢了。
很多人觉得配IP很简单,填几个数字嘛。但恰恰是这几个数字,坑了无数人。我自己就翻过车,而且不止一次。
3.1 静态IP与DHCP冲突
先说说静态IP和DHCP冲突。这问题在办公网络里特别常见。
你想想看,公司里大部分电脑都是自动获取IP(DHCP)。但总有些特殊设备,比如打印机、服务器、监控摄像头,需要配固定IP。这时候就容易出事了。
DHCP服务器可不知道你手动配了哪个IP。它只管按地址池往外发。一旦它把某个IP租给了别人,而你又手动配了同一个IP……嗯,冲突就来了。
冲突后的典型表现:
- 两台设备轮流掉线,或者同时掉线
- 系统弹窗提示“IP地址冲突”
- ping自己网关时断时续
我在项目里遇到过最离谱的一次,是客户说财务系统每天下午三点准时断网。查了半天,发现是财务部一台打印机配了静态IP,而DHCP地址池刚好包含了这个IP。每天下午三点,新入职的员工电脑开机,DHCP就把这个IP租出去了。打印机一掉,财务系统就打印不了凭证。
我的建议:
给设备配静态IP时,一定要避开DHCP地址池。或者干脆在DHCP服务器上做个排除(Exclusion),把静态IP从地址池里剔出去。这样DHCP就不会乱发了。
怎么查冲突?Windows系统里,用ipconfig /all看自己的IP。再用arp -a看看局域网里谁在用这个IP。如果发现同一个IP对应了两个MAC地址,那肯定冲突了。
# 查看本机IP配置
ipconfig /all
# 查看ARP缓存,确认IP和MAC对应关系
arp -a
# 如果怀疑冲突,可以清空ARP缓存再试
arp -d
3.2 子网掩码错误
子网掩码这东西,很多人配的时候根本不看。觉得255.255.255.0是标配,填上就完事了。但真不是这样。
子网掩码决定了你的电脑认为“局域网”有多大。说白了,就是告诉系统:哪些IP是隔壁邻居,可以直接说话;哪些IP是远房亲戚,得找网关帮忙。
掩码配错的后果:
- 掩码写大了(比如255.255.0.0):电脑以为整个B段都是局域网,访问外网时可能不找网关,直接发ARP请求。结果没人理它,连接就断了。
- 掩码写小了(比如255.255.255.128):电脑以为只有半个C段是邻居。如果网关IP刚好在另一半,电脑就认为网关不在同一个网段,直接丢弃数据包。
我记得有一次,一个分公司的员工说上不了网。远程过去一看,IP和网关都是对的,但就是ping不通网关。我让他把掩码发给我,他发过来一个255.255.255.240。我说你改回255.255.255.0试试。一改,好了。
为什么会这样?因为他的IP是192.168.1.100,网关是192.168.1.1。用255.255.255.240算一下,他所在的子网是192.168.1.96到192.168.1.111。网关192.168.1.1根本不在这个范围内。电脑自然认为网关不可达。
| 掩码 | CIDR | 可用IP数 | 常见场景 |
|---|---|---|---|
| 255.255.255.0 | /24 | 254 | 小型办公网络 |
| 255.255.255.128 | /25 | 126 | 小部门隔离 |
| 255.255.255.192 | /26 | 62 | 更小的子网 |
| 255.255.255.240 | /28 | 14 | 特殊设备段 |
怎么快速判断掩码对不对?用ping测试网关。如果ping不通,先别急着怀疑网线。看一眼掩码,再算算网关是不是在同一个子网里。
# 快速测试网关连通性
ping 192.168.1.1
# 如果ping不通,检查本机IP和掩码
ipconfig
# 手动计算:IP和掩码做“与”运算,得到网络地址
# 网关的网络地址必须和本机一致
3.3 默认网关丢失
默认网关,就是你的电脑访问外网时,把数据包交给谁。如果这个字段是空的,或者填错了,那你的电脑就只能跟局域网里的人聊天,出不了门。
网关丢失的原因,我总结了几种:
- 手动配置时漏填了——最常见,纯属粗心
- DHCP获取不全——DHCP服务器没下发网关选项(Option 3)
- 恶意软件或误操作——某些软件会修改网络配置,把网关清掉
- 多网卡冲突——装了虚拟机软件后,多出来一个网卡,导致路由表混乱
避坑指南:
我曾经帮一个朋友看电脑,他说能上QQ但打不开网页。我一看,IP和掩码都对,但默认网关是空的。QQ用的是UDP直连,不需要网关也能登录。但网页浏览必须经过网关。这就是典型的“网关丢了,内网通外网不通”。
检查网关的方法很简单。命令行里跑route print,看默认路由(Destination 0.0.0.0)那一行。如果Gateway列是空的,或者指向了错误的IP,那就说明网关有问题。
# 查看路由表,确认默认网关
route print
# 输出示例(只看关键行):
# IPv4 路由表
# 网络目标 网络掩码 网关 接口 跃点数
# 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 25
# 如果0.0.0.0这一行不存在,说明没有默认网关
修复方法也简单。如果是手动配的,去IPv4属性里把网关填上。如果是DHCP获取的,试试ipconfig /renew重新获取。如果还不行,检查一下DHCP服务器是不是把网关选项给关了。
注意:
有些路由器默认网关就是它自己(比如192.168.1.1或192.168.0.1)。但如果你改了路由器的LAN口IP,记得同步更新电脑上的网关地址。我见过有人把路由器IP改成10.0.0.1,但电脑网关还写着192.168.1.1。结果就是电脑能连路由器,但上不了网。
3.4 一张图看懂IP配置问题
下面这张图,把三种IP配置问题的排查路径串起来了。遇到连接断开,先按这个思路走一遍。
这张图把排查路径理清楚了。从“连接断开”开始,第一步永远是查IP配置。然后根据问题类型,走对应的分支。IP冲突就改IP或调DHCP池;掩码错了就改回来;网关丢了就补上。最后汇聚到“连接恢复”。
说白了,IP配置问题没那么玄乎。记住三个关键词:不冲突、掩码对、网关在。每次配完IP,花十秒钟检查一下这三项,能省掉后面好几个小时的排查时间。