公司内网突然无法访问共享打印机,所有人反馈能正常上网,但ping打印机IP就是不通。检查打印机网络配置,发现IP、网关都正确,唯独子网掩码被误设为255.255.255.0——这看起来没错,但实际打印机和电脑不在同一子网段。原来打印机IP是192.168.1.200/24,而电脑用的是192.168.2.x/24,两个网段被掩码隔开了。
这种故障很隐蔽:上网不受影响是因为路由器做NAT时只看目标IP,不检查子网掩码;但内网设备互访时,主机根据自身掩码判断目标是否在本地子网。我这次排查时,先用ipconfig看电脑掩码是255.255.255.0,而打印机掩码却是255.255.0.0,显然是被人改过。更正打印机掩码为255.255.0.0后,通信立即恢复。
子网掩码决定了设备认为哪些IP属于“同一局域网”。如果设置错误,比如把/24写成/16,设备会误以为很多IP都在本地,但实际网关不会转发;或者写小了,设备会把本应直连的IP当成跨网段,从而找不到网关。我后来在路由器DHCP设置里固定了子网掩码选项,避免终端自动获取错误值。同时,为不同楼层划分独立子网时,特意在核心交换机上写静态路由,彻底杜绝掩码混乱问题。
如果你也遇到内网部分设备不通、但外网正常的情况,第一步检查子网掩码是否和网关匹配。用命令ipconfig /all查看,掩码必须与网关地址所在网段一致——比如网关192.168.1.1,掩码应为255.255.255.0(/24),除非你专门用了超网。
问:子网掩码设成255.255.255.255会怎样?
答:设成255.255.255.255表示仅有这一个IP属于本地网络,其他所有IP(包括网关)都会被判定为远程,导致无法与任何其他设备通信,甚至ping不通网关。除非是点对点链路或特定虚拟接口,否则普通设备不要设置。
问:子网掩码和网关有什么关系?
答:网关是设备访问外网时发送数据的出口IP;子网掩码决定设备的“邻居范围”。两者必须配合:设备用掩码算出自己的网段,只要目标IP不在本网段,就会把数据发给网关。如果掩码算出的网段包含不了网关IP,设备会认为网关也在远程,从而无法上网。
问:如何快速计算子网掩码对应的可用IP数?
答:常用公式:可用IP数=2^(32-掩码位数)-2。例如/24(255.255.255.0)即32-24=8,2^8=256,减2(网络地址和广播地址)得254个可用。实际排查时可以用在线子网计算器,或者记住常见掩码:/24有254个,/23有510个,/16有65534个。











