有一天晚上我的手机连上自家WiFi后,信号满格却打不开任何网页。检查路由器后台一切正常,其他设备都能上网。我打开手机的网络详情一看,IP地址是192.168.1.88,网关192.168.1.1,DNS也是对的,但就是无法通信。
这台手机之前为了省电,我手动指定过静态IP,当时填完后没细想就能用。这次出问题后,我试着把WiFi忽略再重连,现象依旧。于是我打开IP设置,发现子网掩码一栏填的是255.0.0.0,而我路由器的实际掩码是255.255.255.0。问题就出在这里:子网掩码决定了设备认为网络范围有多大,填成A类掩码后,手机会认为192.168.1.88和192.168.1.1不在同一个网段里,发出去的ARP请求到不了网关,自然无法上网。
把子网掩码改成255.255.255.0后,手机立刻恢复了正常。这次排查让我明白,手动设置IP时,子网掩码和网关、IP地址同样重要。如果填错掩码,即使IP和网关看起来都对,数据包也会被当成跨网段扔给不存在的下一跳。
后来我又遇到过类似情况:一台打印机手动设置了192.168.1.200,掩码误填255.255.255.128,结果路由器分配的地址池在192.168.1.100到192.168.1.199之间,打印机因为掩码计算出的广播地址不同,无法和电脑互访。把掩码统一成255.255.255.0后,问题消失。
所以,当你手动指定IP时,建议按路由器LAN口设置来填:IP地址在路由器DHCP池之外,子网掩码和路由器一致,网关填路由器管理IP。如果不确定,先把WiFi设为自动获取,在手机“已连接”详情里查看路由器的实际掩码,再照着填。
问:子网掩码填错会导致完全不能上网吗?
答:不一定。如果掩码把网关排除在“同一网段”之外,数据包无法交给网关,就会完全不能上网。如果掩码范围比实际更小,比如路由器的掩码是255.255.255.0,你填成255.255.255.128,那么IP地址大于127的设备会被认为不在本网段,也可能出现部分设备能访问、部分不能的情况。
问:手动设置IP时,子网掩码应该怎么填?
答:最简单的方法是先让设备自动获取IP,然后进入路由器后台查看LAN口设置,把子网掩码原样抄过来。家用路由器绝大多数都是255.255.255.0,少数网段设置为10.0.0.x时可能用255.0.0.0,但请一定以路由器实际显示为准。
问:既然自动获取IP没问题,为什么还要手动设置?
答:有些场景需要固定IP,比如打印机、监控摄像头、NAS,或者为了绕过DHCP分配不稳定。手动设置时务必确保IP地址不与DHCP地址池重叠,否则可能造成IP冲突。建议把静态IP设置在DHCP池之外,例如地址池是100-199,你可以用200以上的地址。











