DNS域名解析详解
·
DNS域名解析详解
一.DNS系统作用
DNS端口:53
正向解析:通过域名解析IP地址
反向解析:通过IP地址查找对应的域名
TCP的53端口用于连接DNS服务器
UDP的53端口用于解析DNS
二.DNS分布式数据结构
名词解释
根域
位于域名空间最顶层,一般用一个“.”表示
顶级域
一般代表一种类型的组织机构或国家地区,
如net(网络供应商)、.com(工商企业)、,org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)
二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理.
如 .cn 顶级域名下面设置的二级域名: .com.cn、.net.cn、.edu.cn
子域
二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
主机
主机位于域名空间最下层,就是一台具体的计算机
如 www、mail都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn.来表示,这种表示方式称为 EODN(完全合格域名,是指包含了所有域的主机名,其中包括根域),也是这台主机在域名中的全名
三.DNS工作原理
1.迭代查询
客户端发送DNS请求给根域服务器,根域服务器根据对应顶级域回复给客户端,客户端根据对应的顶级域发送给顶级服务器,然后解析出二级域发送给客户端,客户端根据对应的二级域发送给二级域服务器,二级域解析出对应的子域,客户端根据子域发送给对应的子域服务器,子域解析出对应的主机IP地址。
2.递归查询
客户端发送DNS请求到根域,根域收到后把解析请求发送给顶级域,顶级域收到后解析然后把请求发送给二级域,二级域解析后出域名,子域收到后根据域名解析出IP地址,后返回发送给二级域,二级域收到后把IP地址发送给顶级域,顶级域收到后发送给根域,最后根域把解析出来的IP地址发送给客户端。
四.实验
1.正向解析
步骤
1.安装bind软件
yum install -y bind
2.查看bind的配置文件
rpm -qc bind
3.修改第一个配置文件 /etc/named.conf
options {
listen-on port 53 { any; }; #大括号中修改为any,ip地址使用提供服务的本地IP即可
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 { any; }; #大括号中修改为any,允许使用本DNS解析服务器的网段,
4.修改第二个配置文件 /etc/named.rfc1912.zones
zone "xjx.com" IN { #正向解析xjx.com区域
type master; #类型为主区域
file "xjx.com.zone"; #指定区域数据文件为xjx.com.zone
allow-update { none; };
};
5.修改第三个配置文件
cd /var/named
cp -p named.localhost xjx.com.zone
vim xjx.com.zone
$TTL 1D
@ IN SOA xjx.com. admin.xjx.com. ( #当前dns区域名
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS xjx.com. #记录当前服务器区域名称
A 192.168.72.15 #记录本机IP地址
www IN A 192.168.72.16 #记录正向解析的IP地址
mail IN A 192.168.72.17
ftp CNAME www #CNAME使用别名,ftp为www的别名
* IN A 192.168.72.110 #泛域名解析。*代表任何主机
5.修改DNS配置文件
vim /etc/resolv.conf
地址修改为提供DNS域名解析的服务器地址。
6.关闭防火墙
systemctl stop firewalld
setenforce 0
systemctl start named
7.使用nsloopup/host/dig 解析域名
2.反向解析
1.正向解析时的第一个配置文件不需要在修改 /etc/named.conf
2. 修改/etc/named.rfc1912.zones
zone "72.168.192.in-addr.arpa" IN { #反向添加网段地址
type master;
file "xjx.com.zone.local"; #添加反向文件
allow-update { none; };
3.cd /var/named
cp -p named.localhost xjx.com.zone.local
vim xjx.com.zone.local
$TTL 1D
@ IN SOA xjx.com. admin.xjx.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS xjx.com.
A 192.168.72.15
15 IN PTR www.xjx.com.
16 IN PTR mail.xjx.com.
4.systemctl restart named
5.nslookup 检查
五.构建主、从域名服务器
1.构建主域名服务器正向、反向解析
正向解析
###修改主配置文件
vim /etc/named.conf
options{
###监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
listen-on port 53 { any; }; ***
###ipv6行如不使用可以注释掉或者删除
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";
###允许使用本DNS解析服务的网段,也可用any代表所有
allow-query { any; ***
......
};
###正向解析“. "根区域
zone "." IN {
###类型为根区域
type hint;
###区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
file "named.ca";
###包含区域配置文件里的所有配置
include "/etc/named.rfc1912.zones";
###修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912.zones
###文件里有模版,可复制粘贴后修改
###正向解析"xjx.com"区域(自定义域名,格式为XXX.tom)
zone "xjx.com" IN { ***
###类型为主区域
type master;
###指定区域数据文件为xjx.com.zone
file "xjx.com.zone"; ***
allow-transfer { 192.168.72.25; }; ***
};
###配置正向区域数据文件
cd /var/named/
###并保留源文件的权限和属主的属性复制
cp -p/-a named.localhost xjx.com.zone ***
vim /var/named/xjx.com.zone
###有效解析记录的生存周期
$TTL 1D
###“@”符号表示当前的DNS区域名
@ IN SOA xjx.com. admin.tsy.com.( ***
###更新序列号,可以是10位以内的整数(主从服务器该数值不可一样)
0 ; serial
###刷新时间,重新下载地址数据的间隔(一天)
1D ; refresh
###重试延时,下载失败后的重试间隔(一小时)
1H ; retry
###失效时间,超过该时间仍无法下载则放弃(一周)
1w ; expire
#无效解析记录的生存周期(三小时)
3H ; minimum)
###记录当前区域的DNS服务器的名称
NS xjx.com. ***
###记录主机IP地址
A 192.168.72.15 ***
###MX为邮件交换记录,数字越大优先级越低
IN MX 10 admin.xjx. com. ***
###记录正向解析www.tsy.com对应的IP
www IN A 192.168.72.15 ***
mail IN A 192.168.72.16 ***
#CNAME使用别名,ftp 是www的别名
ftp IN CNAME www ***
###泛域名解析,“*"代表任意主机名
* IN A 192.168.72.110 ***
反向解析
###修改主配置文件
vim /etc/named.conf
options{
###监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
listen-on port 53 { any; }; ***
###ipv6行如不使用可以注释掉或者删除
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";
###允许使用本DNS解析服务的网段,也可用any代表所有
allow-query { any; ***
......
};
###反向解析“. "根区域
zone "." IN {
###类型为根区域
type hint;
###区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
file "named.ca";
###包含区域配置文件里的所有配置
include "/etc/named.rfc1912.zones";
###修改区域配置文件,添加反向区域配置
vim /etc/named.rfc1912.zones
###文件里有模版,可复制粘贴后修改
###反向解析"xjx.com"区域(自定义域名,格式为XXX.tom) ***
zone "72.168.192.in-addr.arpa" IN { ***
###类型为主区域
type master; ***
###指定区域数据文件为xjx.com.zone.local
file "xjx.com.zone.local"; ***
allow-transfer { 192.168.72.25; }; ***
};
###配置反向区域数据文件
cd /var/named/
###并保留源文件的权限和属主的属性复制
cp -p/-a named.localhost xjx.com.zone.local ***
vim /var/named/xjx.com.zone.local ***
###有效解析记录的生存周期
$TTL 1D
###“@”符号表示当前的DNS区域名
@ IN SOA xjx.com. admin.tsy.com.( ***
###更新序列号,可以是10位以内的整数(主从服务器该数值不可一样)
20230419 ; serial
###刷新时间,重新下载地址数据的间隔(一天)
1D ; refresh
###重试延时,下载失败后的重试间隔(一小时)
1H ; retry
###失效时间,超过该时间仍无法下载则放弃(一周)
1w ; expire
#无效解析记录的生存周期(三小时)
3H ; minimum)
###记录当前区域的DNS服务器的名称
NS xjx.com. ***
###记录主机IP地址
A 192.168.72.15 ***
###记录反向解析www.tsy.com对应的IP
15 IN A www.xjx.com ***
16 IN A news.xjx.com ***
###关闭防火墙,启动服务
systemctl stop firewalld
setenforce 0
systemctl start named
2.构建从服务器的正向、反向解析
正向解析
###修改主配置文件
vim /etc/named.conf
options{
###监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
listen-on port 53 { any; }; ***
###ipv6行如不使用可以注释掉或者删除
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";
###允许使用本DNS解析服务的网段,也可用any代表所有
allow-query { any; ***
......
};
###正向解析“. "根区域
zone "." IN {
###类型为根区域
type hint;
###区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
file "named.ca";
###包含区域配置文件里的所有配置
include "/etc/named.rfc1912.zones";
###修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912.zones ***
###文件里有模版,可复制粘贴后修改
###正向解析"xjx.com"区域(自定义域名,格式为XXX.tom) ***
zone "xjx.com" IN { ***
###类型为从区域
type slave; ***
###定义主服务器的IP地址
masters { 192.168.72.15; }; ***
###指定区域数据文件为slaves/目录下的xjx.com.zone
file "slaves/xjx.com.zone"; ***
};
----------------------------------------------------------------
反向解析
###修改主配置文件
vim /etc/named.conf
options{
###监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
listen-on port 53 { any; }; ***
###ipv6行如不使用可以注释掉或者删除
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";
###允许使用本DNS解析服务的网段,也可用any代表所有
allow-query { any; ***
......
};
###反向解析“. "根区域
zone "." IN {
###类型为根区域
type hint;
###区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
file "named.ca";
###包含区域配置文件里的所有配置
include "/etc/named.rfc1912.zones";
###修改区域配置文件,添加反向区域配置
vim /etc/named.rfc1912.zones
###文件里有模版,可复制粘贴后修改
###反向解析"xjx.com"区域(自定义域名,格式为XXX.tom)
zone "72.168.192.in-addr.arpa" IN { ***
###类型为从区域
type slave; ***
###定义主服务器的IP地址
masters { 192.168.72.15; };
###指定区域数据文件为xjx.com.zone.local
file "slaves/xjx.com.zone.local"; ***
};
###关闭防火墙,启动服务
systemctl stop firewalld
setenforce 0
systemctl start named
更多推荐
已为社区贡献1条内容
所有评论(0)