惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
F
Fortinet All Blogs
D
Docker
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
罗磊的独立博客
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
U
Unit 42
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
G
Google Developers Blog
H
Help Net Security

Allen Hua 的网络博客

由于 Linux 桌面没有一个好用的天气程序就写了一个跨平台的CheckitoutWeather 给 caesium-image-compressor 图片压缩程序构建了 Linux AppImage v2.8.5 最新版 debian13(debian trixie)安装了nvidia闭源驱动后从x11切换到wayland的方法 山间摩旅追风,偶遇一场绚烂晚霞 最近使用debian系统的一些心得 机械革命无界14Pro笔记本debian forky成功驱动内置扬声器和麦克风 记录 typecho 1.2.0 升级到 1.3.0 过程 开发了一款openwrt插件:文本剪贴板 解决机械革命笔记本内屏高刷240Hz闪屏问题 使用 Java 写了一个局域网端口扫描器 - Allen Hua 的网络博客 openwrt使用外置根extroot机制扩展根分区大小 - Allen Hua 的网络博客 将机场ss节点批量转换成ss字符串链接批量添加到passwall - Allen Hua 的网络博客 给机械革命钛钽plus换屏:NY2换成NZ2 - Allen Hua 的网络博客 记录一次pve宿主机和上面的debian虚机无故down机事件 - Allen Hua 的网络博客 给图床部署cdn腾讯云的edgeone并排查Cache-Control max-age 3600的问题 - Allen Hua 的网络博客 从高山草甸到徽派古村:武功山反穿与皖浙赣自驾行记 - Allen Hua 的网络博客 增程器就是充电宝?别被忽悠了 - Allen Hua 的网络博客 浦口龙虎巷扫街,记录人间真实 博客图片压缩方案更新|AVIF|WebP|MozJPEG|标准JPEG Windows 电脑使用 Obs Studio 录制各个网站视频/桌面画面教程 为typecho博客添加latex支持 新能源汽车之纯电车使用交流慢充和直流快充的充电损耗对比 2025年3月更新全国5A景区名录 2025最新查看小米/红米手机电池健康度和循环次数方法 完美解决 seafile FILE_SERVER_ROOT 配置导致的内网外网不能同时访问和上传下载的问题 纯css实现typecho博客文章文字spoiler剧透效果 我对Typecho Facile主题的一些修改,图片懒加载优化,样式定制 2024年8月我的宜昌 - 重庆 - 川西小环线自驾旅行分享 2022年打卡南京市区人防工程纳凉点 2024年带着A7C2+腾龙28-200 再次来到红山森林动物园
使用 DNSmasq 部署家庭网络的公共 dns 和个性化的局域网内的 ...
Allen Hua · 2020-03-01 · via Allen Hua 的网络博客
阅读量:7604

warning: 这篇文章距离上次修改已过1869天,其中的内容可能已经有所变动。

我的使用场景:

软路由(10.10.10.1)作为家里的中心网络服务器和网关设备,本地搭建了很多服务,很多服务需要输入 host 时,如果不做 dns 域名解析,那么每次都要输入 10.10.10.1 这一串很长的字符串,很麻烦。若是在局域网中的每台机器上 各自配置 hosts 文件那也很麻烦。所以就萌生了在软路由上使用 DNSmasq 来作为本地的唯一 dns 域名解析服务的想法。而且,k2p 作为 ap 接入的路由器,在配置了 dns 地址是 10.10.10.1 后也可以实现任何接入的终端得到正确的域名解析。现在我本地的软路由、k2p、Thinkpad(7 * 24h working) 均已部署好对应的简短且个性的域名。手动doge

下面介绍我的搭建步骤:

  1. 首先安装 DNSmasq,我的是 lede 系统,好像一开始自带了,最开始玩 lede 是 18 年下半年,不记得了,无所谓,安装什么的最简单了对吧,故略去
  2. 编辑配置文件 /etc/dnsmasq.conf
    在文件末添加如下几行
    resolv-file 是指定 DNSmasq 解析的文件
    strict-order 参数是让 DNSmasq 严格的从 resolv.dnsmasq.conf 这个文件中寻找上游 dns 服务器
    listen-address 是监听的地址,本机 127.0.0.1 和 自己所在局域网的 10.10.10.1
    resolv-file=/etc/resolv.dnsmasq.conf 
    strict-order
    listen-address=127.0.0.1,10.10.10.1
  3. vim /etc/resolv.conf
    设置成 nameserver 127.0.0.1
  4. vim /etc/resolv.dnsmasq.conf
    这里设置公共 dns,我的如下(南方某城市移动家宽,顺便说一句:垃圾yidong):
    nameserver 119.29.29.29
    nameserver 223.5.5.5
    nameserver 223.6.6.6
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    nameserver 180.76.76.76
  5. vim /etc/dnsmasq.conf 增加如下行
    addn-hosts=/etc/dnsmasq.hosts
  6. 把 Linux 系统的 /etc/hosts 拷贝过来,设置局域网内共享的自定义的域名解析服务
    cp /etc/hosts /etc/dnsmasq.hosts
  7. 编辑 /etc/dnsmasq.hosts,在文件末尾添加个性化的自定义的域名
    比如我的:
    10.10.10.1 home.to
    10.10.10.2 k2p.to
    10.10.10.3 tp.to
  8. 根据 DNSmasq 安装的方式的不同,来管理 DNSmasq 的进程服务。有 service 的形式的,有 /etc/init.d/dnsmasq 的形式的,有通过 systemd 来管理的。根据你的情况来 reload 配置文件 然后 restart。 必要时可以进行 dnsmasq -test (此命令并非所有发行版都相同)来检测配置文件语法是否正确。
    lede 默认的 dnsmasq 是通过 init.d 下的服务实现的:
    /etc/init.d/dnsmasq reload
    /etc/init.d/dnsmasq restart
  9. 这时候可以 ping 一下 home.to,已能正确解析
    image.png

    本地已能正确解析 home.to 到 10.10.10.1

  10. 分别设置软路由和 k2p 的 dns
    软路由的 lan 口 bridge 上 配置本地使用 10.10.10.1 解析域名服务
    作为 ap 使用的 k2p 也在 dhcp/dns 里设置域名服务器 host 为 10.10.10.1
    分别应用配置,这下接入家庭网络的有线设备和无线设备均能正确解析自定义的域名服务和公共 dns 服务

ps: 使用自定义的优质的公共 dns 服务是优化 dns 查询的第一步。

image.png

局域网内访问 home.to

image.png

局域网内访问 home.to:106

image.png

局域网内访问 tp.to:8444

end.