DNS域名解析服务器

DNS简介

DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分 布式数据库,能够使人更方便的访问互联网。

DNS使用的是53端口,

通常DNS是以UDP这个较快速的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次 以TCP这个协议来重新查询所以启动DNS时,会同时启动TCP以及UDP的port53。

因特网的域名结构

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连 接在 因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。“域” (domain)是名字空间中一个可被管理的划分

国家顶级域名:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域 名又常记为ccTLD(country code top-level domains,cc表示国家代码contry-code)。

通用顶级域名:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营 利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。

基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因 此称为反向域名。

域名服务器的类型划分

根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的 顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解 析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所 有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服 务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名 服务器进行查询。

现如今全球一共投放13个根服务器 根服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均 为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均 由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务 器、域名体系和IP地址等的管理。 这13台根服务器可以指挥Firefox或互联网 Explorer这样的Web浏览器和电子邮件程序控制互联网通信。换句话说——攻击整个因特网最有力、最直接,也是最致命的方法恐 怕就是攻击根域名服务器了。 在与现有IPv4根服务器体系架构充分兼容基础上,由我国下一代互联网国家工程中心领衔发起的“雪人计 划”于2016年在美国、日本、印度、俄罗斯、德国、法国等全球16个国家完成25台IPv6(互联网协议第六 版)根服务器架设,事实上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际 互联网治理体系打下坚实基础。中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了 中国过去没有根服务器的困境。 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。 权限域名服务器:负责一个“区”的域名服务器。 本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当一个 主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。 主从DNS服务器:为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保 存,其中的一个就是主DNS服务器(Master name server),负责解析至少一个域。其他的是辅助 (从)DNS服务器(Slave name server):负责解析至少一个域,是主DNS服务器的辅助。当主域名服 务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅 助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。

 DNS域名解析的过程

​编辑

]# ns lookup

> set type=ns

> .

Non-authoritative answer:

 .nameserver = b.root-servers.net.

*** ***

> set type=a

 > b.root-servers.net. N

on-authoritative answer:

 Name:   b.root-servers.net

Address: 170.247.170.2

 > server 198.97.190.53

> set type=ns

> com.

 Authoritative answers can be found from:

 com     nameserver = a.gtld-servers.net.

*** ***

  1. gtld-servers.net     internet address = 192.5.6.30

 > server 192.33.14.30

Default server: 192.33.14.30

 Address: 192.33.14.30#53

 > set type=ns

> bilibili.com.

> server 1.12.0.17

 > set type=a

 > www.bilibili.com

www.bilibili.com       canonical name = a.w.bilicdn1.com.

> a.w.bilicdn1.com.

DNS服务器配置

关于服务端 

软件安装包          bind

服务名称            named

主配置文件          /etc/named.conf

数据目录            /var/named

端口                tcp/53 udp/53

dns服务的安装与启用

安装

dnf  install  bind  -y

启用

Systemctl  enable  --now  named

firewall-cmd  --permanent  --add-service=dns

firewall-cmd  --reload

开放服务

vim /etc/named.conf

listen-on  port  53 { any; }       ##在本地所有网络接口上开启53端口

allow-query  { any; };          ##允许查询A记录的客户端列表

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

systemctl  restart  named

DNS企业级高级配置

高速缓存dns

高速缓存dns是一个非权威的dns,在dns服务器中本身并没有数据

当客户需要解析域名时首先查询缓存中是否有数据,如果没有就会从指定的dns服务器中缓存

高速缓存dns可以大大节省内网在做地址解析上所需要花费的时间

高速缓存配置参数

fim  /etc/named.conf

forwarders  { 114.114.114.114; };

systemctl  restart  named

设置前:

设置后:

DNS的正向解析

DNS正向解析的作用 

当客户设定当前dns服务器为dns解析服务器时,正向解析即为客户提供A记录

客户提供域名,dns服务器负责把域名解析成对应IP 

实施方法 

1.编写zones文件设定要维护的域

vim  /etc/named.rfc1912.zone

zone  "easylee.org" IN {       ##维护的域名

type  master;               ##当前服务器位主dns

file  "easylee.org.zone";      ##域名A记录文件

allow-update  { none; };      ##允许更新主机列表

};

2.根据zones文件中的指定生成A记录文件

cd /var/named/

cp  -p  named.localhost  westos.com.zone

修改前:

$TTL 1D                ##TIME-TO-

LIVE(dns地址保存时间长度默认是“S”)

@ IN SOA dns.easylee.org. root.easylee.org. ( ##SOA授权起始  

(Start of Authority)                 ##负责管理管理员邮箱,NS服务器名称等7个信息

0 ; serial #域名版本序列号

1D ; refresh #刷新时间(辅助dns)

1H ; retry #重试时间(辅助dns)

1W ; expire #过期时间

3H ) ; minimum #A记录最短有效期,如 果$TTL被设定那么一设定值为准

NS   dns.easylee.org.              #nameserver 域名

dns         A    172.25.254.100               #nameserver A记录状态码

www          CNAME  node.a.easylee.org.          #Canonical Name

(规范名称,A记录别名)

node.a       A      172.25.254.101                #A记录

node.a       A      172.25.254.102

easylee.org. MX 1 172.25.254.111.              #邮件解析记录

修改后:

当更改完毕DNS服务的配置文件后一定要重启服务后更改内容才能生效

重启服务的命令为:

systemctl  restart  namd

如果重启服务失败基本可以确定为配置文件的内容更改的有问题可以使用的查看命令为:

journalctl -xeu  named.service

  1. 测试实验结果

