使用 DNSmasq 部署家庭网络的公共 dns 和个性化的局域网内的 dns 域名服务
一.使用场景:
软路由(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) 均已部署好对应的简短且个性的域名。
二.简介
DNSmasq 是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了 DNS 功能和可选择的 DHCP 功能。 自己搭建公共 DNS 更加灵活,如果是在本地搭建,还可以大幅提高解析速度。
三.搭建步骤:
- 1.首先安装 DNSmasq
#centos安装 yum -y install dnsmasq #如果是ubuntu系统 apt-get -y install dnsmasq
- 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
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服务
/etc/init.d/dnsmasq reload /etc/init.d/dnsmasq restart
- 9.这时候可以 ping 一下 home.to
ping home.to
end.