上次机房排查断网,才实打实搞懂dhcp服务器是什么,不是一台单独的物理机器,是跑在系统里的一项网络服务。那天下午工位一半电脑上不了内网,ping网关全是请求超时,一开始只以为交换机端口挂了,挨个拔网线试了半小时,问题一点没变。
dhcp服务器的工作现场
设备刚接入局域网,会先广播一条请求,问网络里谁能给它分配IP。dhcp服务器收到这条广播,就从预先划定好的地址池里挑一个空闲IP,连同子网掩码、网关、DNS地址打包发回去,设备拿到参数,才能正常接入内网通信。全程不用网管手动给每台电脑填静态IP,规模大一点的办公网,靠手动设置根本没法维护。
地址池,是它最核心的一块。
那次故障根源,就是dhcp服务器地址池耗尽。网段里允许发放的IP已经全部分配出去,新接入的终端拿不到地址,只能卡在获取网络地址这一步。屏幕网络图标一直转圈,反复重连也没用,重启电脑和交换机都绕不开这个卡点。当时第一反应是增加地址池范围,但是网段掩码固定,可用IP总量有上限,随便扩大范围会和其他业务网段冲突,不能直接改。
dhcp服务器的两种部署形态
| 部署类型 | 载体 | 适用场景 | 局限 |
|---|---|---|---|
| 硬件内置dhcp | 路由器、防火墙 | 小型办公室、家庭网络 | 地址池管理能力弱,大批量终端容易出问题 |
| 系统软件dhcp | WindowsServer、Linux | 企业机房、多VLAN大型内网 | 需要专人维护,服务器停机就会停止分发IP |
小公司大多直接用路由器自带的dhcp,省事,终端数量二三十台以内基本稳定。一旦终端数量持续上涨,就容易撞上地址池满的问题。大型企业一般单独搭建在服务器系统上,还能划分多个地址池,配合VLAN,给不同部门的设备分配对应网段,同时做IP地址租期管控。租期控制IP占用时长,到期设备会续租,长时间离线的设备,IP会被回收,放回地址池重新分配。
dhcp服务器故障的那次处理
找到问题之后,没有直接扩容网段,而是调低了IP租期。原先租期设置成24小时,很多下班关机的设备,IP还一直占用着,没有及时释放。把租期改成4小时,闲置IP回收速度明显加快,等待几分钟,一部分离线设备的地址释放出来,工位电脑陆续拿到IP恢复联网。这个办法只能临时缓解,终端持续增加的话,迟早还会出现地址耗尽,长期方案还是增加子网或者部署第二台dhcp服务器做冗余。
还有一个容易忽略的坑,同一局域网里不能同时跑两台启用的dhcp服务器。两台设备同时分发IP,终端会随机拿到两套网络参数,一部分设备网关地址错乱,出现内网能通但是打不开外网的情况。上次隔壁分部就踩过这个雷,新加的防火墙没关闭自带dhcp,和原有服务器冲突,排查花了很久才定位。
关掉dhcp服务器,网络不是直接断掉,只是新接入设备无法自动获取IP。已经拿到IP并且租期没到期的终端,可以继续上网,直到租期结束,才会失去网络参数。这一点很容易判断故障类型,老设备正常在线,新电脑连不上,优先怀疑dhcp服务异常。
那天忙完,机房空调吹着,盯着服务器后台地址池统计页面,看着空闲IP数字慢慢回升。没有额外去写文档记录这件事,只是顺手把租期参数记在本地记事本里。