1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > DNS正向域名解析之bind

DNS正向域名解析之bind

时间:2018-09-05 08:59:47

相关推荐

DNS正向域名解析之bind

DNS查询类型

递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询

完整的查询请求经过的流程

Client -->hosts文件 --> Client DNS Service Local Cache --> DNS Server (recursion递归) --> DNS Server Cache -->DNS iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…

解析形式

正向:FQDN( Fully Qualified Domain Name) --> IP反向: IP --> FQDN

各种资源记录

记录类型:A, AAAA, PTR, SOA, NS, CNAME, MXSOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录A:internet Address,作用,FQDN --> IPAAAA:FQDN --> IPv6PTR:PoinTeR,IP --> FQDNNS:Name Server,专用于标明当前区域的DNS服务器CNAME : Canonical Name,别名记录MX:Mail eXchanger,邮件交换器TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等,

资源记录定义的

name [TTL] IN rr_type value

注意:

TTL可从全局继承使用 “@” 符号可用于引用当前区域的域名同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通

过多个不同的名字可以找到同一个主机

安装软件

[root@localhost ~]# dnf install -y bind bind-utils

3.2 BIND包相关文件

BIND主程序:/usr/sbin/named服务脚本和Unit名称:/etc/rc.d/init.d/named,/usr/lib/systemd/system/named.service主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key管理工具:/usr/sbin/rndc:remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1连接named进程,提供辅助性的管理功能;953/tcp解析库文件:/var/named/ZONE_NAME.ZONE注意:(1) 一台物理服务器可同时为多个区域提供解析(2) 必须要有根区域文件;named.ca(3) 应该有两个(如果包括ipv6的,应该更多)实现localhost和本地回环地址的解析库

主配置文件

全局配置:options {};日志子系统配置:logging {};区域定义:本机能够为哪些zone进行解析,就要定义哪些zonezone "ZONE_NAME" IN {};注意:任何服务程序如果期望其能够通过网络被其它主机访问,至少应该监听在一个能与外部主机通信的IP地址上缓存名称服务器的配置:监听外部地址即可dnssec: 建议关闭dnssec,设为no

正向主服务器

搭建DNS正向主服务器,实现web服务器基于FQDN的访问

环境要求

需要三台主机DNS服务端:172.31.0.38web服务器:172.31.0.48DNS客户端:172.31.0.18

前提准备

关闭SElinux[root@localhost ~]# sed -ri 's/^(SELINUX=).*/\1disabled/' /etc/selinux/config关闭防火墙[root@localhost ~]# systemctl disable --now firewalld时间同步

实现主DNS服务器

[root@localhost ~]# vim /etc/named.confoptions {//listen-on port 53 { 127.0.0.1; }; 这行注释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";secroots-file "/var/named/data/named.secroots";recursing-file "/var/named/data/named.recursing";//allow-query{ localhost; }; 这行注释

修改bind 配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones# #加上下面内容zone "longxuan.vip" IN {type master;file "longxuan.vip.zone";};

DNS区域数据库文件

[root@localhost ~]# cp -p /var/named/named.localhost /var/named/longxuan.vip.zone# 如果没有加-p选项,需要修改所有者或权限。chgrp named longxuan.vip.zonechmod 640 longxuan.vip.zone

改配置文件

[root@localhost ~]# vim /var/named/longxuan.vip.zone$TTL 1D@ IN SOA master admin.longxuan.vip. (050100 ; serial2H; refresh10M; retry1W; expire3D ) ; minimumNSmastermaster A 172.31.0.38wwwA 172.31.0.48

DNS区域数据库文件表示:

050100 ;序列号2H ;刷新时间10M ;重试时间1W ;过期时间1D ;否定答案的TTL值

rndc 命令