dig -t A www.easylee.org @172.25.254.100 ##查询A记录

dig -t mx easylee.org @172.25.254.100 ##查询MX记录

DNS的反向解析

DNS反向解析的作用 

当客户设定当前dns服务器为dns解析服务器时,正向解析即为客户提供PRT记录

客户提供域名,dns服务器负责把域名解析成对应IP

实施方法 

  1. 编写zones文件设定要维护的域 

]# vim /etc/named.rfc1912.zones

...

zone "254.25.172.in-addr.arpa" IN {

type master;

file "172.25.254.ptr";

allow-update { none; };

};

  1. 根据zones文件中的指定生成A记录文件

]# cd /var/named/

]# cp -p named.loopback 172.25.254.ptr

]# vim 172.25.254.ptr

$TTL 1D

@ IN SOA dns.easylee.org. root.easylee.org. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS dns.easylee.org.

dns A 172.25.254.100

111 PTR bbs.easylee.org.

操作过程:

  1. 测试实验结果

]# dig -x 172.25.254.111 @172.25.254.100

DNS多向解析方案

在企业中服务器不可能在同一个网段,不同网段的服务器是不是需要用多台dns来满足服务器需求?

根据这一企业需求我们可以在DNS中通过访问设置,让不同网段的服务器都解析到自己网段的相应地址 这就是DNS多项解析。

配置实验环境

在当前网卡中添加所需网段IP

在添加完毕这个 IP ens160 这块网卡上就有两个 IP
172.25.254.100
192.168.0.100

我们用这两个不同网段的IP来模拟多网段

主机:

NET:

实施方法

1.注释在主配置文件中默认的zone语句块

/*
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
*/
DNS 配置语法中 /* 表示注释开始 */表示注释结束

2.添加view语句块来限制访问数据走向

view net-172 {
match-clients { 172.25.254.0/24; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
};
view net-192 {
match-clients { 192.168.0.0/24; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc192.zones";
};
view 中的 match-clients是用来匹配访问来源的
匹配访问来源可以填写多个,每个之间用空格分隔

3.生成并配置zones文件

]# cp -p /etc/named.rfc1912.zones /etc/named.rfc192.zones
]# vim /etc/named.rfc192.zones
zone "easylee.org" IN {
type master;
file "easylee-192.org.zone";
allow-update { none; };

4.生成并配置A记录文件

]# cp -p /var/named/easylee.org.zone /var/named/easylee-192.org.zone
]# vim /var/named/easylee-192.org.zone
$TTL 1D
@                                 IN SOA dns.easylee.org. root.easylee.org. (
                                                                         0 ; serial
                                                                        1D ; refresh
                                                                        1H ; retry
                                                                        1W ; expire
                                                                        3H ) ; minimum
                                            NS        dns.easylee.org.
dns                   A                                             192.168.0.100
www            CNAME                                     node.a.easylee.org.
node.a              A                                             192.168.0.101
node.a              A                                            192.168.0.102
easylee.org.   MX 5                                         192.168.0.111.
注意: 修改完毕配置文件后一定要重启服务

主从DNS服务器

为了提高域名服务器的可靠性, DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个就 是主DNS 服务器( Master name server ),负责解析至少一个域。其他的是辅助(从) DNS 服务器 (Slave name server ):负责解析至少一个域,是主 DNS 服务器的辅助。当主域名服务器出故障时,辅 助域名服务器可以保证DNS 的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中, 而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性

1.配置实验环境

  • 新建一台主机作为辅助DNS主机,并配置好网络和软件仓库
  • 在新建主机中安装DNS服务并保证服务可以被访问

2.对辅助DNS进行配置

修改 zones文件设定要做主从的域
]# vim /var/named/easylee-192.org.zone
zone "easylee.org" IN {
type slave;
masters { 172.25.254.100; };
file "slaves/easylee.org.zone";
// allow-update { none; };
};
                                        

3.启动服务并测试

]# systemctl enable --now named
]# dig -t A www.easylee.org @172.25.254.200
以上操作除了测试命令外都在辅助 dns 中进行,在实验进行时一定要分清楚那个是主 dns 那个是辅助 dns

4.解决数据时时同步问题

主从 dns 经过上述设定后存在数据同步延迟,在主 dns 中更改数据后要等到下个同步周期的时间到来才能
进行同步
下面我们就来解决下数据同步的延迟问题
1. 在主 dns中设置数据更改后主动通知对象
]# vim /etc/named.rfc1912.zones
zone "easylee.org" IN {
type master;
file "easylee.org.zone";
allow-update { none; };
also-notify { 172.25.254.200; };
};
2. 更改 A记录文件测试结果
]# vim /var/named/easylee.org.zone
$TTL 1D
@ IN SOA dns.easylee.org. root.easylee.org. (
                                      202303290     1 ; serial # 更改 A 记录后一 定要更新serial
                                                             1D ; refresh#每隔1天来同步一次数据
                                                             1H ; retry#每隔1小时重新连接同步一次
                                                              1W ; expire#持续一周连接
                                                             3H ) ; minimum#最小的同步时间3小时
                              NS                 dns.easylee.org.
dns                         A                   172.25.254.100
www                 CNAME               node.a.easylee.org.
node.a                   A                    172.25.254.200
node.a                   A                    172.25.254.202
easylee.org.         MX 5               172.25.254.111.
注意:serial 值必须是增量更改,其最大位数为 10 位,在企业中一般会用这个数字来记录更改时间
3. 测试数据同步性
]# dig -t A www.easylee.org @172.25.254.100
]# dig -t A www.easylee.org @172.25.254.200
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值