DNSmasq搭建DNS服务器
原文地址:http://jirry.me/2016/04/19/dnsmasq-on-aliyun/
DNSmasq 是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了 DNS 功能和可选择的 DHCP 功能。它服务那些只在本地适用的域名,这些域名是不会在全球的 DNS 服务器中出现的。DHCP 服务器和 DNS 服务器结合,并且允许 DHCP 分配的地址能在 DNS 中正常解析,而这些 DHCP 分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq 支持静态和动态两种 DHCP 配置方式。
安装
执行如下命令安装 DNSmasq:
1
|
yum install dnsmasq -y
|
安装成功后,启动 DNSmasq 服务:
1
|
service dnsmasq start # stop / restart
|
如果启动没有报错,说明 DNSmasq 已经安装成功。
配置
DNSmasq 的默认配置文件是 /etc/dnsmasq.conf
,在修改前,为了防止操作失误可以将配置文件备份一下:
1
|
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
|
配置 dnsmasq.conf 文件
- 使用 vim 打开配置文件
- 找到
#resolv-file=
将其修改为resolv-file=/etc/resolv.dnsmasq.conf
。表示从该文件中读取上游 DNS 服务器 - 找到
#strict-order
将其前面的注释 # 号去掉。表示强制按照 resolv.dnsmasq.conf 中的上游 DNS 服务器顺序来进行解析 - 确认
#no-hosts
是注释状态(前面有 # 号),这样 DNSmasq 才会读取服务器中的 hosts 文件(关于 hosts 的另一个作用,请看这里) - 找到
#addn-hosts=/etc/banner_add_hosts
将其修改为addn-hosts=/etc/dnsmasq.hosts
。表示使用 dnsmasq.hosts 代替系统 hosts,这样就可以保证服务器本身的 hosts 文件不受影响 - 找到
#listen-address=
将其修改为listen-address=127.0.0.1,123.45.67.89
。这个是重要选项,监听地址,要写上 127.0.0.1 和服务器的外网地址,如:123.45.67.89 - 到此,dnsmasq.conf 文件的必要配置已经修改完了,保存并退出配置文件
配置 resolv.dnsmasq.conf 文件
依次执行如下命令来创建 resolv.dnsmasq.conf
文件:
1
|
# 备份原始 resolv.conf
|
在配置过程中,我并没有执行最后两行命令,而是直接在 /etc/dnsmasq.conf 的最后追加了下面两行内容(据说使用 5353 端口可以避免 DNS 污染):
1
|
server=208.67.222.222#5353
|
配置 dnsmasq.hosts 文件
依次执行如下命令来创建 /etc/dnsmasq.hosts
文件:
1
|
cp /etc/hosts /etc/dnsmasq.hosts |
到此,DNSmasq 的所有配置基本已经完成。
开机启动
将 DNSmasq 设置为开机自启动:
1
|
chkconfig dnsmasq on
|
重启 DNSmasq 服务:
1
|
service dnsmasq restart
|
测试
将本地计算机的 DNS 服务器设为刚配置好的服务器 IP 地址,并清除本地 DNS 缓存,具体清除方法可参考:
- Mac:https://support.apple.com/zh-cn/HT202516
- Windows:http://www.pc841.com/article/20130525-13849.html
打开命令行窗口或终端窗口,执行 ping test.com
并查看 IP 是否为之前设置的 127.0.0.1:
1
|
~ ping test.com
|
如果是,则表名 DNSmasq 已经配置成功并可以正常使用了。
调优
打开 dnsmasq.conf 文件,在最下方可以添加指定的 DNS 解析,例如:
1
|
# 所有 cn 域名全部使用 114 解析
|
技巧
在 配置 dnsmasqconf 文件 小结中的第 4 条提到了 hosts 文件的另一个作用:将 /etc/dnsmasq.hosts 设置好以后,使用该 DNS 服务的计算机就可以无缝翻**了,甚至可以直接将 DNS 配置到无线路由器中,那么所有的移动设备也可以直接无缝翻** 。
posted on 2016-07-27 14:13 SYSTEM ADMINISTRATION 阅读(628) 评论(0) 编辑 收藏 举报