利用rndc工具可以实现管理DNS功能rndc 监听端口: 953/tcp命令格式:rndc COMMANDCOMMAND:status: 查看状态reload: 重载主配置文件和区域解析库文件reload zonename: 重载区域解析库文件retransfer zonename: 手动启动区域传送,而不管序列号是否增加notify zonename: 重新对区域传送发通知reconfig: 重载主配置文件querylog: 开启或关闭查询日志文件/var/log/messagetrace: 递增debug一个级别trace LEVEL: 指定使用的级别notrace:将调试级别设置为 0flush:清空DNS服务器的所有缓存记录

检查配置文件和数据库文件格式,并启动服务

[root@localhost ~]# named-checkconf[root@localhost ~]# named-checkzone longxuan.vip /var/named/longxuan.vip.zone zone longxuan.vip/IN: loaded serial 050100OK[root@localhost ~]# systemctl start named #第一次启动服务,启动成功后建议之后启动使用下面的启动命令[root@localhost ~]# rndc reloadserver reload successful

48服务器安装web

[19:22:41 root@centos8 ~]# yum install httpd -y

配置主页面

[19:23:30 root@centos8 ~]# echo 123longwang > /var/www/html/index.html

设置开机启动

[19:23:55 root@centos8 ~]# systemctl enable --now httpd

改18服务器的DNS指向38服务器

