☰
华为FTTR子光猫Telnet修改DHCP、自定义DNS与租期实战
2026/10/20 1:42:50 网站建设 项目流程

手里这台 HN8156XR-10 我已经折腾了一周多,前后试过 Web 后台、运营商默认下发配置,发现真正要把 DHCP 的租期、自定义 DNS 这些细节改成自己想要的样子,最直接的路子还是 Telnet 进维护终端。FTTR 从光猫这东西,后台页面给到的选项实在太少,很多参数只能通过命令行去碰。这篇文章把我实际操作的思路、命令、踩坑过程全部捋一遍,给同样在折腾华为 FTTR 的朋友一个可以照着做的参考。

先说明一点,HN8156XR-10 是华为 FTTR 套装里的从光猫,全称 Fiber to the Room,光纤进房间。主光猫通过光纤把网络送到每个房间,从光猫负责扩展 Wi-Fi 和有线口。它本身也是个完整的小型网络设备,只是平时绝大多数人只把它当 AP 用,根本没想过它自己身上也有一套 DHCP 服务。而在某些组网场景下,你确实需要动它的 DHCP 参数。下面我从组网逻辑说起,再到 Telnet 实操,最后是问题排查,一步步讲透。

1. 动手前先搞懂:FTTR组网下DHCP到底归谁管

1.1 主光猫和子光猫的分工

FTTR 这种组网方式,本质上是把光猫的核心能力放在了主光猫那边,从光猫则是通过光纤把信号延伸出去。HN8156XR-10 作为从光猫,大多数情况下工作在 AP 模式或者桥接模式,它自身不带拨号功能,上行的管理、数据都从主光猫那边通过光纤链路获取。

在这个分工下面,正常情况下整个局域网的 DHCP 服务是由主光猫统一负责的。主光猫往下分配一个网段的地址,从光猫只是把这份网络资源通过自己的 Wi-Fi 和 LAN 口再分发出去。所以你从子光猫的 LAN 口接一台设备,拿到的 IP 其实还是主光猫下发的,从光猫只是相当于一个透明转发。

但问题是,HN8156XR-10 这个型号本身是有独立 DHCP 能力的。在部分固件版本或者特定工作模式下,它自己会维护一个小型的 DHCP 地址池。如果你把工作模式切到了路由模式,它的 DHCP 服务就会开启,这时候局域网里就会出现两个 DHCP 服务器,一个在主光猫,一个在从光猫,冲突就会随之而来。

1.2 为什么要动子光猫的DHCP:真实场景拆解

既然默认都是主光猫在下发地址,那折腾子光猫的 DHCP 到底有什么用?我自己遇到的场景比较典型:主光猫在入户弱电箱里,子光猫在二楼书房,书房里接了一台打印机、一台桌面级交换机和一台自建的本地 DNS 服务器。

直接接子光猫 LAN 口,设备确实能上网,但有两个明显不舒服的地方。第一,所有设备从主光猫获取地址,地址池谁都在用,同一栋楼里设备一多,IP 容易乱,特别是打印机这种需要固定访问的设备,比较麻烦。第二,我想让书房这一小撮设备走本地自建的 DNS 服务,做一些域名解析加速和广告过滤,主光猫的 DHCP 设置界面又根本没有自定义 DNS 选项。这种情况下,让子光猫在书房这一侧独立开一个 DHCP 服务,自己管一小段地址池,然后把 DNS 指向本地,就非常干净。

另外一个典型场景是:有人把子光猫放在出租屋或者独立办公室里,只有这一台设备,前面没有额外的路由器。从光猫自己的 DHCP 地址池和 DNS 下发参数如果不调整,终端设备会一直用运营商默认的 DNS,解析体验不太理想,租期也是默认 24 小时。有的人希望租期短一点,让访客设备不要长时间占着地址;有的人希望 DNS 指向自建解析服务。这些需求,后台管理页面都给不了。

1.3 必看:合规前提与风险底线

在正式说 Telnet 操作之前,我必须把一些前提说清楚。华为设备开放 Telnet 维护通道,主要目的是给运营商的装维人员和研发调试使用。用户自己能不能用,取决于设备来源、地区对应固件版本以及运营商策略。如果是公开版设备,有些版本会直接开放维护账户;如果是运营商定制版,Telnet 可能默认禁用。

