Linux-dns服务器搭建

DNS解析流程:
	1. 客户端查询自己的缓存(包含 hosts 中的记录),如果没有将查询发送 /etc/resolv.conf 中的 DNS 服务器
	2. 如果本地 DNS 服务器对于请求的信息具有 权威性 ,会将(权威答案)发送到客户端。
	3. 否则( 不具有权威性 ),如果 DNS 服务器在其缓存中有请求信息,则将(非权威答案)发送到客户端
	4. 如果缓存中没有该查询信息, DNS 服务器将搜索权威 DNS 服务器以查找信息:
		a. 从根区域开始,按照 DNS 层次结构向下搜索,直至对于信息具有权威的名称服务器,为客户端获答 案
			DNS 服务器将信息传递给客户端 ,并在自己的缓存中保留一个副本,以备以后查找。
		b. 转发到其它 DNS 服务器
	
1.安装dns服务器
	shell# yum y install bind bind chroot
	shell# systemctl restart named
	shell# systemctl enable named
	
	#添加防火墙
	shell# firewall cmd permanent a dd service=dns
	shell# firewall cmd reload
	
2.主配置文件(添加区域)
	
	shell# vim /etc/named.conf
		#配置文件
		options {
			listen-on port 53 { any; };     #修改为any
			listen-on-v6 port 53 { any; };  #修改为any
			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; };    #修改为any
			forwarders { 114.114.114.114;192.168.80.2; };    #转发到上一级dns
			
		#根区域
		zone "." IN {
			type hint;
			file "named.ca";
		};
		#添加区域(changlidong.com)
		zone "changlidong.com" {
				type master;
				file "changlidong.com.zone";   #配置文件
		};
		#添加去(labdocker)
		zone "labdocker" {
				type master;
				file "labdocker.com.zone";    #配置文件
		};

3.区域配置文件
	默认路径:/var/named/
	
	#changlidong.com配置文件
		shell# vim /var/named/changlidong.com.zone
			$TTL 600
			@ IN SOA @ root (2020032300 1H 15M 1W 1D)
			@ IN NS dns
			dns IN A 192.168.80.100
			www IN A 192.168.80.201
			bbs IN A 192.168.80.202
	#labdocker配置文件
		shell#vim /var/named/labdocker.com.zone
			$TTL 600
			@ IN SOA @ root (2020032300 1H 15M 1W 1D)
			@ IN NS dns
			dns IN A 192.168.80.100
			www IN A 192.168.80.22
			master01 IN A 192.168.80.24
			bbs IN A 192.168.80.35

4.参数说明
	@ 表示当前域名
	www.tianyun.com. = www
	第一个字段继承
	
	SOA: 起始授权记录 强制
	NS: DNS 服务器记录 强制
	A: 主机记录
	CNAME: 别名记录

5.客户端测试工具
	安装:
		shell# yum install -y bind-utils
	
	使用:
	shell# nslookup www.changlidong.com    #解析地址
	shell# nslookup 192.168.80.201     #反向解析,服务器需要配置才能显示
	
	shell# host -t A www.changlidong.com #正向解析
	shell# host 192.168.80.201      #反向解析
	shell# host www.changlidong.com 192.168.80.100   #使用dns服务器
	shell# host -t SOA changlidong.com    #查询区域的SOA
	shell# host -t NS changlidong.com    #查询某个区域的NS
	shell# host -t MX changlidong.com    #查询某个区域的邮件服务器
	
	shell# dig www.changlidong.com       #使用 /etc/resolv.conf 设置的 DNS
	shell# dig @192.168.80.100 www.changlidong.com #使用指定的 DNS

  

posted @ 2020-02-11 21:17  东风伴侣  阅读(144)  评论(0编辑  收藏  举报