DNS解析
作者:互联网
1、简述DNS服务器原理,并搭建主-辅服务器。
原理:
1).当应用过程需要将一个主机域名映射为IP地址时,就会将将待转换的域名放在DNS请求中,以UDP报文方式发给本地域名服务器
2).本地的域名服务器查到域名后,将对应的IP地址放在应答报文中返回;
3).同时域名服务器还必须具有连向其他服务器的信息以支持不能解析时的转发;
4).若域名服务器不能回答该请求,则此域名服务器就暂成为DNS中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定能找到下面的所有二级域名的域名服务器,这样以此类推,一直向下解析,直到查询到所请求的域名。
搭建主-辅服务器
实验环境:1.主服务器:Centos7.9 IP:192.168.31.78
2.辅服务器:kali 21 IP:192.168.31.228
3.测试机: ubuntu 20.04 IP:192.168.31.214
1).主服务器搭建
[root@Centos7 ~]# yum install bind -y
[root@Centos7 ~]# systemctl enable named.service --now
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@Centos7 ~]# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2021-09-06 01:07:27 CST; 6s ago
······
[root@Centos7 ~]# vim /etc/named.conf
options {
#监听所有IP端口
# 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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
允许所有主机查询
# allow-query { localhost; };
1.1).创建DNS的数据库文件,写入各项资源记录
[root@Centos7 ~]# vim /var/named/gw.com.zone
$TTL 1D
@ IN SOA ns1 admin (
0
1D
1H
1W
3H )
NS ns1
NS ns2
ns1 A 192.168.31.78
ns2 A 192.168.31.228
ftp A 1.1.1.1
db A 2.2.2.2
www CNAME websrv
websrv A 192.168.31.228
websrv A 192.168.31.16
@ MX mailsrv
mailsrc A 3.3.3.3
1.2).建立区域和数据库文件的对应关系
zone "gw.con" IN {
type master;
file "gw.com.zone"
};
1.3).检查主配置文件 named-checkconf
[root@Centos7 ~]# named-checkconf
[root@Centos7 ~]# named-checkzone gw.zone /var/named/gw.com.zone
zone gw.zone/IN: loaded serial 0
OK
[root@Centos7 ~]# rndc reload
server reload successful
2).从服务器的搭建
┌──(gw㉿GW)-[~]
└─$ sudo apt-get install bind9
┌──(gw㉿GW)-[~]
└─$ sudo systemctl enable named.service --now
Synchronizing state of named.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable named
Created symlink /etc/systemd/system/bind9.service → /lib/systemd/system/named.service.
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /lib/systemd/system/named.service.
┌──(root标签:gw,named,192.168,Centos7,etc,DNS,解析,root
来源: https://www.cnblogs.com/Gao-Wen/p/15230489.html