我的立场是:只在你自己有权管理的设备上操作,并且是在合理配置、维护自有设备网络参数的范围内使用。网传的一些所谓“使能工具”、开启 Telnet 的绕过手段,风险都比较高,轻则配置文件丢失,重则设备变砖,这并不值得。本文默认你已经通过正常渠道拿到了维护登录条件。下面的内容,重点讲进入维护终端之后,怎么调整 DHCP、自定义 DNS 和租期。

注意:修改从光猫的网络参数之前,先拍照备份后台原有配置,记录下来原来的 IP 网段、地址池范围。改错了还能照原样恢复,这个习惯能帮你省掉非常多的麻烦。

2. Telnet登录前置准备:合规途径、网络拓扑与账号确认

2.1 确认设备是否已开放Telnet维护通道

拿到 HN8156XR-10,第一步不是急着找命令,而是先确认这台设备到底开没开 Telnet。常见的情况分三种:默认开放、需要在后台开启、运营商定制固件屏蔽了。

先试试从电脑上直接发起 Telnet 连接就知道大概情况了。在 Windows 的 CMD 或者 PowerShell 里,用telnet 192.168.1.1这样连一下。如果端口通,会出现黑色的命令行界面,登录提示一般是Login:或者WAP>直接出现。如果提示无法打开到主机的连接,说明端口没开,或者设备不在这个 IP 上。

在某些固件版本里,Telnet 服务默认是关闭的,需要在设备管理后台的“安全”或“维护”页面里找到对应开关。后台入口的地址一般是192.168.1.1或192.168.100.1,具体以设备背面标签为准。如果你在后台里看到“启用维护模式”“允许局域网内 Telnet 接入”之类的开关,直接打开就行。

如果后台也没有相应开关,那就要联系运营商装维人员处理,或者确认设备固件版本是否支持。这里我不推荐折腾非官方手段,还是那句话,风险高收益低,设备搞坏之后恢复也麻烦。

2.2 登录参数与电脑侧设置

Telnet 登录最核心的三个信息:管理 IP、登录端口、账号密码。HN8156XR-10 作为从光猫,默认管理 IP 通常和主光猫是同一段,常见是192.168.1.1或192.168.100.1。登录端口默认 23。

电脑这边,先把网卡的 IP 设置成和光猫同一网段。比如光猫是192.168.1.1,那就把电脑 IP 手动指定为192.168.1.100,掩码255.255.255.0,网关填192.168.1.1。如果你本身就在这个局域网内上网,那网卡自动获取的 IP 基本也在这个网段,直接连就行,不需要额外改。

用 Windows 的话,CMD 里直接输telnet,如果提示找不到命令,就先在“启用或关闭 Windows 功能”里把 Telnet 客户端勾上,不同系统版本细节不太一样,但都是这个思路。

登录账号这块,常见的维护账号是root,密码是设备出厂维护密码或者运营商定制密码。我实际操作时用的是项目现场记录下来的维护账号。如果你手头没有可用账号,优先找运营商装维同事确认。不要浪费时间用网上流传的万能默认密码去撞,效率低,还可能触发设备登录保护,把自己 IP 封掉一段时间。

2.3 维护终端的两种命令层:WAP层和Shell层

登录成功之后,你看到的不是常见的 Linux shell,而是华为光猫特有的维护命令层。提示符一般是WAP>,这一层里能用的命令是华为自己封装的,比如查看配置、修改一些维护参数、保存配置。很多折腾过华为光猫的朋友,对WAP>提示符应该不陌生。

要操作 DHCP、DNS 这种底层网络服务,光靠在WAP>层是不够的。华为设备内部本身是 Linux 系统,文件系统和进程都可以通过 shell 访问。所以在WAP>层需要执行shell命令,才能进入真正的 Linux shell,提示符一般会变成#或~ #。

进入 shell 之后,你就像是坐在一台小 Linux 机器前面,可以看进程、看网络配置、改文件。文章后面说的所有操作,基本都是在 shell 层完成的。要退出 shell 回到维护层,敲exit就行;要从WAP>层完全断开连接,敲exit或logout都可以。

