DNS服务
文章目录
1、配置文件
【1】配置文件:/etc/resolve.conf
【2】映射关系配置文件:/etc/hosts
【3】主配置文件:/etc/named.conf
【4】区域配置文件:/etc/named.rfc1912.zones
【5】区域数据配置文件:/var/named/kgc.com.zone
2、DNS作用(域名解析)
【1】正向解析:主机名解析成IP地址
配置步骤:
(1)修改主配置文件
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };(53端口监听所有用户)
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };(允许所有此网段的用户)
(2)修改区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {(指定区域名)
type master;
file "kgc.com.zone";(指向区域数据文件,必须和区域数据文件同名)
allow-update { none; };
};
(3)创建区域数据配置文件
[root@localhost ~]# cp -p /var/named/named.localhost /var/named/kgc.com.zone(使用本地dns模板)
$TTL 1D
@ IN SOA kgc.com. admin.kgc.com. ( (从区域配置文件指向数据配置文件)
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.60.77(声明主机名为www的IP地址)
bbs IN A 172.168.80.99(生命主机名为bbs的IP地址)
(4)关闭安全防护和防火墙
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# systemctl stop firewalld
(5)修改dns服务器IP地址
[root@localhost ~]# vim /etc/resolv.conf
nameserver 192.168.60.10
(6)开启dns服务
[root@localhost ~]# systemctl start named
(7)验证
1)本地服务验证
[root@localhost ~]# dig bbs.kgc.com
;; QUESTION SECTION:
;bbs.kgc.com. IN A
;; ANSWER SECTION:
bbs.kgc.com. 86400 IN A 172.168.80.99
;; AUTHORITY SECTION:
kgc.com. 86400 IN NS kgc.com.
;; ADDITIONAL SECTION:
kgc.com. 86400 IN A 127.0.0.1
;; Query time: 0 msec
;; SERVER: 192.168.60.10#53(192.168.60.10)
;; WHEN: 一 7月 06 23:10:20 CST 2020
;; MSG SIZE rcvd: 86
2)客户机验证
首先打开固定DNS服务器IP地址,在使用nslookup解析
3)apache网页验证
[root@localhost~]#yum install -y httpd
[root@localhost~]#vim /var/www/html/index.html
<h1>my name is zhangqing</h1>
[root@localhost~]#systemctl start httpd
[root@localhost~]#ip add
【2】正向解析之(邮件交换、别名、泛域名)
操作步骤:
(1)按照正向解析的步骤,打开主配置文件进行修改
root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };(监听53端口所有用户)
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };(允许所有网段用户使用)
(2)打开区域配置文件进行添加
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {(定义区域域名)
type master;
file "kgc.com.zone";(映射区域数据文件)
allow-update { none; };
};
(3)创建区域数据配置文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
chroot chroot_sdb data dynamic dyndb-ldap named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp -p named.localhost kgc.com.zone(使用local.host文件的模板创建)
[root@localhost named]# vim kgc.com.zone
$TTL 1D
@ IN SOA kgc.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS kgc.com.
A 127.0.0.1
IN MX 5 mail.kgc.com(设置邮件交换优先级,声明域名)
mail IN A 192.168.99.99(映射邮件交换域名对应的IP地址)
smtp IN CNAME mail(别名解析,smtp是mail的别名)
* IN A 6.6.6.6(泛域名解析,没有找到就解析地址为6.6.6.6)
(4)配置本地解析,开启域名解析服务
[root@localhost ~]# vim /etc/resolv.conf
nameserver 192.168.60.10(本地主机IP地址)
[root@localhost ~]# systemctl start named
(5)本地解析
[root@localhost ~]# host mail.kgc.com(邮件交换解析)
mail.kgc.com has address 192.168.99.99
[root@localhost ~]# host smtp.kgc.com(别名解析)
smtp.kgc.com is an alias for mail.kgc.com.
mail.kgc.com has address 192.168.99.99
[root@localhost ~]# host dudu.kgc.com(泛域名解析)
dudu.kgc.com has address 6.6.6.6
【3】反向解析:IP地址解析成主机名
解析步骤:
(1)修改主配置文件(和正向解析一样)
root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };(监听53端口所有用户)
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };(允许所有网段用户使用)
(2)区域配置文件添加(以ipv6为界限,下面是反向解析配置)
[root@localhost ~]# vim /etc/named.rfc1912.zones
####注意:网络号倒着写,0省略,这里正常的网络号是192.168.77.0######
zone "77.168.192.in-addr.arpa" IN {
type master;
file "kgc.com.zone";(指向区域数据配置文件)
allow-update { none; };
};
(3)创建区域数据配置文件
[root@localhost ~]# vim /var/named/kgc.com.zone
$TTL 1D
@ IN SOA kgc.com. admin.kgc.com. (####(区域名,管理员域名)#####
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS kgc.com.
A 127.0.0.1
66 IN PTR bbs.kgc.com.
#####这里只写解析IP地址的主机号####对应全称域名#####
(4)重启dhs服务,IP地址解析
[root@localhost ~]# systemctl restart named
[root@localhost ~]# host 192.168.77.66
66.77.168.192.in-addr.arpa domain name pointer bbs.kgc.com.
3、53端口功能
【1】53端口使用tcp协议,安全可靠性高,用于建立连接
【2】53端口使用udp协议,传输效率高,用于解析
4、DNS服务的分类
【1】主服务器:对特定的域进行解析,比如一个公司内部dns服务器
【2】从服务器(辅助):为主服务器分担负载,是主服务器的备用服务器,所有的映射关系均来自主服务器。
【3】缓存服务器:用于外网与内网之间,把查找的映射关系缓存到本地,可以实现快速查找。
【4】转发服务器:无法提供解析功能,但可以向外网其他dns服务器转发映射请求来实现解析。
主从服务搭建
(1)配置主服务器主配置文件
root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };(监听53端口所有用户)
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };(允许所有网段用户使用)
(2)配置主服务器区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
type master;
file "kgc.com.zone";
allow-transfer { 192.168.60.20; };
};
(3)配置主服务器区域数据配置文件
[root@localhost ~]# vim /var/named/kgc.com.zone
$TTL 1D
@ IN SOA kgc.com. admin.kgc.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS kgc.com.
A 127.0.0.1
IN MX 5 mail.kgc.com
mail IN A 192.168.99.99
smtp IN CNAME mail
* IN A 6.6.6.6
(4)验证主服务器是否本地解析
[root@localhost ~]# vim /etc/resolv.conf
nameserver 192.168.60.10
[root@localhost ~]# systemctl restart named
[root@localhost ~]# host mail.kgc.com
mail.kgc.com has address 192.168.99.99
(5)配置从服务器主配置文件
root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };(监听53端口所有用户)
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };(允许所有网段用户使用)
(6)配置从服务器区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
type slave;
file "slaves/kgc.com.zone";
masters { 192.168.60.10; };
};
(7)配置网卡信息测试连通性
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1b20f609-a6f5-43b2-9038-60014a4673cd
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.60.20
NETMASK=255.255.255.0
GATEWAY=192.168.60.2
[root@localhost ~]# ping 192.168.60.10
PING 192.168.60.10 (192.168.60.10) 56(84) bytes of data.
64 bytes from 192.168.60.10: icmp_seq=1 ttl=64 time=0.548 ms
64 bytes from 192.168.60.10: icmp_seq=2 ttl=64 time=0.767 ms
64 bytes from 192.168.60.10: icmp_seq=3 ttl=64 time=0.305 ms
64 bytes from 192.168.60.10: icmp_seq=4 ttl=64 time=0.341 ms
(8)查看区域数据配置文件是否存在
[root@localhost ~]# systemctl restart named
[root@localhost ~]# cd /var/named/slaves/
[root@localhost slaves]# ls
kgc.com.zone
(9)在从服务器上解析
[root@localhost ~]# host mail.kgc.com
mail.kgc.com has address 192.168.99.99
5、DNS查找方式
【1】迭代查询
客户端向根dns1服务器发出解析请求,根dns1不知道要解析的主机名,让客户端找一级域名服务器dns2,客户端再向dns2发出请求,而dns2也不知道,让它去找二级域名服务器dns3,这样来回往复知道解析完成的过程。一般应用与外网访问。
【2】递归查询
默认情况下,DNS服务器使用递归方式来解析名字。递归的含义就是DNS服务器作为DNS客户端向其他DNS服务器查询此解析请求,直到获得解析结果,把获得的结果发送给客户机的过程。在此过程中,原DNS客户端则等待DNS服务器的回复。简单而言就是客户端把要查询的域名或IP地址交给服务器,让服务器代替自己去查找,客户端只收结果,所以递归查询一般用于客户端与dns服务器之间。一般应用在内部网络。