目录
- 一、DNS系统的作用
- DNS的介绍
- 1.1、通用的顶级域名
- 二、DNS域名解析(==面试题==)
- 三、DNS查询方式
- 递归查询
- 迭代查询
- 四、构建DNS域名服务器步骤
- 4.1、安装bind软件包
- 4.2、修改配置文件
- 4.3、域名的配置
- 修改区域配置文件,添加正向区域配置
- 4.4、覆盖文件
- 五、DNS反向查询
- 5.1、修改反向配置文件
- 设置var里面的配置文件
- 六、设置从域名服务器配置
- 七、设置DHCP和bind一起的配置
- 7.1、配置主域名服务器
- 7.2、配置备用域名服务器
- 7.3、设置dhcp
一、DNS系统的作用
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找到对应的域名
DNS系统的分布式数据结构
DNS的介绍
当 Windows 系统用户使用 nslookup hostname/domainname 命令时,DNS 会自动查找注册了主机名和 IP 地址的数据库,并返回对应的 IP 地址。
1.1、通用的顶级域名
以下是一个网站域名的字段介绍
二级域名下面是三级域名、四级域名等。命名树上任何一个节点的域名就是从这个节点到最高层的域名串起来,中间以 “ . ” 分隔。
二、DNS域名解析(面试题)
DNS 客户端进行域名 www.tsinghua.edu.cn 的解析过程如下:
1、 DNS 客户端向本地域名服务器发送请求,查询 www.tsinghua.edu.cn 主机的 IP 地址;
2、 本地域名服务器查询数据库,发现没有域名为 www.tsinghua.edu.cn 的主机,于是将请求发送给根域名服务器;
3、根域名服务器查询数据库,发现没有这个主机域名记录,但是根域名服务器知道 cn 域名服务器可以解析这个域名,于是将 cn 域名服务器的 IP 地址返回给本地域名服务器;
4、 本地域名服务器向 cn 域名服务器查询 www.tsinghua.edu.cn 主机的 IP 地址;
5、 cn 域名服务器查询数据库,也没有相关记录,但是知道 edu.cn 域名服务器可以解析这个域名,于是将 edu.cn 域名服务器的 IP 地址返回给本地域名服务器;
6、 本地域名服务器再向 edu.cn 域名服务器查询 www.tsinghua.edu.cn 主机 IP 地址;
7、 edu.cn 域名服务器查询数据库,也没有相关记录,但是知道 tsinghua.edu.cn 域名服务器可以解析这个域名,于是将 tsinghua.edu.cn 的域名服务器 IP 地址返回给本地域名服务器;
8、 本地域名服务器向 tsinghua.edu.cn 域名服务器查询 www.tsinghua.edu.cn 主机的 IP 地址;
9、 tsinghua.edu.cn 域名服务器查询数据库,发现有主机域名记录,于是给本地域名服务器返回 www.tsinghua.edu.cn 对应的 IP 地址;
10、 最后本地域名服务器将 www.tsinghua.edu.cn 的 IP 地址返回给客户端,整个解析过程完成
三、DNS查询方式
DNS 域名解析包括两种查询方式,一种是递归查询,另一种是迭代查询。
递归查询
DNS 服务器如果不能直接响应解析请求,它将继续请求其它的 DNS 服务器,直到查询域名解析的结果。查询的结果可以是域名主机的 IP 地址,或者是域名无法解析。无论哪种结果,DNS 服务器都会将结果返回给客户端。
迭代查询
如果 DNS 服务器查不到相应记录,会向客户端返回一个可能知道结果的域名服务器 IP 地址,由客户端继续向新的服务器发送查询请求。对域名服务器的迭代查询,只得到一个提示,则继续查询。
四、构建DNS域名服务器步骤
4.1、安装bind软件包
yum install -y bind
4.2、修改配置文件
rpm -qc bind 查询bind软件配置文件所在路径
/etc/named.conf 主配置文件
/etc/named.rfc1912.zones 区域配置文件
/var/named/named.localhost 区域数据配置文件
进入修改配置文件
vim /etc/named.conf
修改为本地的IP地址
options {
listen-on port 53 { 192.168.102.10;
;·监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
listen-on-v6 port 53 { ::1; };
#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";
内存统计文件的位置
allow-query { any; };
允许使用本DNS解析服务的网段,也可用any代表所有
4.3、域名的配置
修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912 .zones 文件里有模版,可复制粘贴后修改
zone "dznb.com" IN { 正向解析“dznb.com”区域
type master; 类型为主区域
file "dznb.com.zone"; 指定区域数据文件为dznb.com.zone
allow-update { none; };
};
4.4、覆盖文件
vim dznb.com.zone 设置
STTL 1D 有效解析记录的生存周期
@ IN SOA dznb.com. admin.dznb.com. ( “@"符号表示当前的DNS区域名
20230419 ;serial 更新序列号,可以是 10 位以内的整数
1D ; refresh 刷新时间,重新下载地址数据的间隔
1H ; retry 重试延时,下载失败后的重试间隔
1W ; expire 失效时间,超过该时时间仍无法下载则放弃
3H ) ;minimum 无效解析记录的生存周期
NS dznb.com. 记录当前区域的DNS服务器的名称
A 192.168.102.10 记录主机IP地址
www IN A 192.168.10.30 记录正向解析www.benet.com对应的IP
NEWS IN A 192.168.102.40
host IN CNAME www CNAME使用别名,ftp是www的别名
~ IN A 192.168.102.50 泛域名解析,“*"代表任意主机名
设置号后关闭防火墙
systemctl start named 单个网卡重新启动
systemctl restart network 网卡全部重新启动
netstat -lntup | grep :53
使用此命令看看显不显示53 ,显示的话就是启动了监听,不显示就说明没有启动
使用
vim /etc/resolv.conf 进入修改IP地址,不需要重启网卡设置
nslookup 域名 来查看配置成功没
五、DNS反向查询
在 DNS 查询中,客户端希望知道域名对应的 IP 地址,这种查询称为正向查询。大部分的 DNS 查询都是正向查询。与正向查询对应的,是反向查询。它允许 DNS 客户端通过 IP 地址查找对应的域名。
5.1、修改反向配置文件
vim /etc/named.rfc1912.zones
进入修改反向解析文件
cp -p named.localhost dznb.com.zone.local
覆盖相同类型的文件
设置var里面的配置文件
vim dznb.com.zone.local
进入配置文件
使用nslookup IP地址,可以查看成功没有
六、设置从域名服务器配置
设置新的Linux主机
systemctl stop firewalld
setenforce 0
关闭防火墙和安全
挂载和安装软件
vim /etc/named.conf
设置配置文件的IP地址
设置从服务器时,要先去主服务器里设置一下同意设置
allow-transfer { 192.168.102.2; };
反向和正向都要设置同意从服务器进入
systemctl restart named
设置完重启网卡
进入修改正反解析配置
把master改为slave 变成从的配置
masters { 192.168.102.10; };
意思是把主的IP地址允许访问
文件已经复制到slaves里
设置一个新Linux主机
vim /etc/resolv.conf
在里面添加主和备的IP地址
这样新主机就可以查找到对应的
从主的主机里把配置关了,新主机解析的话就是用备的配置来进行查找
字号4
如果解析不了地址,根目录就会给你解析
使用Windows系统来验证一下主和备,
如果把主的服务器关了,Windows会一直解析下去
vim /etc/resolv.conf
进入修改文件,加入一个search
加入search后就可以自动解析域名
七、设置DHCP和bind一起的配置
systemctl stop firewalld
setenforce 0
关闭防火墙
mount /dev/sr0 /mnt 进行挂载
yum install -y bind dhcp 安装相关的软件
7.1、配置主域名服务器
##########从服务器##########
vim /etc/named.conf
options {
listen-on port 53 { any; }; 使用any 也可为192.168.102.10(本机)
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";
allow-query { any; }; 使用any 也可为192.168.102.10(本机)
vim /etc/named.rfc1912.zones
设置正反配置文件,里面使用的IP地址为备的IP地址
cd /var/named/ 进入这个配置文件里
使用
cp -p named.localhost dznb.com.zone
cp -p named.localhost dznb.com.zone.local
进行覆盖相同的文件
systemctl restart named 重启网卡
如果出现报错就
journalctl -r -u named
vim /var/log/messages 查看内核文件日志找错
vim /etc/resolv.conf 进入修改主服务器的IP地址
nslookup www.dznb.com
nslookup 192.168.102.10
测试一下查看配置完成没有
7.2、配置备用域名服务器
vim /etc/named.rfc1912.zones
进入设置备用的配置文件
进入slaves里查看,可以看见文件已经在里面了,说明写入成功
7.3、设置dhcp
使用主服务器
vim /etc/dhcp/dhcpd.conf
进入dhcp的配置文件,如图所示叫你去以下目录里的文件里查找
cd /usr/share/doc/dhcp-4.2.5/
进入dhcp文件里
\cp -f dhcpd.conf.example /etc/dhcp/dhcpd.conf
从这个文件里继续复制到dhcpd.conf里
进入后把这两个命令条禁用掉,暂时不要用,把租期时间弄长一些
设置IP地址和网关,子网掩码,设置完后保存退出
systemctl start dhcpd
重启网卡,没有报错就是设置完毕,出现报错就可以查看日志来找出问题
全都设置好后可以在Windows主机上看看有没有传输到
cd /etc/sysconfig/network-scripts/ 进入设置网卡界面
ls 查看
vim ifcfg-ens33 进入网卡设置
在新的Linux主机里设置新的网卡设置
设置完后输入
vim /etc/resolv.conf 命令
就会发现系统给你自动补全解析的IP地址
search 是可以让你自动补全主机名的命令
使用nslookup www
会自动补全后面的主机名