在实际设备上,不同固件版本的命令名字可能略有差异。有的版本shell之后直接进 BusyBox shell,有的版本还要再手工指定 shell 解释器。遇到进不去的情况,先在WAP>层敲help看有没有类似的维护通道命令。

3. 实操:修改DHCP、自定义DNS与租期的完整过程

3.1 先摸清现状:查看当前DHCP与DNS状态

进入 shell 之后,不要着急改,先把眼前的局势摸清楚。我会按下面这个顺序做基础体检。

先看设备上到底跑了哪些和网络地址相关的进程:

ps | grep -i dhcp ps | grep -i dns

正常会看到dnsmasq或者华为自研的 DHCP 服务进程。如果出现dnsmasq,后面改配置的核心就是它。再看当前系统下发 DNS 配置长什么样:

cat /etc/resolv.conf

这个文件里记录了设备自己用的 DNS 服务器地址,以及远端地址。看完设备侧,还要看实际局域网里正在跑的 DHCP 服务情况。在电脑上用网卡工具查看当前分配到的 IP、网关、DNS、租期到期时间。Windows 下是:

ipconfig /all

把你电脑获取到的 IP、子网掩码、默认网关、DNS 服务器、租约获取时间和过期时间记录下来。这些数据是后面修改前后的对照基准。特别是租期,你在光猫侧改了参数之后,客户端不会立刻生效,必须续租或重连才能拿到新租期,所以当前租期数据留个底很有必要。

查看当前 DHCP 分配的活跃租约,在 shell 层可以用:

cat /tmp/dnsmasq.leases

如果文件存在,里面每一行是一个分配记录,包括租期过期时间、MAC 地址、IP 地址和主机名。这个文件虽然不是修改目标,但能帮你确认当前业务网段到底是从光猫分配的,还是透明转发到主光猫那边分配的。

3.2 修改DHCP服务器范围与自定义DNS的通用方法

在 shell 层,华为光猫的 DHCP 服务配置最常见的是dnsmasq,配置路径通常在/etc/dnsmasq.conf,但/etc有时候是临时文件系统,重启后会恢复原样。要确认持久化的配置目录,先看这个:

ls /mnt/jffs2/

华为设备的可写配置区一般挂在/mnt/jffs2,很多东西放在这里面。我建议你在动手之前,先把当前运行的配置备份到/mnt/jffs2下面,这样至少有一个安全网:

cp /etc/dnsmasq.conf /mnt/jffs2/dnsmasq.conf.bak cat /etc/dnsmasq.conf

配置文件里核心要看两行:dhcp-range和dhcp-option。

dhcp-range是 DHCP 地址池的定义,格式大概是:

dhcp-range=192.168.8.100,192.168.8.200,255.255.255.0,24h

意思是从 192.168.8.100 到 192.168.8.200 这一段可以分配,掩码 24 位,租期 24 小时。如果这一行是注释状态,说明这台从光猫当前没有启用 DHCP,地址都由上级分配。你要做的就是把这一行的注释取消,并且改成自己想要的一段网段。

自定义 DNS 用的是dhcp-option,标准 DHCP option 编号 6 就是 DNS 服务器:

dhcp-option=6,192.168.8.2

这行配置写在dhcp-range后面,意思是当客户端通过 DHCP 获取地址时,同时下发一个 DNS 服务器地址 192.168.8.2。如果你要下发多个 DNS,用逗号分隔,比如:

dhcp-option=6,192.168.8.2,223.5.5.5

这里我给的示例网段是 192.168.8.2,实际改成你自建 DNS 服务的局域网 IP 就行。

修改文件用sed比较高效,我实际操作时常用:

sed -i 's/^#dhcp-range=/dhcp-range=/' /etc/dnsmasq.conf sed -i 's/^dhcp-range=.*/dhcp-range=192.168.8.100,192.168.8.200,255.255.255.0,24h/' /etc/dnsmasq.conf

但sed正则写错容易把整行改坏,新手我建议直接用vi打开配置文件手工修改。设备上一般自带vi,操作习惯和服务器上一样,按i进入编辑模式,改完按Esc,输入:wq保存退出。虽然从光猫的性能改配置文件不会卡,但也要注意不要乱按快捷键。

改完配置文件,要让服务重新读取。常见两种方式:重启进程,或者直接重启光猫。重启进程更轻量:

killall dnsmasq dnsmasq

