起因:在局域网中安排了内网的Web Server,在上面跑多个程序/网站,其中有些必须通过域名访问,如果用IP访问就会出错,比如静态网站开源的Docusaurus等,如果从单台电脑上访问用hosts是最快捷和可靠的方法,这个方法也可以用于多台电脑,就是麻烦一些,好处就是可靠性,但就不能或很难从手机、iPad等移动设备上访问,最得体的方案自然是让用户丝毫没有感觉的局域网DNS。
知识准备:
什么是DNS-域名服务器?1具体看链接内容。
根据“Ubuntu bind与dnsmasq的比较分析”2选择了dnsmasq。
安装和配置参考:局域网添加DNS服务器进行域名解析3
另外需要回答的问题:自己的DNS装哪里?
本实例选择将DNS跟Web Server安装在同一台服务器上
环境:
Armbian Linux 6.6.58-ophub
注意事项:
-
在安装dnsmasq前查看端口53是否被占用
ss -tulnp | grep :53
如果被占用得先停掉相应服务,比如
sudo systemctl stop systemd-resolved 具体参考文章三,一共有四步; -
各种路由器还是有不少差别,所以在路由器上设置DNS服务器不完全跟文章三相符,需要根据具体情况进行调整;
-
DNS 的次序
-
/etc/dnsmasq.conf至少是这样:
#dns解析日志
log-queries
log-facility=/var/log/dnsmasq.log
这个文件非常重要,查错从这里开始。 -
DNS的弱点,如果路由器只能指向一台DNS请务必保持DNS始终活着,不然要影响局域网中所有设备的上网解析
参考文章一:https://baike.baidu.com/item/域名系统/2251573 ↩︎
参考文章二:https://www.yisu.com/ask/32071831.html ↩︎
参考文章三:https://blog.csdn.net/unreliable_narrator/article/details/125980825
dnsmasq详解及配置 2018 ↩︎