CentOS8搭载正反向解析dns服务器

1.介绍(是什么)

DNS(Domain Name System),即域名系统,是一个将域名和 IP 地址相互映射的分布式数据库,它可以将用户输入的域名转换成对应的 IP 地址。DNS 由多个服务器组成,分为多个层级,每一层级负责管理一部分域名和对应的 IP 地址。

当用户在浏览器中输入一个域名时,浏览器会首先查询本地的 DNS 缓存,如果缓存中有对应的 IP 地址,则直接使用缓存中的地址。如果缓存中没有,则向本地 DNS 服务器发送查询请求,本地 DNS 服务器会向根域名服务器发起查询请求,根域名服务器返回对应的顶级域名服务器地址,本地 DNS 服务器再向顶级域名服务器发送查询请求,顶级域名服务器再返回下一级域名服务器地址,直到找到对应的 IP 地址。

DNS 的作用非常重要,它不仅可以提高用户体验,还可以防止域名劫持和网络攻击等问题。

2.为什么要搭载dns服务器(意义)

1:局域网的内部解析,可以使在同一个局域网的设备,通过自定义的域名之间访问,减少了IP裸露,不仅提高了网络的安全性,更加提高了易用性;

2:域名的注册和管理,如果你是一个上市企业,你希望自己提高线上的知名度,有一个属于自己的域名也是比较重要的,所以你需要一台dns服务器帮助你进行域名解析,因为你总不能让他们都去输入32位2进制的iPv4地址吧

3.隐藏内部拓扑结构,在企业内部,往往很惧怕黑客的攻击,这时候可以通过内部的dns服务器来管理内部域名安全和拓扑结构安全

分布式数据库

分布式数据库是指将数据分散的存储在多台计算机上的数据库系统,dns服务器同样可以采用分布式的逻辑进行存储

DNS 通常由多个服务器组成,分为多个层级,每一层级负责管理一部分域名和对应的 IP 地址。

每一个上层的dns服务器都记载了下一级域名的所有信息,三层服务器通常情况如下(这里我们用www.baidu.com举例)

1.根域名:根域名服务器是整个 DNS 层级结构的最高层,它存储了整个 DNS 系统中所有顶级域名服务器的信息,它们的作用是将请求转发到下一级的顶级域名服务器。在这台服务器上,将会对com进行解析:

2.顶级域名:顶级域名位于根服务器的下一级,它同样存储了该顶级域名下的所有二级域名的 DNS 信息,包括该顶级域名下的权威域名服务器列表   一般来讲,顶级域名代表着国家级 例如 cn之类的   在这里 将会对Baidu进行解析:

3.权威域名:权威域名位于根域名下一级,它存储了每个域名的 IP 地址和其他 DNS 记录信息。当用户向 DNS 服务器查询某个域名的 IP 地址时,DNS 服务器会向该域名对应的权威域名服务器发出查询请求,并返回该域名的 IP 地址给用户。这里会对www进行解析

3:dns服务器

yum install bind*       //下载相关服务

systemctl enble  named    // 启动bind服务

rpm -qc bind     查看bind相关的运行文件

 

在bind相关文件中,必须要对上述标红的文件进行编辑

(1):打开编辑主文件vim /etc/named.conf   

这个文件是bind服务中最主要的部分之一 ,包括但不限于定义域名解析区域、设置DNS转发、限制DNS服务器访问等等,这里我们将允许监听  允许访问都改为any

options {
	listen-on port 53 { any; };
// 允许监听23端口的主机
	listen-on-v6 port 53 { ::1; };
// 允许监听53端口的IPv6
	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";
	secroots-file	"/var/named/data/named.secroots";
	recursing-file	"/var/named/data/named.recursing";
	allow-query     { any; };
//  允许发送dns请求的主机
include "/etc/named.zones";
//定义了 DNS 区域和相关的 DNS 记录,以及对应的 DNS 服务器 IP 地址的配置文件指向

(2)对区域配置文件进行编辑/etc/named.rfc1912.zones

/etc/named.rfc1912.zones 这个文件是bind给的一份格式,在我们创建自己的域名时,可以将他复制过来

cd /etc

cp  -p /etc/named.rfc1912.zones   named.zones   

// 这里加p命令是为了将文件的所属组以及权限的相关内容完整的复制过来

正向解析文件

zone "baidu.com" IN {
        type master;
        file "/var/named/named.baidu.com"; //文件地址
        allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "named.192.168.1.zone";  //文件地址
        allow-update { none; };
};

 我们可以先复制一份样例,我们只负责修改就好

3:针对于file的正向解析文件,以及反向解析文件进行编辑

cd /var/named/

cp -p named.localhost  named.baidu.com 复制样例文件

vim name.baidu.com    添加以下内容

chmod 777 named.baidu.com

$TTL 1D
@	IN SOA	@ root.baidu.com. (
			1997022700	; serial
			28800		; refresh 刷新时间
			14400		; retry   重试时间
			3600000		; expire  过期时间
			86400 )		; minimum 最小的生存时间ttl
@			IN		NS		dns.baidu.com.
@			IN		MX	10	mail.baidu.com.
dns			IN		A		192.168.10.1
mail		IN		A		192.168.10.254
www			IN		A		192.168.10.253

 cp -p  named.loopback  named.192.168.1.zone  //复制样例文件

vi named.192.168.1.zone   添加添加以下内容

chmod 777  named.192.168.1.zone

$TTL 1D
@       IN SOA  @ root.baidu.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@                       IN  NS  dns.baidu.com.
@                       IN  NS  mail.baidu.com.
1                       IN  PTR dns.baidu.com.
254                     IN  PTR mail.baidu.com.
253                     IN  PTR www.baidu.com.

 防火墙放行

sudo firewall-cmd --zone=public --add-port=53/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list     放行53端口

or

 systemctl stop firewalled   //关闭防火墙   

systemctl restart named   ;  systemctl enable  named  //重启/启动 bind服务,如果没报错的话,基本是没什么大问题的

最后  /etc/resolv.conf   

这个文件给我的感觉有点类似于是win中的dns本地缓存,在你申请解析的时候。一定会优先向这个文件访问

# Generated by NetworkManager
nameserver	192.168.10.2    //域名地址
nameserver	192.168.10.1
search		www.baidu.com   //域名
nameserver	192.168.10.31

bind查询工具

测试BIND最常用的命令是nslookup。nslookup命令可以用来查询DNS域名解析是否正常,以及查询特定主机名对应的IP地址。在使用nslookup命令时,需要指定要查询的主机名或IP地址,如“nslookup www.baidu.com”或“nslookup 8.8.8.8”等。此外,nslookup还可以用来查询MX记录、CNAME记录、PTR记录等。

命令nsloop 

 nslookup 
> www.baidu.com
Server:		192.168.10.1
Address:	192.168.10.1#53

Name:	www.baidu.com
Address: 192.168.10.253

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大懒的猫猫虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值