[11:31:37 root@sz-kx-centos8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0DNS1=172.31.0.38

重启网卡

[11:31:37 root@sz-kx-centos8 ~]# nmcli connection reload[11:32:11 root@sz-kx-centos8 ~]# nmcli connection NAME UUID TYPEDEVICE eth0 ea74cf24-c2a2-ecee-3747-a2d76d46f93b ethernet eth0 [11:32:17 root@sz-kx-centos8 ~]# nmcli connection up eth0Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

检查DNS是否生效

[11:32:22 root@sz-kx-centos8 ~]# cat /etc/resolv.conf# Generated by NetworkManagersearch comnameserver 172.31.0.38

安装bind-utils客户端验证

[11:34:25 root@sz-kx-centos8 ~]# yum install bind-utils -y

使用命令curl查看

[11:37:25 root@sz-kx-centos8 ~]# curl www.longxuan.vip123longwang

或者使用命令dig检查

dig只用于测试dns系统,不会查询hosts文件进行解析

[13:00:08 root@sz-kx-centos8 ~]# dig www.longxuan.vip; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8_3.1 <<>> www.longxuan.vip;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096; COOKIE: df511acaa3a808793567f781608f839736bb9834bf28a070 (good);; QUESTION SECTION:;www.longxuan.vip.INA;; ANSWER SECTION:www.longxuan.vip.86400INA172.31.0.48;; AUTHORITY SECTION:longxuan.vip.86400INNSmaster.longxuan.vip.;; ADDITIONAL SECTION:master.longxuan.vip.86400INA172.31.0.38;; Query time: 0 msec;; SERVER: 172.31.0.38#53(172.31.0.38);; WHEN: Mon May 03 13:01:11 CST ;; MSG SIZE rcvd: 126

实验一

当客户输入w或者多个w时域名解析报错如下:

[13:01:11 root@sz-kx-centos8 ~]# curl w.longxuan.vipcurl: (6) Could not resolve host: w.longxuan.vip[13:01:12 root@sz-kx-centos8 ~]# curl wwww.longxuan.vipcurl: (6) Could not resolve host: wwww.longxuan.vip

在DNS服务器添加泛域名解析如下:

[root@localhost named]# vim /var/named/longxuan.vip.zone$TTL 1D@ IN SOA master admin.longxuan.vip. (050100 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNSmastermaster A 172.31.0.38wwwA 172.31.0.48* A 172.31.0.48

重启服务

[root@localhost named]# rndc reloadserver reload successful

客户端重新验证

[13:57:48 root@sz-kx-centos8 ~]# curl wwww.longxuan.vip123longwang[13:58:36 root@sz-kx-centos8 ~]# curl wwwwwww.longxuan.vip123longwang[13:58:39 root@sz-kx-centos8 ~]# [13:58:39 root@sz-kx-centos8 ~]# curl w.longxuan.vip123longwang

实验二

当客户输入没有www报错如下:

[14:03:24 root@sz-kx-centos8 ~]# curl longxuan.vipcurl: (6) Could not resolve host: longxuan.vip[14:03:29 root@sz-kx-centos8 ~]# dig longxuan.vip; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8_3.1 <<>> longxuan.vip;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16770;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096; COOKIE: 84614510b5c973afbbb3aec6608f9244fc0c612bf22e209e (good);; QUESTION SECTION:;longxuan.vip.INA;; AUTHORITY SECTION:longxuan.vip.10800INSOAmaster.longxuan.vip. admin.longxuan.vip. 1 86400 3600 604800 10800;; Query time: 1 msec;; SERVER: 172.31.0.38#53(172.31.0.38);; WHEN: Mon May 03 14:03:49 CST ;; MSG SIZE rcvd: 118

在DNS服务器添加@本机域名如下:

$TTL 1D@ IN SOA master admin.longxuan.vip. (050100 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNSmastermaster A 172.31.0.38wwwA 172.31.0.48* A 172.31.0.48@ A 172.31.0.48

重启服务

[root@localhost named]# rndc reloadserver reload successful

客户端重新验证

[14:03:49 root@sz-kx-centos8 ~]# curl longxuan.vip123longwang[14:07:33 root@sz-kx-centos8 ~]# dig longxuan.vip; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8_3.1 <<>> longxuan.vip;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40065;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096; COOKIE: 961290535492e7cce123a1e4608f9327f24f52f4c123a043 (good);; QUESTION SECTION:;longxuan.vip.INA;; ANSWER SECTION:longxuan.vip.86400INA172.31.0.48;; AUTHORITY SECTION:longxuan.vip.86400INNSmaster.longxuan.vip.;; ADDITIONAL SECTION:master.longxuan.vip.86400INA172.31.0.38;; Query time: 0 msec;; SERVER: 172.31.0.38#53(172.31.0.38);; WHEN: Mon May 03 14:07:36 CST ;; MSG SIZE rcvd: 122

实验三

MX 记录,邮箱记录

[root@localhost named]# vim /var/named/longxuan.vip.zone$TTL 1D@ IN SOA master admin.longxuan.vip. (050100 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNSmastermaster A 172.31.0.38wwwA 172.31.0.48* A 172.31.0.48@ A 172.31.0.48@ MX10 mail1@ MX20 mail2mail1 A 172.31.0.200mail2 A 172.31.0.201

重启服务

[root@localhost named]# rndc reloadserver reload successful

客户端验证

[14:07:36 root@sz-kx-centos8 ~]# dig mail1@longxuan.vip

实验四

CNAME别名记录

[root@localhost named]# vim /var/named/longxuan.vip.zone$TTL 1D@ IN SOA master admin.longxuan.vip. (050100 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNSmastermaster A 172.31.0.38wwwCNAME cdn.longxuan.vip.cdnCNAME vip.longxuan.vip.vipA 172.31.0.48* A 172.31.0.48@ A 172.31.0.48@ MX10 mail1@ MX20 mail2mail1 A 172.31.0.200mail2 A 172.31.0.201

重启服务

[root@localhost named]# rndc reloadserver reload successful

客户端验证

[14:35:57 root@sz-kx-centos8 ~]# dig www.longxuan.vip; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8_3.1 <<>> www.longxuan.vip;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36532;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096; COOKIE: 814078f016db31384f9c94f1608f9a43ed6453aac61e9ff3 (good);; QUESTION SECTION:;www.longxuan.vip.INA;; ANSWER SECTION:www.longxuan.vip.86400INCNAMEcdn.longxuan.vip.cdn.longxuan.vip.86400INCNAMEvip.longxuan.vip.vip.longxuan.vip.86400INA172.31.0.48;; AUTHORITY SECTION:longxuan.vip.86400INNSmaster.longxuan.vip.;; ADDITIONAL SECTION:master.longxuan.vip.86400INA172.31.0.38;; Query time: 0 msec;; SERVER: 172.31.0.38#53(172.31.0.38);; WHEN: Mon May 03 14:37:56 CST ;; MSG SIZE rcvd: 162

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。