DNSmasq

1、DNS的由来

      由于IP地址不容易记忆,因此有了DNS。php

简单举例:web

咱们日常访问百度都是www.baidu.com,可是咱们知道百度的IP地址吗? 咱们直接输入地址39.156.66.14也是   能够访问百度的。数据库

 

2、域名

因为IP地址具备不方便记忆而且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并经过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,令人更方便地访问互联网,而不用去记住可以被机器直接读取的IP地址数串。vim

顶级域名为.com  顶级域名如 baidu.com 再往下以此类推例如百度翻译 fanyi.baidu.com 可是要去掉wwwwindows

更多关于域名的了解能够访问https://baike.baidu.com/item/%E9%A1%B6%E7%BA%A7%E5%9F%9F%E5%90%8D/2152551?fr=aladdincentos

 

3、hosts文件

       windows和Linux系统都有一个hosts文件。浏览器

       win10的文件位置是在C:\Windows\System32\drivers\etc  缓存

       centos7的文件位置是在/etc/hostsbash

       hosts文件的做用:其做用就是将一些经常使用的网址域名与其对应的IP地址创建一个关联“数据库”,当用户在浏览器中输入一个须要登陆的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会当即打开对应网页,若是没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。对于要常常访问的网站,咱们能够经过在Hosts中配置域名和IP的映射关系,提升域名解析速度。因为有了映射关系,当咱们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。服务器

 

4、为何要学DNS服务器?

假设在一家中小型公司咱们有不少的web服务。例如:

10.30.59.239/nextcloud/ 班级网盘

10.30.59.192/ vcenter

10.30.59.191 esxi

10.30.59.251 zabbix

10.30.59.245:8443 堡垒机

这些IP地址混乱无章,记忆起来是否是很麻烦。

若是我换成www.esxi.com  这样是否是方便记忆一些?

 

5、DNSmasq简介

 ①、DNSmasq介绍

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,而且容许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令能够配置到每台主机中,也能够配置到一台核心设备中(好比路由器),DNSmasq支持静态和动态两种DHCP配置方式。

  ②、原理

$EY(C8F7V_FF{I7K@{J9}FE.png

 

 

6、DNSmasq安装配置

一、基础环境准备

新建一台虚拟机,能够上网。

二、DNSmasq安装

[root@localhost ~]# yum install -y dnsmasq  Complete!

三、修改主配置文件

[root@localhost ~]# vim /etc/dnsmasq.conf # conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig //在这一行下面加入如下内容 port=53 cache-size=1000 log-queries log-facility=/var/log/dnsmasq.log conf-dir=/etc/dnsmasq.d addn-hosts=/etc/hosts resolv-file=/etc/dnsmasq-resolv.conf

port=53 #dnsmasq使用53号端口。

cache-size=1000 #缓存解析记录1000条。

log-queries #日志显示每一条的解析记录。

log-facility=/var/log/dnsmasq.log #log日志的所在位置。

conf-dir=/etc/dnsmasq.d #dnsmasq.d/*.conf文件的绝对路径

addn-hosts=/etc/hosts #添加额外读取的hosts文件。

resolv-file=/etc/dnsmasq-resolv.conf #定义dnsmasq从哪里获取上游DNS服务器的地址。

四、复制系统的DNS服务配置为dnsmasq的上游DNS服务器地址

[root@localhost ~]# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf [root@localhost ~]# 

五、编写映射文件

       映射文件,全部在/etc/dnsmasq.d/目录下的以.conf结尾的文件均可以被解析

[root@localhost ~]# cd /etc/dnsmasq.d/ [root@localhost dnsmasq.d]# vim jumpserver.conf address=/www.jumpserver.com/10.30.59.245 ptr-record=10.30.59.245.in-addr.arpa,www.jumpserver.com  [root@localhost dnsmasq.d]# cat jumpserver.conf address=/www.jumpserver.com/10.30.59.245 ptr-record=10.30.59.245.in-addr.arpa,www.jumpserver.com

六、写hosts文件

[root@localhost dnsmasq.d]# vi /etc/hosts 10.30.59.245 www.jumpserver.com

七、测试

[root@localhost dnsmasq.d]# systemctl restart dnsmasq //启动服务 [root@localhost dnsmasq.d]# systemctl stop firewalld //关闭防火墙 [root@localhost dnsmasq.d]# 

 

7、Dnsmasq的后期维护

一、添加解析记录

首先,在hosts里面添加记录,格式为IP空格域名。

其次,编写dnsmasq.d/*.conf的配置文件,格式为

address=/域名/IP

ptr-record=IP.in-addr.arpa,域名

最后,重启dnsmasq,systemctl restart dnsmasq。

二、配置dnsmasq的日志轮转

因为打开了dnsmasq的日志功能,并且每一条解析都会产生一条记录,经观察,log文件一天能写8M左右,因此配置日志轮转防止系统因存储不足而崩溃,logrotate.d下面的dnsmasq配置以下:

[root@localhost dnsmasq.d]# vim /etc/logrotate.d/dnsmasq  /var/log/dnsmasq.log { daily copytruncate missingok rotate 30 compress notifempty dateext size 200M }

/var/log/dnsmasq.log {

daily #指定转储周期为天天。

copytruncate #用于还在打开中的日志文件,把当前日志备份并截断。

missingok #日志轮转期间,任何错误都将被忽略。

rotate 30 #保留30天。

compress #经过gzio压缩转储旧的日志。

notifempty #若是是空文件的话,不转储。

dateext #日志轮转时会在文件后面添加时间。

size 200M #日志到达200M时才轮转。

}

相关文章
相关标签/搜索