局域网DNS服务器搭建,配置监听本机IP
本文主要介绍了在局域网内搭建DNS服务器的关键配置步骤,在设置过程中,核心操作是修改DNS服务的监听地址,必须将其替换为当前服务器的局域网IP地址(例如192.168.1.10),通过正确配置本机IP监听,可确保DNS服务器顺利接收并处理局域网内其他设备的域名解析请求,从而实现内部网络的高效域名管理,此步骤是搭建DNS服务的基础,用户需根据实际网络环境准确填写IP地址。
手把手教你自己搭建DNS服务器
在日常上网冲浪时,我们经常会遇到网页打开缓慢、莫名跳转到广告页面,或者某些网站提示“网络无法连接”的情况,这很多时候并不是你的网络带宽不够,而是由于运营商默认的DNS服务器响应慢、不稳定,甚至存在DNS劫持所导致的。
为了获得更纯净、更快速的网络体验,将DNS修改为公共DNS(如114.114.114.114或8.8.8.8)是一个常见的解决办法,但如果你对网络掌控欲更强,想要实现自定义域名解析、家庭内网设备统一管理、甚至是屏蔽全家设备的广告,最好的方案莫过于自己搭建dns服务器。
本文将以轻量级且功能强大的 dnsmasq 为例,手把手教你在Linux环境下搭建属于自己的DNS服务器。
为什么需要自己搭建DNS服务器?
在动手之前,我们先来了解一下自建DNS的好处:
- 加速解析:自建DNS会缓存解析记录,下一次访问同一网站时直接从本地返回IP,实现“秒开”。
- 防止劫持:绕过运营商的DNS干预,避免弹窗广告和恶意跳转。
- 内网穿透/本地解析:你可以将
nas.myhome.com直接解析到局域网IP(如168.1.100),在家里访问内网设备再也不用记长串的数字了。 - 全网广告拦截:结合特定的规则文件,自建DNS可以变成一个全屋级的广告拦截器,连手机APP里的广告都能有效屏蔽。
搭建准备工作
- 一台运行Linux的服务器:可以是云服务器(阿里云、腾讯云等),也可以是家里的树莓派、NAS虚拟机或旧电脑(推荐使用Ubuntu或Debian系统)。
- 拥有管理员权限:即可以使用
root用户或sudo命令。 - 开放的53端口:DNS服务默认使用UDP和TCP的53端口,需确保防火墙放行。
搭建实战:安装与配置 dnsmasq
dnsmasq 是一款小巧且易于配置的DNS转发器和DHCP服务器,非常适合个人和小型企业使用。
安装 dnsmasq
更新系统软件包列表,然后安装 dnsmasq:
sudo apt update sudo apt install dnsmasq -y
安装完成后,系统会自动启动 dnsmasq 服务,你可以通过以下命令查看状态:
sudo systemctl status dnsmasq
修改配置文件
dnsmasq 的主配置文件位于 /etc/dnsmasq.conf,为了安全起见,我们先备份原文件:
sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
然后编辑配置文件:
sudo nano /etc/dnsmasq.conf
在文件中找到或直接添加以下关键配置项(清空原内容或注释掉原有内容):
# 监听所有网口(如果不指定listen-address,可以使用此项)
# interface=eth0
# 强制使用严格的顺序查询上游DNS
strict-order
# 上游DNS服务器配置(这里使用阿里和谷歌的公共DNS作为上游)
server=223.5.5.5
server=8.8.8.8
# 设置DNS缓存大小,提升查询速度
cache-size=10000
# 拦截泛域名解析(可选,防止某些流氓软件连接不带域名的机器)
domain-needed
bogus-priv
保存并退出(在nano中按 Ctrl+O 保存,Ctrl+X 退出)。
自定义本地域名解析
dnsmasq 会读取系统的 /etc/hosts 文件来进行本地解析,这意味着你只需要在这个文件里添加记录,dnsmasq 就会自动生效。
编辑 /etc/hosts:
sudo nano /etc/hosts
添加你想要的自定义解析,
0.0.1 localhost 192.168.1.100 nas.myhome.com 192.168.1.101 printer.myhome.com 192.168.1.50 router.myhome.com
保存退出。
重启服务并测试
配置修改完成后,重启 dnsmasq 服务使配置生效:
sudo systemctl restart dnsmasq
验证测试: 在服务器上运行以下命令,测试解析是否成功:
dig @127.0.0.1 nas.myhome.com
如果返回的 ANSWER SECTION 中显示了 168.1.100,说明你的本地自定义解析已经成功了!
再测试一下外网解析:
dig @127.0.0.1 www.baidu.com
如果能正确返回百度的IP地址,且在短时间内第二次查询时间大幅缩短,说明缓存功能也已正常工作。
进阶玩法:让自建DNS成为广告拦截利器
自己搭建dns服务器最吸引人的功能之一就是屏蔽广告,由于 dnsmasq 支持读取外部 hosts 文件,我们可以利用社区维护的广告屏蔽列表。
-
下载广告屏蔽规则: 可以使用
adaway.org提供的hosts列表,在终端执行:sudo wget -O /etc/dnsmasq.adlist "https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
(注:如果网络无法访问GitHub,可寻找国内镜像源替代)
-
在 dnsmasq.conf 中引入规则: 再次编辑
/etc/dnsmasq.conf,在文件末尾添加:addn-hosts=/etc/dnsmasq.adlist
保存并重启
dnsmasq服务。
将家里的手机、电脑的DNS地址修改为这台服务器的IP,你会发现打开各类APP和网页时,烦人的广告大幅减少了!
通过以上步骤,你已经成功掌握了如何自己搭建dns服务器,这不仅让你摆脱了对运营商DNS的依赖,获得了更纯净的网络环境,还赋予了你对网络解析的绝对控制权。
无论是为了内网穿透的便利,还是为了全屋去广告的清爽,花费半小时搭建一个DNS服务器都是极有性价比的投资,如果在配置过程中遇到解析不通的问题,记得检查服务器的防火墙是否放行了53端口,快去试试,享受掌控网络的乐趣吧!

