文章目录
1. DNS信息
1.1 DNS域名系统
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
域名解析:
当一台机器a向其域名服务器A发出域名解析请求时,如果A可以解析,则将解析结果发给a,否则,A将向其上级域名服务器B发出解析请求,如果B能解析,则将解析结果发给a,如果B无法解析,则将请求发给再上一级域名服务器C,如此下去,直至解析到为止。
1.2 DNS名词解释
1.2.1 客户端
- DNS指向文件:/etc/resolv.conf
nameserver 172.25.254.127
- 地址解析命令:
host www.baidu.com
- 地址详细解析信息命令:
dig www.baidu.com
dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。
@<服务器地址> | 指定进行域名解析的域名服务器; |
-b< ip地址 > | 当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求; |
-f<文件名称> | 指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息; |
-P | 指定域名服务器所使用端口号; |
-t<类型> | 指定要查询的DNS数据类型; |
-x< IP地址 > | 执行逆向域名查询; |
-4 | 使用IPv4; |
-6 | 使用IPv6; |
-h | 显示指令帮助信息 |
#网络类型:
IN:表示网络是Internet
#基本记录:
A:ip地址叫做域名的Address 记录
AAAA:域名到IPV6的映射
PTR:Printer,反向,ip到域名
#可选记录:
MX:代表域内的邮件服务器
CNAME:域名的别名
#区记录:
SOA:start of authority ,授权起始主机(标示域内主dns服务器)
NS:代表域内的dns服务器,标示授权子域
- DNS域名空间结构
域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,包括主机名和域名。DNS数据库中的名称形成一个分层树状结构称为域命名空间
|
|
|
|
|
|
|
|
1.2.2 服务端
- 安装包:bind
- 服务名称:named
- 主配置文件:/etc/named.conf
- 数据目录:/var/named
- 端口:53
1.2.3 报错信息
- no servers could reached:
服务无法访问 (服务是否开启 火墙 网络 端口)
- 服务重启失败:配置文件写错
dig
查询状态
NOERROR #表示查询成功
REFUSED #服务拒绝访问
SERVFAIL #查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN #此域名A记录在dns中不存在
2. DNS服务的安装与启动
- 安装DNS
dnf install bind.x86_64 -y
- 启动DNS
systemctl enable --now named.service #启动服务
firewall-cmd --permanent --add-service=dns #在火墙中添加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
:重启服务
3. 高速DNS解析
实验环境:
DNS服务器端:node1:192.168.43.101
客户端:node2:192.168.43.111
3.1 服务器端配置
vim /etc/named.conf
:修改DNS主配置文件
forwarders {
114.114.114.114; }; #转发目的DNS服务器IP地址
systemctl restart named
:重启服务
3.2 客户端配置并检测
vim /etc/resolv.conf
:修改DNS指向
nameserver 192.168.43.101 #DNS主机IP
dig www.baidu.com
(第一台客户端主机dig后,其他客户端主机再次dig,非常快)
4. DNS正向解析(1)
正向解析:根据主机名(域名)查找对应IP地址
实验环境:
DNS服务器端:node1:192.168.43.101
客户端:node2:192.168.43.111
4.1 正向解析(1)服务器端
vim /etc/named.rfc1912.zones
:定义区文件
zone "XXX" IN {
#维护的域名(定义对XXX的解析)
type master; #当前服务器位 主DNS
file "XXX.zone"; #域名A记录文件名(解析配置文件名)
allow-update {
none; }; #允许更新主机列表
};
-
cp -p /var/named/named.localhost /var/named/XXX.zone
:复制指向文件模板到自定义解析文件 -
vim /var/named/XXX.zone
:编辑自定义正向解析文件
cp -p /var/named/named.localhost /var/named/westos.org.zone
vim /var/named/westos.org.zone
# dns=dns.westos.org
# dns.westos.org.=dns.westos.org
$TTL 1D #TIME-TO-LIVE(DNS地址保存时间长长度)
@ IN SOA dns.westos.org. westos.westos.org. (
# @代替westos.org(写全域名后必须有".")
#SOA 授权起始(Start of Authority)
0 ; serial #域名版本序列号
1D ; refresh #刷新间隔
1H ; retry #重试间隔
1W ; expire #过期间隔(查询失败后超过一周,停止应答)
3H ) ; minimum #记录最短有效期
NS dns.westos.org. #NS记录,授权的子域
dns A 192.168.43.101
www A 192.168.43.222 #A:Address 正向解析记录
systemctl restart named
:重启服务
4.2 正向解析(1)客户端
dig dns.westos.org
dig www.westos.org
dig hello.westos.org
:域名不存在,解析失败
5. DNS正向解析(2)
此实验为域名相同,IP地址不同时,dig解析到的地址轮流变换
实验环境:
DNS服务器端:node1:192.168.43.101
客户端:node2:192.168.43.111
5.1 正向解析(2)服务器端
vim /var/named/westos.org.zone
:编辑自定义正向解析文件
$TTL 1D
@ IN SOA dns.westos.org. westos.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 192.168.43.101
www A 192.168.43.111
bbs CNAME test.westos.org.
test A 192.168.43.222
test A 192.168.43.233
systemctl restart named
:重启服务
5.2 正向解析(2)客户端
dig bbs.westos.org
===> 111 与 222 变换
dig test.westos.org
===> 111 与 222 变换
6. DNS正向解析(3)邮件解析
实验环境:
DNS服务器端:node1:192.168.43.101
客户端:node2:192.168.43.111
6.1 DNS邮件解析服务器端
vim /var/named/westos.org.zone
:编辑自定义正向解析文件
$TTL 1D
@ IN SOA dns.westos.org. westos.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 192.168.43.101
www A 192.168.43.111
bbs CNAME test.westos.org.
test A 192.168.43.222
test A 192.168.43.233
westos.org. MX 1 192.168.43.101. #邮件解析记录
systemctl restart named
:重启服务
6.2 DNS邮件解析客户端
dig -t mx westos.org
:查询DNS邮件类型(成功!)
dnf install postfix mailx -y
:安装相应工具
postfix:邮件服务器
mailx:邮件发送工具
systemctl start postfix.service
:打开邮件服务firewall-cmd --permanent --add-port=25/tcp
:在火墙中永久添加25端口firewall-cmd --reload
:更新火墙规则mail [email protected] 发送邮件
("." + 回车 邮件发送完毕)
7. DNS反向解析
反向解析:根据IP地址查找对应的主机域名;
实验环境:
DNS服务器端:node1:192.168.43.101
客户端:node2:192.168.43.111
7.1 反向解析服务器端
vim /etc/named.rfc1912.zones
:定义区文件
zone "43.168.192.in-addr.arpa" IN {
#定义对192.168.43.XXX的解析(IP反着写)
type master; #当前DNS服务器位
file "192.168.43.ptr"; #反向解析配置文件名
allow-update {
none; }; #允许更新主机列表
};
cp -p /var/named/named.loopback /var/named/192.168.43.ptr
:复制指向模板文件到自定义反向解析文件vim /var/named/192.168.43.ptr
:编辑自定义反向解析文件
$TTL 1D
@ IN SOA dns.westos.org. lee.westos.org. (
0 ; serial #域名版本序列号
1D ; refresh #刷新间隔
1H ; retry #重试间隔
1W ; expire #过期间隔
3H ) ; minimum #记录最短有效期
NS dns.westos.org. #NS记录,授权的子域
dns A 127.0.0.1
111 PTR www.westos.org. #PTR记录,反向解析
systemctl restart named
:重启服务
7.2 反向解析客户端
dig -x 192.168.43.111
:反向解析(解析此IP的域名)