dns工作原理:当一台机器a向其域名服务器A发出域名解析请求时,如果A可以解析,则将解析结果发给a,否则,A将向其上级域名服务器B发出解析请求,如果B能解析,则将解析结果发给a,如果B无法解析,则将请求发给再上一级域名服务器C,如此下去,直至解析到为止。
一、安装软件,这里我采用的是bind
yum install -y bind bind-utils.x86_64 //安装bind包还有dns解析包
rpm -qa | grep bind //检查包是否安装上
如果包安装成功的话 检查后就会出现这个结果
二、修改dns的主配置文件
vi /etc/named.conf //进入主配置文件进行修改
options {
listen-on port 53 { any; }; //监听的IP地址;对应网卡,这里填写any,所有的意思
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; }; //允许查询的主机; 填写IP 这里填写any,所有的意思
修改完后显示的结果,修改完后输入wq将其退出并保存
三、修改区域配置文件
vi /etc/named.rfc1912.zones //进入区域配置文件进行修改
zone "skills.com" IN { //写入dns正向区域信息
type master;
file "z"; //说明dns正向存放区域
allow-update { none; };
};
zone "10.168.192.in-addr.arpa" IN { //说明dns反向区域名称信息
type master;
file "f"; //说明dns反向存放区域
allow-update { none; };
};
修改完后显示的结果如下,我在这里是将上面的模板复制下来进行修改的,
四、创建正反向区域文件
cd /var/named //切换到这个目录,进行正反向区域创建
cp -p named.localhost z //复制named.localhost文件到z文件内(named.localhost这个是文件是模板 我自己懒得写,所有用这个,cp -p 的命令意思是复制这个文件并继承我们复制文件的权限,z和f这个两个文件是我们之前在修改区域配置文件那里我们说明的正反向存放位置,由于没有 所以我们在这点创建这两个文件)
cp -p named.localhost f //复制named.localhost文件到f文件内
五、修改我们之前创建的正反向区域文件
vi z //进入正向配置文件里面进行修改
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial //版本号
1D ; refresh //同步时间
1H ; retry //同步时间间隔
1W ; expire //失败后数据库过期时长
3H ) ; minimum //错误缓存时长
NS @ //定义名称服务器
A 127.0.0.1 //定义名称服务器IP地址 这里指的127.0.0.1 回环地址
dns A 192.168.1.26 //这个是我们添加的dns记录
vi f //进入反向配置文件进行修改
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
26 PTR dns.skills.com.
六、对dns服务进行重载,使其我们刚才配置的配置文件生效
systemctl restart named //重启dns服务
systemctl status named //查看dns服务状态
目录
七、测试dns服务,查看是否能够进行解析(一般来说只要服务重启成功了,我们对其进行dns解析就没有什么问题)
,查看是否能够进行解析(一般来说只要服务重启成功了,我们对其进行dns解析就没有什么问题)
[root@localhost named]# nslookup //使用nslookup这个软件进行dns解析
> server 192.168.1.26 //指定dns服务IP
Default server: 192.168.1.26
Address: 192.168.1.26#53
> 192.168.1.26 //进行反向解析IP解析域名
26.1.168.192.in-addr.arpa name = dns.skills.com.
> dns.skills.com //进行正向解析域名解析IP
Server: 192.168.1.26
Address: 192.168.1.26#53
Name: dns.skills.com
Address: 192.168.1.26
>