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 配置到无线路由器中,那么所有的移动设备也可以直接无缝翻** 。
DNSmasq搭建DNS服务器的更多相关文章
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- 第一次搭建dns服务器
CentOS 7 搭建DNS服务器 主要参考的是小左先森的一篇博客:https://blog.51cto.com/13525470/2054121. 1.搭建过程中遇到的几个问题说一下: a.在重启服 ...
- [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器
转自:http://blog.it985.com/8958.html DNS 数据库的记录:正解,反解, Zone 的意义 通过DNS解析过程详解这篇文章,我们知道了要想访问www.zmit.cn,最 ...
- Centos7 搭建DNS服务器与原理配置详解
在搭建我们自己DNS服务器之前,先必须了解下DNS服务器的作用和原理. DNS是在互联网上进行域名解析到对应IP地址的服务器,保存互联网上所有的IP与域名的对应信息,然后将我们对网址的访问,解析成IP ...
- Windows Server 2008 R2 搭建DNS服务器(转)
Windows Server 2008 R2 搭建DNS服务器将本机IP设为首选DNS服务器的地址在dos 下分别输入 nslookup www.mydns.com 和 nslookup 192.16 ...
- centos搭建dns服务器
前言:搭建dns服务器,dns服务器我就不多说什么了,大家都懂,就是域名解析,就将ip装换为域名,域名就可以理解为类似这样的www.baidu.com网址,接下来我就直接上图了.这里面最重要的是修改u ...
- Linux系统下搭建DNS服务器——DNS原理总结
2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...
- 快速搭建 DNS 服务器: skydns + etcd
参考: [ skynetservice github ] [ skydns 测试记录 CSDN ] etcd 安装配置 安装 yum install etcd 配置 sed -i 's@ETCD_LI ...
- Centos7.3搭建DNS服务器--BIND
1.系统环境说明 [root@dns-server etc]# cat /etc/redhat-release CentOS Linux release (Core) 防火墙和Selinux关闭 [r ...
随机推荐
- 自己写个 Drools 文件语法检查工具——栈的应用之编译器检测语法错误
一.背景 当前自己开发的 Android 项目是一个智能推荐系统,用到 drools 规则引擎,于我来说是一个新知识点,以前都没听说过的东东,不过用起来也不算太难,经过一段时间学习,基本掌握.关于 d ...
- modelform 使用
modelForm (1) model的知识点: class UserInfo(AbstractUser): tel = models.CharField(max_length=32) gender ...
- 了解Java应用中的开发攻击
注入式(Inject)攻击是一类非常常见的攻击方式,其基本特征是允许攻击者将不可信的动态内容注入到程序中,并将其执行,这就可能完全改变最初预计的执行过程,产生恶意效果. 下面是几种主要的注入式攻击途径 ...
- 新linux系统上rz 与sz命令不可用
使用命令进行安装:yum install lrzsz 即可使用
- Zstack中任务,事件,消息之间的关系
Zstack是Zigbee协议的具体实现,在实现的过程中为了能够更好的对各个模块和功能进行管理,所以加入了OSAL(Operating System Abstraction Layer 操作系统抽象层 ...
- oracle中的异常处理方法
异常处理create or replace procedure prc_get_sex (stuname student.name%type) as stusex student.sex%type; ...
- JS等比例缩放图片,限定最大宽度和最大高度
JS等比例缩放图片,限定最大宽度和最大高度 JavaScript //图片按比例缩放 var flag=false; function DrawImage(ImgD,iwidth,iheight){ ...
- kafka监控搭建
1. 下载 wget https://github.com/quantifind/KafkaOffsetMonitor/releases/download/v0.2.1/KafkaOffsetMoni ...
- 自动配置@Resource与@Autowired
总结自:https://www.cnblogs.com/kuotian/p/8795812.html 试用情形:bean的某个成员变量是另一个bean 如果使用配置: <bean id=&quo ...
- mybatis家族
mybatis 优秀的持久层框架,它支持定制化SQL.存储过程以及高级映射. 备注:通过mapper实现数据库与实体类相互映射 MyBatis 避免了几乎所有的JDBC 代码和手动设置参数以及获取结果 ...