相关概念:
正向解析:将域名解析成IP地址
反向解析:将IP地址解析成域名
环境:linux服务器一台,IP地址:192.168.80.10
第一步:准备工作
[root@localhost ~]# yum install bind //安装DNS服务
[root@localhost ~]# systemctl stop firewalld //关闭防火墙
[root@localhost ~]# setenforce 0 //关闭selinux
第二步:编辑配置文件---------------1.编辑主配置文件-------------
[root@localhost ~]# vi /etc/named.conf
修改内容:
options {
listen-on port 53 { 192.168.80.10; }; //改成自己服务器的IP
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";
allow-query { any; }; //任何人都可以访问
如图:
![Linux—CentOS7.4-DNS一(搭建DNS服务器)](https://s1.51cto.com/images/blog/201801/12/825720895f5d886ce3ec7d66f4a26391.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
保存退出
[root@localhost named]# named-checkconf //检查语法错误(如果有错误会有错误提示,如果没有错误,则无任何提示)
---------------2.编辑区域配置文件----------------
[root@localhost ~]# vi /etc/named.rfc1912.zones
………………
最下面添加:
//正向区域配置
zone "hello.com" IN {
type master;
file "hello.com.zone";
allow-update { none; };
};
//反向区域配置
zone "80.168.192.in-addr.arpa" IN {
type master;
file "hello.com.local";
allow-update { none; };
};
保存退出
[root@localhost named]# named-checkconf //检查语法错误
-------------3.编辑正向区域数据配置文件--------------
[root@localhost ~]# cd /var/named
[root@localhost named]# cp -p named.localhost hello.com.zone //注意:复制配置文件时,要保持源文件权限
[root@localhost named]# vi hello.com.zone
修改配置内容:
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.80.10 //本服务器地址
www IN A 192.168.80.10 //www.hello.com对应的地址
ftp IN A 192.168.80.10 //ftp.hello.com对应的地址
mail IN CNAME www //mail.hello.com是www.hello.com的另一个名称
- IN A 192.168.80.2 //如果后缀是hello.com但是前面的内容记录中没有的时候向查询主机返回192.168.80.2这个地址保存退出[root@localhost named]# named-checkconf //检查语法错误-------------------4.编辑反向区域数据配置文件--------------------[root@localhost named]# cp -p hello.com.zone hello.com.local[root@localhost named]# vi hello.com.local$TTL 1D@ IN SOA hello.com. rname.invalid. ( //此处@变量要修改成域名,注意最后面的“.”不能漏掉0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS @A 192.168.80.1010 IN PTR www.hello.com. //注意最后面的“.”不要漏掉保存退出[root@localhost named]# named-checkconf //检查语法错误第三步:启动服务[root@localhost named]# systemctl start named [root@localhost named]# netstat -anpu | grep name //查看服务运行状态,UDP 53端口在监听,如图:
第四步:测试,验证[root@localhost named]# vi /etc/resolv.conf //配置服务器DNS添加以下一行,其它全删掉:nameserver 192.168.80.10保存退出[root@localhost ~]# yum install bind-utils -y //安装解析查询命令nslookup//用nslookup命令验证解析域名与地址,如图:
//解析成功