Linux进阶(9)--DNS部署

一.DNS概述

DNS(domain name system ) 域名管理系统是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址。

1.DNS的结构

请添加图片描述

☆ 根域

在整个 DNS 系统的最上方一定是 . 这个 DNS 服务器 ,也叫”根域“。
根域 (13台 全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。

☆ 一级域名(顶级域|国家域)

.com : 商业公司
.net :互联网公司
.edu :教育
.gov :政府
.io :存储设备,redis
.cn :中国域名(国家域)

☆ 二级域名(自己购买管理)

qq.com.
baidu.com.
google.com.

2.DNS的正向解析

域名的正向解析

将主机域名转换为对应的IP 地址,以便网络程序能够通过主机域名访问到对应的服务器主机。

A记录 :域名——>IP

3.DNS的反向解析

域名的反向解析

将主机的IP地址转换为对应的域名,以便网络(服务)程序能够通过IP地址查询到主机的域名。

PTR记录 :IP——>域名

4.dig命令

dig命令 是常用的域名查询工具,可以用来测试域名系统工作是否正常。

dig +trace www.baidu.com		#追踪DNS的解析过程
dig www.baidu.com				#正向解析
dig -x IP地址					#反向解析

5.host命令

host命令 是常用的分析域名查询工具,可以用来测试域名系统工作是否正常

host www.baidu.com

二.DNS服务器搭建

0.环境准备

client:192.168.1.8

#在client端修改dns指向文件 
vim /etc/resolv.conf 
nameserver 192.168.1.9 
#当做地址解析动作时,系统会访问dns指向文件中的ip完成地址解析这个工作。
#dns指向文件中的ip就为此主机的dns服务器。

server:192.168.1.9

1.DNS服务端基本信息

  • 安装包:bind
  • 服务名称:named
  • 主配置文件:/etc/named.conf
  • 数据目录:/var/named
  • 端口:53

DNS 的域名解析都是 udp/53 . 主从之间的数据传输默认使用 tcp/53

Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley(伯克利)分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

2.安装和启用DNS服务

#在server端:
yum install bind.x86_64 -y

systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload 

netstat -antlupe|grep named			#现在没有53端口信息

vim /etc/named.conf 
options { 
	#修改53端口
	11 listen-on port 53 { any; };
	12 listen-on-v6 port 53 { ::1; }; 
	13 directory "/var/named"; 
	14 dump-file "/var/named/data/cache_dump.db"; 
	15 statistics-file "/var/named/data/named_stats.txt"; 
	16 memstatistics-file "/var/named/data/named_mem_stats.txt"; 
	17 secroots-file "/var/named/data/named.secroots"; 
	18 recursing-file "/var/named/data/named.recursing"; 
	#修改允许查询A记录的客户端列表为所有人any 
	19 allow-query { any; }; 

	#添加这一行是本机不知道解析时,去找114.114.114.114
	forwarders { 114.114.114.114; };

	#禁用dns检测 使dns能够缓存外部信息到本机 
	34 dnssec-validation no; 

systemctl restart named

3.搭建DNS正向解析

目标:把www.laowang.com域名通过DNS服务器指向192.168.1.100这个IP地址。

  • /etc/named.conf主要配置访问权限控制和根域的控制(哪些IP或哪些主机可以访问DNS服务器)

  • /etc/named.rfc1912.zones主要定义域名如何解析(正向解析),解析到具体哪个IP地址

################################## 第一步 ########################
vim /etc/named.rfc1912.zones
# 依照文件内部的模板编写
zone "laowang.com" IN {					# 维护的域名为laowang.com
        type master;					
        file "laowang.com.zone";		# 指定域数据配置文件
        allow-update { none; };
};


################################# 第二步 ########################
cd /var/named
cp -p named.localhost laowang.com.zone	

vim laowang.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
#增加一条正向解析,表示www.laowang.com解析为192.168.1.100
WWW 	A		192.168.1.100
#可以在192.168.1.100这台机器上安装web服务编写一个测试文件
~                          

################################ 第三步 ########################
named-checkconf /etc/named.conf
named-checkconf /etc/named.rfc1912.zones

# 检查laowang.com.zone文件
cd /var/named
named-checkzone laowang.com.zone laowang.com.zone

################################ 第四步 ########################
systemctl restart named
netstat -tnlp |grep named

测试:
在client客户机中修改DNS指向文件,指向到我们的server端(192.168.1.9),然后我们在访问www.laowang.com这个域名时就访问到了192.168.1.100上的测试页面。
可以使用dig,host,curl命令查看域名解析的过程。

☆ zone文件详解

# $TTL  缓存的生存周期
# @ = zonename = laowang.com  当前域
# IN  互联网
# SOA 开始授权
# NS  dns服务端	nameserver
# A   ipv4 正向
# AAAA IPV6
# CNAME 别名
# MX  邮件交互记录  5 数字代表优先级 数字越小优先级越高

# 0       ; serial    更新序列号	
# 1D      ; refresh   更新间隔(从服务器下载数据)
# 1H      ; retry     失败重试
# 1W      ; expire    区域文件的过期时间
# 3H )    ; minimum   缓存的最小生存周期

# D Day、H Hour、W Week

4.搭建DNS反向解析

目标:把192.168.1.100这个IP地址通过DNS服务器指向www.laowang.com域名

################################## 第一步 ########################
vim /etc/named.rfc1912.zones
# 依照文件内部的模板编写
zone "1.168.192.in-addr.arpa" IN {			#注意要反着写
        type master;
        file "192.168.1.ptr";				#指定域数据配置文件
        allow-update { none; };
};


################################# 第二步 ########################
cd /var/named
cp -p named.loopback 192.168.1.ptr	

vim 192.168.1.ptr
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
        PTR     localhost.
#增加一条反向解析,把192.168.1.100 => PTR => www.laowang.com
100     PTR     www.laowang.com
~                                

################################ 第三步 ########################
named-checkconf /etc/named.conf
named-checkconf /etc/named.rfc1912.zones

# 检查192.168.1.ptr文件
cd /var/named
named-checkzone 192.168.1.ptr 192.168.1.ptr

################################ 第四步 ########################
systemctl restart named
netstat -tnlp |grep named

测试:
在client主机进行dig 测试:dig -x 192.168.1.100。

5.DNS主从部署

主机名称IP地址备注信息
master.dns.cn192.168.1.9dns master主服务器
slave.dns.cn192.168.1.10dns slave从服务器

MASTER主服务器配置:

vim /etc/named.conf
12 options {
13         listen-on port 53 { 127.0.0.1;any; };
14         listen-on-v6 port 53 { ::1; };
15         allow-transfer {192.168.1.10; };#允许从服务器的IP地址过来同步资源
16         directory       "/var/named";
17         dump-file       "/var/named/data/cache_dump.db";
18         statistics-file "/var/named/data/named_stats.txt";
19         memstatistics-file "/var/named/data/named_mem_stats.txt";
20         recursing-file  "/var/named/data/named.recursing";
21         secroots-file   "/var/named/data/named.secroots";
22         allow-query     { localhost;any;};


systemctl restart named

SLAVE从服务器配置:

vim /etc/named.conf
12 options {
13         listen-on port 53 { 127.0.0.1;any; };
14         listen-on-v6 port 53 { ::1; };
15         directory       "/var/named";
16         dump-file       "/var/named/data/cache_dump.db";
17         statistics-file "/var/named/data/named_stats.txt";
18         memstatistics-file "/var/named/data/named_mem_stats.txt";
19         recursing-file  "/var/named/data/named.recursing";
20         secroots-file   "/var/named/data/named.secroots";
21         allow-query     { localhost;any; };

vim /etc/named.rfc1912.zones
zone "laowang.com" IN {
        type slave;
        file "slaves/laowang.com.zone";
        masters { 192.168.1.9; };
};

systemctl restart named

测试:
在Client端,把Slave从服务器的IP设置为DNS,然后
nslookup www.laowang.com

6.DNS双向解析

7.DNS更新

8.DDNS动态域名服务

DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值