注意不要一下子把进程杀掉而不重新拉起来,否则整个局域网内依赖这台从光猫下发地址的设备都会断网。正确姿势是先启动一个新的,或者用SIGHUP让 dnsmasq 重读配置,不过最简单稳妥的办法还是重启整个设备,等一两分钟让它自己拉起来。

3.3 租期调整:参数格式、续约机制和时间线

租期是大家最容易忽略的一个参数,但影响很大。默认配置常见是 24 小时,也就是24h。如果你改成了12h,格式上注意:dnsmasq支持12h、1d、2h,也支持纯秒数比如43200。用人类可读的格式最好,避免换算错误。

为什么租期值得调?DHCP 的工作原理是,客户端在租期到达 50% 的时候进入 T1 状态,开始尝试续租;如果续租失败,到 87.5% 时进入 T2 状态,广播寻找 DHCP 服务器;如果整个租期用完仍然联系不上,客户端就会放弃这个地址。简单说,租期太短,每台设备频繁续租,会增加无谓的广播流量;租期太长,地址被长期占用的设备占据,一些临时接入的访客设备会把地址池挤占掉。

我测试时把租期从 24 小时改成了 12 小时,原因是办公楼这边的访客设备流动性大,12 小时的租期足够设备白天使用,晚上所有设备离线之后,地址池第二天就能释放出来。如果你的场景是稳定的小型办公室,租期 24 小时完全没问题;如果是公共场所的 Wi-Fi 覆盖,建议 2 小时到 12 小时之间,自己根据实际情况调。

租期改完之后,测试客户端不会立刻拿到新租期。已经获得地址的设备,仍然按照老租期运行,直到续租时才会请求新租期。所以验证时最快的办法是,在电脑上执行:

ipconfig /release ipconfig /renew

执行完再ipconfig /all,就能看到新的租期和 DNS 生效了。Mac 和 Linux 平台也有对应的刷新命令,原理一样。

注意:改了租期之后,原来已经分配的租约表(dnsmasq.leases)里可能还留有旧租期记录。如果发现设备一直拿到旧租期,可以在 shell 层清空租约文件再重启设备,但清空之前确认一下当前在线设备数量少,否则会导致所有设备瞬间断网重连。

3.4 保存固化操作:别让重启把配置打回原形

很多人在这一步栽跟头:命令行里改得好好的,一重启立刻恢复原状。原因在于,光猫系统有运行配置和固化配置两套体系。你直接改/etc/dnsmasq.conf只动了运行配置,重启之后系统会从 flash 里的固化配置重新生成文件,改动自然就没了。

所以改完文件之后,必须做两件事。第一,在WAP>维护层执行save命令。这个命令的作用是把当前的运行配置写入 flash 配置区。你从 shell 退出到WAP>层,输入save,回车,等它提示保存完成。

第二,如果在/mnt/jffs2下看到一个启动脚本目录,那还要把自定义的 dnsmasq 配置同步过去。华为设备常见做法是,启动脚本里写好了自定义配置的加载逻辑。你先看看:

