一、正向解析(域名转换为IP地址)
服务端
1、编辑主配置文件
vim /etc/named.conf
options {
listen-on port 53 { any; }; <<<<<允许所有人监听53端口
listen-on-v6 port 53 { ::1; };
directory
dump-file
statistics-file
memstatistics-file
allow-query { any; }; <<<<<允许所有人使用dns
dnssec-validation no; <<<<<不进行安全认证
2、编辑zone文件
vim /etc/named.rfc1912.zones
y5y,p复制19到23行,粘贴在文件内容底下
修改为下面
zone "taylor.com" IN { <<<指定要维护的域
type master;
file "taylor.com.zone"; <<<指定A记录文件
allow-update { none; };
};
3、复制模板,编辑A记录文件
[root@dns_server named]#cd /var/named/
[root@dns_server named]# cp -p named.localhost taylor.com.zone <<<<< -p的作用是将文件的权限也复制给taylor.com.zone(在DNS模块,严格强调权限)
[root@dns_server named]# ll
total 20
drwxrwx---. 2 named named 22 May 20 10:07 data
drwxrwx---. 2 named named 58 May 21 08:05 dynamic
-rw-r-----. 1 root named 2076 Jan 28 2013 named.ca
-rw-r-----. 1 root named 152 Dec 15 2009 named.empty
-rw-r----- 1 root named 152 May 21 08:29 named.localhost <<<模板
-rw-r-----. 1 root named 168 Dec 15 2009 named.loopback
drwxrwx---. 2 named named 6 Jan 29 2014 slaves
-rw-r----- 1 root named 152 May 21 08:29 taylor.com.zone <<<<A记录文件
[root@dns-server named]# vim taylor.com.zone <<<<<修改模板文件为A记录文件
$TTL 1D
@ IN SOA dns.taylor.com. music.taylor.com. ( <<<<dns.taylor.com.是dns服务器主机名 注意 .
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.taylor.com. <<<<注意点 .
dns A 172.25.254.100 <<<<指定dns主机的ip
www A 172.25.254.101 <<<<要添加的A记录
song A 172.25.254.201 <<<<要填加的A记录
4、重启named服务 、关闭防火墙
systemctl restart named
systemctl stop firewalld
客户端
1、编辑nameserver
[root@dns-server named]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.25.254.170 <<<服务端ip,这个一定要改
2、测试
[root@dns_client ~]# dig www.taylor.com
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> www.taylor.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25529
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION: <<<显示你要查询的域名
;www.taylor.com. IN A
;; ANSWER SECTION: <<<答案,显示查询到的域名对应的IP
www.taylor.com. 86400 IN A 172.25.254.101
;; AUTHORITY SECTION: <<<显示的是直接提供这个域名解析的DNS
taylor.com. 86400 IN NS dns.taylor.com.
;; ADDITIONAL SECTION: <<<显示的是这些直接提供解析的服务器的IP地址
dns.taylor.com. 86400 IN A 172.25.254.100
;; Query time: 0 msec
;; SERVER: 172.25.254.170#53(172.25.254.170)
;; WHEN: Tue Feb 19 15:12:03 EST 2019
;; MSG SIZE rcvd: 93
[root@dns_client ~]#
注意:
86400
是指 ttl
( time to live
,暂存时间),表示这次请求会在服务器上保存多久时间(单位:秒)
A
指的是 Address
,即 IP
地址
IN
是固定关键词
NS
指的是服务器主机名,在 AUTHORITY SECTION
里面的服务器主机名,都会在 ADDITIONAL SECTION
里给出该主机的IP地址
CNAME
是别名,意思是这个域名还有另外一个名字,两者指向同一个IP
DNS轮询机制
当我们把服务端A记录文件改为
那么 dig
出来的就是
情况一
情况二
注意 :这个就是dns的 轮询机制
.
二、反向解析(IP地址转化为域名)
服务端
1.编辑主配置文件
vim /etc/named.conf
options {
listen-on port 53 { any; }; <<<<<允许所有人监听53端口
listen-on-v6 port 53 { ::1; };
directory
dump-file
statistics-file
memstatistics-file
allow-query { any; }; <<<<<允许所有人使用dns
dnssec-validation no; <<<<<不进行安全认证
2.编辑 /etc/named.rfc1912.zones
vim /etc/named.rfc1912.zones
复制37-41行,粘贴在最后 反向解析的文件是 ptr
格式
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN { <<<<反向解析要反着写,指定网络位
type master;
file "taylor.com.ptr"; <<<<指定反向解析文件
allow-update { none; };
};
3.复制模板,编辑反向解析文件
cp -p named.loopback taylor.com.ptr
vim taylor.com.ptr <<<<修改模板为反向解析文件
$TTL 1D
@ IN SOA dns.taylor.com. music.taylor.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.taylor.com.
dns A 172.25.254.110 <<<<指定dns主机的ip
120 PTR www.taylor.com. <<<<添加PTR
130 PTR art.taylor.com. <<<<添加PTR
4.重启服务
systemctl restart named
客户端
1.编辑 nameserver
vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.25.254.170 <<<服务端ip,这个一定要改
2.测试
dig -x 172.25.254.120 -x表示反向解析
三、双向解析
服务端
1、安装bind软件,启动软件,查看bind配置文件
[root@dns_server named]# yum install bind.x86_64 -y
[root@dns_server named]# systemctl start named
[root@dns_server named]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf <<<主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
2、编辑主配置文件
vim /etc/named.conf
>>>>>>>>>注释zone语句块及之后的内容
/*
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
*/
view localnet { <<<<<编辑内网模块
match-clients { 172.25.254.120; }; <<这个客户端只能解析到内网,这里不一定是ip,一个网段,多个ip都可以,多个ip用;空格隔开
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones"; <<<<<<包含本地zone文件
};
view inter { <<<<外网模块
match-clients { any; }; <<<<其余人都解析到外网
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.inter"; <<<<包含外网inter文件
};
3、建立外网rfc1912.inter文件
[root@dns_server named]# pwd
/var/named
[root@dns_server named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
4、修改外网rfc1912.inter文件
[root@dns_server named]# vim /etc/named.rfc1912.inter
zone "taylor.com" IN {
type master;
file "taylor.com.inter"; <<<<zone改为inter,不添加新的语句块
allow-update { none; };
};
注意:本实验的内网都在上几个实验中配置过了,所以只需要复制内网文件并做修改。
5、建立外网记录文件
[root@dns_server named]# cp -p taylor.com.zone taylor.com.inter
6、编辑记录外网文件
原来的
$TTL 1D
@ IN SOA dns.taylor.com. music.taylor.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.taylor.com.
dns A 172.25.254.100
www A 172.25.254.101
news CNAME song.taylor.com.
song A 172.25.254.201
:%s/172.25.254/192.168.0/g >>>>>>>>>>>全局替换
$TTL 1D
@ IN SOA dns.taylor.com. music.taylor.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.taylor.com.
dns A 192.168.0.100
www A 192.168.0.101
news CNAME song.taylor.com.
song A 192.168.0.201
song A 192.168.0.202
客户端
内网测试
1、编辑nameserver
[root@dns-server named]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.25.254.100 <<<服务端ip,这个一定要改
2、172.25.254.120这台主机上测试(上面我们规定的只能解析到内网)
外网测试
1、编辑nameserver
vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.25.254.100 <<<服务端ip,这个一定要改
2、非172.25.254.120这台主机(即其他主机都解析到外网)
关于DNS三种解析的总结就是这些。