Kylin麒麟操作系统服务部署 | DNS服务部署
以下所使用的环境为:虚拟化软件:VMware Workstation 17 Pro
麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64
一、DNS服务概述
域名系统(Domain Name System,DNS)是互联网的核心应用服务,可以通过IP地址查询到域名,也可以通过域名查询到IP地址。IP地址是平面结构,不便于记忆;而DNS是层次结构,便于记忆。DNS在进行传输时使用TCP 53端口,其它时候则使用UDP 53端口。
域名(Domain Name):由一串用点分割的名字组成的Internet上某一条计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。
FQDN(Fully Qualified Domain Name):完全限定域名,由两部分组成:主机名+域名
正向解析:从FQDN转换到IP地址
反向解析:从IP地址转换到FQDN
区域:正向解析或反向解析中,每个域的记录都是一个区域
DNS域名查询过程
递归查询:域名服务器将最终查询结果返回给客户机,在域名服务器查询过程中,客户端一直处于等待状态。 迭代查询:域名服务器不能直接查询到主机地址,则按照提示指引依次查询
资源记录
资源记录类型说明A解析IPv4地址AAAA解析IPv6地址NSName Server域名服务器SOA起始授权记录,1个区域文件只允许存在唯一的SOA记录MX邮件交换资源记录CNAME别名记录PTRPTR记录用于反向地址解析DNS服务器功能
DNS角色说明主DNS服务器(Master)为客户端提供域名解析的主要区域,默认开启53端口。主DNS服务器故障,会启用辅助DNS服务器以提供服务。辅助DNS服务器(Slave)保持与主服务器的数据一致,提供容错能力、加快查询速度和分担主域域名服务器的负担缓存DNS服务器提供域名解析的缓存,本身不提供解析区域转发DNS服务器(forward)当DNS服务器的解析区域(包括缓存)中无法为当前的请求提供权威应答时,将请求转发到其它的DNS服务器,此时DNS的角色就是转发服务器二、hosts文件
/etc/hosts 文件是 Linux 和 Unix 系统中的一个重要文件,它用于将主机名映射到相应的 IP 地址。这个文件是一个简单的文本文件,每一行都包含一个 IP 地址和一个或多个与之对应的主机名(包括别名)。系统在进行域名解析时,会首先检查 /etc/hosts 文件,如果找到了相应的条目,就会直接使用该 IP 地址,而不会去查询 DNS 服务器。
hosts文件书写格式
IP地址 主机名/域名
Windows中也同样存在hosts文件,存储路径在
C:\Windows\System32\drivers\etc
三、Bind服务概述
BIND软件是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护,全称为Berkeley Internet Name Domain。该软件在DNS(域名系统)领域具有重要地位,是目前世界上使用最为广泛的DNS服务器软件之一。BIND默认使用UDP、TCP协议,使用端口53,、953(远程控制使用)。
Bind软件的主要程序包
bind:DNS的主要程序包 bind-chroot:为bind提供1个伪装的根目录以增强安全性工具 bind-utils:提供对DNS服务器的测试工具程序,包括dig、host和nslookup等(系统默认安装) bind-libs:进行域名解析必备的库名文件(系统默认安装)
4. Bind服务配置文件
主服务器程序:named.service 主配置文件:/etc/named.conf 区域配置文件:/etc/named.rfc1912.zones 区域解析目录:/var/named/ 正向区域模板文件:/var/named/named.localhost 反向区域模板文件:/var/named/named.loopback 配置文件语法验证命令:/usr/sbin/named.checkconf
配置文件说明全局配置文件:/etc/named.conf配置BIND的全局参数区域配置文件:/etc/named.rfc1912.zones定义解析区域的文件根域地址数据库文件:/var/named/named.ca记录Internet中13台根域服务器信息客户端配置文件:/etc/resolv.conf指定DNS服务器的IP地址主配置文件解析
options {# 全局参数
listen-on port 53{127.0.0.1;};# 指定bind侦听的IP地址
listen-on-v6 port 53{ ::1;};# 指定bind侦听的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";
secroots-file "/var/named/data/named.secroots";
recursing-file"/var/named/data/named.recursing";
allow-query { localhost;};# 允许发起查询的主机
recursion yes;# 启用递归查询
dnssec-enable yes;# 启用DNSSEC验证
dnssec-validation yes;
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
include "/etc/crypto-policies/back-ends/bind.config";};
logging {# 日志选项
channel default_debug {file"data/named.run";
severity dynamic;};};
zone "." IN {# 根区域文件参数type hint;file"named.ca";};
include "/etc/named.rfc1912.zones";# 引入其他域配置文件
include "/etc/named.root.key";区域配置文件解析
# 正向区域配置文件
zone "meaauf.com" IN {# meaauf.com正向解析域名type master;# 域名类型:master为主要区域file"meaauf.com.zone";# 区域解析文件名(默认位置存储在/etc/named下),通常命名[解析域名.zone]
allow-update { none;};# 是否允许动态更新};# 反向区域配置文件
zone "1.168.192.in-addr.arpa" IN {# 反向解析IP网段,注意要倒着写type master;file"named.loopback";
allow-update { none;};};
**master:**主DNS解析 **slave:**从DNS解析 **hint:**根域名解析(根提示域) **forward:**转发
正向区域解析文件解析
在区域文件,SOA记录和NS记录都必须存在。完整的域名必须以‘.’结尾,否则会加上当前域。
$TTL 1D # 域的默认生存时间TTL
@ IN SOA@ rname.invalid. (# @代表当前域,联系人/管理员(邮件格式)0; serial # 序列号,用于与辅助DNS对比数据的新旧
1D ; refresh # 刷新时间,辅助DNS向主DNS发送查询的时间
1H ; retry # 遇到错误的重试间隔
1W ; expire # 过期时间/失效时间
3H ); minimum # 不存在域名的TTL值
NS @ # NS为域名服务器,此处意思为域名服务器为当前域(@)
A 127.0.0.1
AAAA ::1
反向区域解析文件分析
具体含义和正向区域解析文件一致。
$TTL 1D
@ IN SOA@ rname.invalid. (0; serial
1D ; refresh
1H ; retry
1W ; expire
3H ); minimum
NS @
A 127.0.0.1
AAAA ::1
PTR localhost.五、区域模板文件复制注意事项
启动BIND后,查看named进程,可以看到该进程是由named用户运行的
普通复制模板文件,与原有的模板文件相对比,可以发现新复制的文件对于named用户来说没有任何权限
cd /var/named/
cp named.localhost copy.localhos
ll named.localhost copy.localhost
六、主DNS服务器部署
案例需求
正向记录反向记录资源记录dns.meaauf.com192.168.110.1A/PTRwww.meaauf.com192.168.110.2A/PTRweb.meaauf.comwww.meaauf.comCNAMEmail.meaauf.com192.168.110.3MX,1节点设计
主机网络信息说明Kylin-1192.168.110.1/24DNS服务器Kylin-2192.168.110.2/24测试客户端: Kylin-1配置:安装BIND服务及相关软件包
yum install-ybind bind-chroot bind-utils: Kylin-1配置:编辑DNS主配置文件
vim /etc/named.conf
# 编辑下列参数
listen-on port 53{ any;};
allow-query { any;};
: Kylin-1配置:编辑区域配置文件,添加正向区域和反向区域
vim /etc/named.rfc1912.zones
# 在末尾追加下列内容
zone "meaauf.com." IN {type master;file"meaauf.com.zone";
allow-update { none;};};
zone "110.168.192.in-addr.arpa" IN {type master;file"192.168.110.zone";
allow-update { none;};};: Kylin-1验证:检查配置文件
named-checkconf: Kylin-1配置:复制正向区域解析模板
cp-p /var/named/named.localhost /var/named/meaauf.com.zone # 添加 -p 保留原有的属性vim /var/named/meaauf.com.zone$TTL 1D
@ IN SOA@ rname.invalid. (0; serial
1D ; refresh
1H ; retry
1W ; expire
3H ); minimum
NS @
A 127.0.0.1
AAAA ::1
MX 1 mail.meaauf.com.
mail A 192.168.110.3
dns A 192.168.110.1
www A 192.168.110.2
web CNAME www.meaauf.com.: Kylin-1配置:复制反向区域解析模板
cp-p /var/named/named.loopback /var/named/192.168.110.zone
vim /var/named/192.168.110.zone$TTL 1D
@ IN SOA@ rname.invalid. (0; serial
1D ; refresh
1H ; retry
1W ; expire
3H ); minimum
NS @
A 127.0.0.1
AAAA ::1
MX 1 mail.meaauf.com.
1 PTR dns.meaauf.com.
2 PTR www.meaauf.com.
3 PTR mail.meaauf.com.: Kylin-1配置:启动配置DNS服务并加入到开机自启,调整防火墙策略
systemctl enable--now named.service
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload: Kylin-1验证:测试区域配置文件
named-checkzone meaauf.com /var/named/meaauf.com.zone
named-checkzone 110.168.192.in-addr.arpa /var/named/192.168.110.zone
: Kylin-2配置:将DNS指向Kylin-1
nmcli connection modify ens33 ipv4.dns 192.168.110.1
nmcli connection up ens33
: Kylin-2验证:使用nslookup命令测试
七、辅助DNS服务器部署
节点设计
主机网络信息说明Kylin-1192.168.110.1/24主DNS服务器Kylin-2192.168.110.2/24辅助DNS服务器Kylin-3192.168.110.3/24测试客户端: Kylin-2配置:安装BIND服务及相关软件包
yum install-ybind bind-chroot bind-utils: Kylin-2配置:编辑DNS主配置文件
vim /etc/named.conf
# 修改下列内容
listen-on port 53{ any;};
allow-query { any;};: Kylin-2验证:检查配置文件
named-checkconf: Kylin-2配置:编辑区域配置文件,添加正向区域和反向区域
vim /etc/named.rfc1912.zones
# 在末尾追加下列内容
zone "meaauf.com." IN {type slave;# 修改区域类型:slave辅助区域file"slaves/meaauf.com.zone";# 区域路径存储在slave目录下
masters {192.168.110.1;};# 指定主DNS地址};
zone "110.168.192.in-addr.arpa" IN {type slave;file"slaves/192.168.110.zone";
masters {192.168.110.1;};};: Kylin-2配置:启动配置DNS服务并加入到开机自启,调整防火墙策略
systemctl enable--now named.service
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload: Kylin-2验证:查看slaves目录下,此时可以看到区域传送过来的区域文件,查看区域文件的类型,可以看到类型为data,无法直接使用cat等命令查看文件内容
ll /var/named/slaves/
file /var/named/slaves/{meaauf.com.zone,192.168.110.zone}
: Kylin-3验证:将DNS指向Kylin-2
nmcli connection modify ens33 ipv4.dns 192.168.110.2
nmcli connection up ens33
: Kylin-3验证:使用nslookup命令测试
八、转发DNS服务器部署
条件转发与完全转发
案例需求
正向记录反向记录资源记录dns.meaauf.com192.168.110.1A/PTRwww.meaauf.com192.168.110.2A/PTRweb.meaauf.comwww.meaauf.comCNAMEmail.meaauf.com192.168.110.3MX,1节点设计
主机网络信息说明Kylin-1192.168.110.1/24DNS服务器Kylin-2192.168.110.2/24转发DNS服务器Kylin-3192.168.110.3/24测试客户端: Kylin-2配置:在上述的实验中已经配置好了DNS,需要将辅助DNS的相关配置修改为条件转发
vim /etc/named.rfc1912.zones
# 修改下列内容
zone "meaauf.com." IN {type forward;
forwarders {192.168.110.1;};};
zone "110.168.192.in-addr.arpa" IN {type forward;
forwarders {192.168.110.1;};};: Kylin-2配置:编辑配置文件,指示 BIND 不进行 DNSSEC 验证
vim /etc/named.conf
# 修改下列选项
dnssec-validation no;
: Kylin-2配置:验证配置文件,重新启动BIND
named-checkconf
systemctl restart named: Kylin-3验证:将DNS指向Kylin-2,验证DNS
nmcli connection modify ens33 ipv4.dns 192.168.110.2
nmcli connection up ens33
nslookup dns.meaauf.com
nslookup www.meaauf.com
页:
[1]