ls /mnt/jffs2/ ls /mnt/jffs2/*.sh

如果看到一个名字类似local_rcS或者equip.sh的脚本文件,打开看看内容,一般会有类似“如果文件存在则复制到 /etc”的逻辑。如果有,你可以把自己修改好的 dnsmasq 配置文件复制到/mnt/jffs2下:

cp /etc/dnsmasq.conf /mnt/jffs2/dnsmasq.conf

这样重启之后,脚本就会把/mnt/jffs2/dnsmasq.conf重新复制到/etc/dnsmasq.conf,你的自定义配置就不会丢了。

这一步是纯经验总结,实际遇到的设备版本不同,自启动加载机制也有差异。最稳妥的验证方法就是改完保存后主动重启一次,重启完再进来检查配置是否还在。我的习惯是至少连续重启两次,确认配置是真的固化住了,而不是碰巧第一次没覆盖到。

4. 常见故障与排错速查:命令失效、配置丢失、DNS不生效

4.1 高频问题排查表

我把自己实测中遇到的典型问题整理成了一张表,应该能覆盖大多数情况。

现象可能原因处理思路
Telnet 连不上,提示端口不通Telnet 服务未开放或设备 IP 不对确认设备后台是否有 Telnet 开关;确认电脑与光猫同网段;用 ping 测试设备 IP
能登录但WAP>层没有shell命令当前账号权限不够或是受限维护模式检查账号是否维护管理员角色;查看help输出是否有其他通道命令
改了 dnsmasq.conf,DNS 不生效配置文件改错位置,运行的服务不是 dnsmasq用ps确认服务名;检查配置里dhcp-option=6是否放在了地址池配置之后
租期修改无效,客户端一直拿到旧租期客户端没有重新续租,或租约表里有旧记录客户端执行 release 和 renew;必要时清空租约文件重启设备
重启后配置全部丢失修改没有固化到 flash,或/etc是临时文件系统在WAP>层执行save;把配置同步到/mnt/jffs2并检查启动脚本
改了地址池之后设备获取到错误网关子光猫开启了 DHCP 但网关没有正确设置dnsmasq 的dhcp-option=3要指向实际上行网关,或者关闭子光猫 DHCP 让主光猫统一分配
局域网出现 DHCP 冲突主光猫和从光猫都开启了 DHCP,网段重叠错开主从设备的地址池网段;从光猫侧只分配独立网段

4.2 命令失效的应对思路

在实际操作中你可能会遇到一种情况:在WAP>层输入shell之后,提示符虽然变成了#,但很多常用命令,比如grep、sed、vi,都提示找不到。

这不是因为你操作错了,而是因为华为设备上的 shell 环境是一个精简的 BusyBox,并且 PATH 环境变量可能没有包含全部命令目录。处理办法很简单,先用绝对路径试图调用:

/bin/busybox

BusyBox 会把支持的命令列出来,你看看里面有vi、sed、grep这些没有。如果有,直接这样调用:

/bin/busybox vi /etc/dnsmasq.conf

如果你折腾过嵌入式 Linux 设备,会非常熟悉这种模式。本质上光猫就是一个小型嵌入式系统,工具链能省就省,能用绝对路径调用的命令,绝不在默认 PATH 里放全。遇到找不到命令,先不要慌,用which查一下:

which busybox

再看一下当前 PATH:

echo $PATH

有些版本里/bin、/usr/bin、/sbin被精简了,完整路径可能是/opt/bin/busybox这类。在设备的/bin、/usr/bin、/sbin三个目录下用ls翻一遍,你一般能找到需要的工具。这一步虽然繁琐,但算是华为光猫折腾的必经之路。

4.3 配置回滚与资源占用风险控制

改配置最容易出的问题,是地址池配错导致整个局域网里的设备全拿不到正确地址。比如你把dhcp-range改成了和主光猫完全重叠的网段,两台 DHCP 服务器就会互抢,终端设备拿到的网关、DNS 时好时坏,表现就是一会儿能上网页,一会儿打不开。

遇到这种情况,我的恢复方法是:立即回到 shell 层,把备份的 dnsmasq 配置恢复回去:

cp /mnt/jffs2/dnsmasq.conf.bak /etc/dnsmasq.conf

然后重启设备。如果手机或者电脑已经获取到了错误地址,手动改成静态 IP 再操作,避免因为 DHCP 冲突连不上设备。

另外还要注意资源占用的问题。从光猫毕竟不是高性能路由器,它的 CPU 和内存都很有限。开 DHCP 服务、跑 dnsmasq,再叠加无线和光纤转发,本身就有一定负载。如果你把租期调得非常短,比如 5 分钟,那设备会非常频繁地发起续租,从光猫的 CPU 占用率会明显上升。我在测试时把租期改成过 5 分钟,实测 CPU 曲线明显跳动,而且有些 IoT 设备对短租期兼容性也差,频繁续租失败导致掉线。所以租期不要追求极端值,12 小时到 24 小时是绝大多数场景的健康区间。

还有一点,如果你在从光猫上开启了独立 DHCP,千万不要在同一个交换机上再接另一个开着 DHCP 的路由器。这是组网里最常见的低级错误,但确实容易在混乱的网络拓扑里踩进去。两个 DHCP 服务器同时抢答,没有哪一方能稳定活下来。

5. 进阶想法与我的实际体会

5.1 一个更精细的配置思路:把地址池和网关错开

说句实话,子光猫上做 DHCP 服务这件事,做得好是锦上添花,做得不好就是给自己挖坑。核心原则两个字:错开。地址池要和主光猫错开,DNS 要和运营商默认值错开,租期要根据设备流动性单独设置。

我在实际操作时,把子光猫的 DHCP 地址池设置成了主光猫完全不同的网段,比如主光猫是 192.168.1.x,子光猫这边就用 192.168.8.x。这样做的好处是,当你在子光猫 LAN口接设备时,明确知道这个设备是从子光猫获取的地址,排查问题时一眼就能看出设备挂在哪一层网络下面。如果设备拿到的 IP 是 192.168.1.x,那它就是跨过光纤从主光猫听来的;如果拿的是 192.168.8.x,那说明子光猫的独立 DHCP 已经开始工作。

网关设置这里有个容易忽略的点。子光猫如果开启了独立 DHCP,它下发的默认网关应该是子光猫自己的局域网接口 IP,即 192.168.8.1。如果网关写成了主光猫的地址,设备无法直接路由转发出去,就会出现“能拿到 IP 不能上网”的情况。所以改完 DHCP 之后,记得还要检查 dnsmasq 配置里是否包含了dhcp-option=3的网关参数:

dhcp-option=3,192.168.8.1

有这一行,终端设备才能通过子光猫正常上网。DNS 就指向 192.168.8.2 这样的本地服务。这样一个独立、稳定的小网段就在书房里建立起来了。

5.2 我的三个实测心得

第一,华为光猫设备本身是可玩性很强的小 Linux 系统,但它的资源是真的紧张。我从光猫上同时改了 DHCP、DNS、租期,还顺手开着 Wi-Fi 给好几台设备用,整体运行了两天没出大问题。但如果你在上面拼命堆服务,比如跑复杂的过滤规则、大流量转发,那这台从光猫可能会吃力,建议合理分配任务,不要把太多功能都靠它承担。

第二,租期调整之后,一定要保持耐心。我改完租期之后,电脑刷新了三次才看到新租期生效,中间有一次甚至还是旧值。后来排查才发现,是电脑网卡没有真正执行 renew,只 release 了一半。遇到这种“改了好像没改”的情况,优先考虑客户端侧的问题,不要急着怀疑光猫配置没生效。可以在 shell 层看/tmp/dnsmasq.leases里租约记录的时间戳是否已经更新,这个文件能直接反映 DHCP 服务端的真实分配情况。

第三,备份这个动作永远不嫌多。我在操作过程中,把原始 dnsmasq 配置、网络设置界面截图、甚至命令执行记录都存了一份。后面有一次不小心把配置改坏,整个子光猫下所有设备都拿不到地址,我靠之前的备份几分钟就恢复了。相比那些用旁门左道把设备搞坏的折腾,花五分钟做备份,性价比高得多。

5.3 这个配置还能怎么扩展

如果你已经把子光猫的 DHCP、DNS、租期都调顺了,后面还可以尝试几个方向。

一个是把 DHCP 下发的 DNS 指向局域网内的广告过滤工具,这样所有从子光猫获取地址的设备,自动就具备了广告拦截和域名解析加速能力,不需要每台设备单独设置。我这边就搭了一个本地解析服务,然后在dhcp-option=6里指向它,实测下来很多硬编码运营商的请求都被拦截了,体验好了不少。

另一个方向是把dhcp-range的租期和静态绑定结合起来。在/tmp/dnsmasq.leases里看到打印机、NAS 这类需要固定 IP 的设备之后,可以用dhcp-host配置把 MAC 地址和 IP 绑定起来,同时租期可以设得很短也不怕掉线,因为静态绑定的设备每次都会拿到同一个地址。这个思路很适合给办公室的网络设备做固定 IP,比登录后台手动配置静态 IP 要省事得多。

我个人在实际操作中的体会是,华为 FTTR 这套设备的底层能力其实比后台界面显示的强不少,很多参数被藏起来了。Telnet 这个维护通道如果使用得当,能解决真实的组网痛点,但它始终是以合理维护自有设备为前提的。上面这些步骤,你在自己设备上照着走一遍,应该能顺利把 DHCP、自定义 DNS 和租期都调好。改完之后,建议在设备连续运行一周,观察租约文件变化和终端设备稳定性,再决定要不要进一步调整。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询