局域网域名设置的本质是把难记的IP换成好记的名字,实现方式有三种:修改hosts文件、自建内网DNS服务器、路由器或NAS自带域名功能,其中自建内网DNS是多数场景下的最佳方案,配置一次、全局生效,还支持泛域名解析。
什么时候需要给局域网设置域名
先说个真实场景,你公司内网有台文件服务器,地址是192.168.1.88,每次同事访问都要在地址栏敲这串数字,记不住不说,一换IP所有人都抓瞎,又或者你自己书房里搁了台NAS,想在电脑上敲个固定名字就进管理后台,这类需求唯一的解法就是把域名和IP绑定起来。
比起输IP,域名有三个显而易见的好处:第一,好记,敲file.lan比敲192.168.1.88省事得多;第二,IP变了不用满公司贴通知,改一处配置就行;第三,能配多个子域名,比如photos.lan指向相册服务,media.lan指向影音服务,一个服务器顶好几个用。如果你只是单机调试,用hosts文件就够了;但要是局域网里超过三台设备、五个服务,强烈建议直接上内网DNS。
先弄清楚四类方案,再动手不迟到
做技术选型就像挑工具,用错方案白折腾半天,按复杂度从低到高排列,市面主流玩法一共四种:
| 方案 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| hosts文件映射 | 一至两台设备 | 零成本、改完立即生效 | 每台机器都要手动改,IP变了全部重来 |
| 路由器DNS指向 | 10台左右设备 | 配置集中、一次搞定 | 便宜的办公路由器不一定支持 |
| 群晖/威联通自带域名服务 | 家里有NAS的用户 | 图形化界面操作、附加功能多 | 依赖NAS硬件,品牌锁定 |
| 自建内网DNS服务器(AdGuard Home / dnsmasq / Pi-hole) | 30台以上设备或长期需求 | 功能最强、支持泛解析、还能屏蔽广告 | 需要一台24小时开机的设备 |
多数情况下的首选是第四种,因为现在不少人家里本来就搁着软路由或者树莓派,跑个DNS服务几乎零成本,业内专家指出,内网DNS的价值远不止域名解析,顺带还能做流量统计和广告过滤。
hosts映射,单机调试最高的性价比
如果你只是自己一个人用,或者临时调试,改hosts是快得出奇的方法,Windows系统找到C:WindowsSystem32driversetchosts,用记事本管理员模式打开,在文件底部加一行:
168.1.88 file.lan
保存之后,打开命令提示符敲ipconfig /flushdns清一下缓存,你在浏览器里输入http://file.lan就能访问那台服务器了,macOS和Linux系统改的是/etc/hosts,操作思路完全一样。
hosts文件的局限也很明显:每台电脑都要单独改一遍,以后IP变动还得一台一台通知,而且.lan这类后缀在公网是不存在的,浏览器偶尔会强行跳转搜索,此时可以改用file.local或者file.test。
自建内网DNS服务器,一劳永逸的进阶玩法
这是单次投入、长期受益的方案,准备工作只需要一台能开机的Linux设备或者Windows老电脑,装个AdGuard Home或者dnsmasq,然后把路由器里的DNS地址指向这台机器。
以AdGuard Home为例,安装后进入Web管理界面,在“DNS设置”里添加自定义记录,假设你想让nas.lan指向168.1.100,在“自定义记录”里填好主机名和IP,保存即可,它支持A记录、AAAA记录、CNAME别名记录和通配符.lan泛解析,意味着以后新建服务不用再进后台加配置。
关键一步是把局域网内的其他设备认到这台DNS服务器上,做法是登录路由器后台,找到“DHCP设置”,把DNS服务器地址改成跑AdGuard Home的那台机器的IP,改完保存,已联网设备重启一下或者断开重连Wi-Fi即可,从终端角度验证的话,在任意电脑上执行:
nslookup nas.lan
如果返回了你设置的IP,说明解析已经生效,以后不管谁问你这个域名是多少,你只需要在DNS管理后台加一条记录就行了。
路由器DNS自定义,小团队够用方案
很多中高端路由器自带的固件里已经内置了“DNS指向”功能,不需要额外搭服务器,以TP-Link、华硕等常见品牌为例,在“网络设置DHCP服务器”里找到“DNS服务器”一栏,填上权威DNS的IP(如223.5.5.5或119.29.29.29),下面还有个“自定义域名解析”或者“Hosts”配置框,直接在里面写域名和IP的对应关系就行。
这个方案的缺点在于智能性不足有些路由器只支持简单的hosts式映射,不支持泛解析,但如果你们的内部服务就两三个,这个方案完全能扛住,而且管理难度几乎为零。
NAS用户专属,群晖/威联通自带域名
群晖的用户打开“控制面板登录门户高级”,在“别名”里可以给每个套件设置不同子域名,比如dsm.lan、files.lan,这类方案的好处是零学习成本,坏处是只对NAS自家服务生效,不能给别的设备绑定域名。
威联通的操作路径类似,在“网络与文件服务网络设置主机名”里配置,如果你家设备全是苹果系,那Mac mini上装个AdGuard Home会比你研究路由器固件更省事。
局域网域名访问不通?按照这五步排查
用域名访问的时候浏览器报错,最常见的原因以及排查顺序是:
- 验证解析是否生效,在终端执行
nslookup nas.lan,如果返回的IP不对或者无应答,问题出在DNS配置上 - 检查服务端口,确认服务器上对应服务在监听,执行
netstat -tln看看端口状态 - 清空本地DNS缓存,Windows执行
ipconfig /flushdns,macOS执行sudo dscacheutil -flushcache - 确认路由器的DNS强制模式,部分路由器勾了“强制DNS代理”,所有设备都会走路由器的内置DNS,你要去路由器上改而不是设备上改
- 关闭系统代理,浏览器走了代理也可能会绕过局域网的DNS,访问不了时优先检查这一点
几个避坑提醒,让域名更持久可用
第一,别用.local后缀,除非你的客户端全是macOS和iOS(Apple生态对这个后缀有特别处理),Windows下用.lan或者.内部更省心。
第二,不要跟公网域名起同名子域名,比如你真有个公网域名example.com,又在内网配了个www.example.com指向内网IP,这会导致访问混乱。
第三,在Windows Server上如果你用了AD域环境,建议直接用域名的内网解析去覆盖,不要去手工改客户端的hosts,不然域控策略一刷新,你的配置就被覆盖掉了。
第四,SSL证书是内网的一大门槛,浏览器如果强制HTTPS,会提示证书不受信任,解决办法是给你的内网域名配个自签证书,然后在内网分发信任;或者在证书里把内网域名加进去。
最后一句话收束:局域网域名设置的核心不是技术,而是管理思路把IP和域名解耦,让资源地址不随基础设施抖动,这才是内网域名化的真正价值。
关于局域网域名设置的三个高频疑问
内网域名解析怎么设置才不影响外网访问?
采用“DNS分流”策略,仅对.lan后缀的域名走内部DNS,其他域名全部转发到上游运营商DNS或公共DNS(如223.5.5.5),在AdGuard Home、dnsmasq等工具里,都有默认的“上游服务器”配置,把内部域名写在自定义规则里,其余自动转发即可。
公司内网域名绑定hosts可行吗?
对于不超过十台电脑、服务数量在三个以内的场景,绑定hosts是可信的临时方案,但每当服务器迁移IP,你需要把所有机器的hosts文件都改动一遍容易忘改漏改,更稳妥的做法是维护一台内网的DNS服务器,同时将服务器的DHCP静态分配绑定好,这样域名对应的IP几乎不会变动。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/645610.html





