hosts文件
windows和Linux系统都有一个hosts文件。
win10的文件位置是在C:\Windows\System32\drivers\etc
centos7的文件位置是在/etc/hosts
hosts文件的作用:其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
DNSmasq安装配置
1、基础环境
2、安装dnsmasq
[root@localhost ~]# yum install -y dnsmasq
3、修改主配置文件
[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服务器的地址。
4、复制系统的DNS服务配置为dnsmasq的上游DNS服务器地址
[root@localhost ~]# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
5、编写映射文件
映射文件,所有在/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
6、写hosts文件
[root@localhost dnsmasq.d]# vi /etc/hosts 10.30.59.245 www.jumpserver.com
7、测试
[root@localhost dnsmasq.d]# systemctl restart dnsmasq //启动服务
[root@localhost dnsmasq.d]# systemctl stop firewalld //关闭防火墙
Dnsmasq的后期维护
1、添加解析记录
首先,在hosts里面添加记录,格式为IP空格域名。
其次,编写dnsmasq.d/*.conf的配置文件,格式为
address=/域名/IP
ptr-record=IP.in-addr.arpa,域名
最后,重启dnsmasq,systemctl restart dnsmasq。
2、配置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时才轮转。