DNS必知
在 DNS 域名解析中,各种记录类型有不同的作用,以下是每种记录的通俗解释:
- A 记录:将域名解析为 IPv4 地址,即将域名映射到一个 IPv4 地址。例如,将 www.example.com 解析为 192.0.2.1。
- AAAA 记录:将域名解析为 IPv6 地址,即将域名映射到一个 IPv6 地址。例如,将 www.example.com 解析为 2001:0db8:85a3:0000:0000:8a2e:0370:7334。
- CNAME 记录:将域名解析为另一个域名,即指向一个别名。例如,将 www.example.com 解析为 example.com。
- MX 记录:将域名解析为邮件服务器地址,在邮件传输过程中起到重要作用。例如,将 example.com 解析为 mail.example.com。
- NS 记录:指定域名服务器的地址,即指定负责管理该域名的 DNS 服务器。例如,将 example.com 的域名服务器设置为 ns1.example.com 和 ns2.example.com。
- TXT 记录:可以用于存储任意文本数据,例如用于验证域名所有权、防止垃圾邮件等。例如,将 example.com 的 TXT 记录设置为 “v=spf1 mx ~all”。
- SRV 记录:指定服务的位置和端口,用于在域名解析中提供更多的信息。例如,将 _http._tcp.example.com 解析为 example.com 的 Web 服务器地址和端口。
- SOA 记录:指定域名的授权域名服务器和主要管理者的信息,包括域名的序列号、刷新时间、重试时间等。这个记录类型通常只有一个,用于指定域名的根管理服务器。
- PTR 记录:将 IP 地址解析为域名,即反向解析。例如,将 192.0.2.1 解析为 www.example.com。
DNS SRV
DNS“服务” (SRV) 记录为特定的服务(如 IP语音 (VoIP))、即时通讯等)指定主机和端口。大多数其他 DNS 记录只指定一个服务器或一个 IP 地址,但 SRV 记录还包括该 IP 地址的一个端口。一些互联网协议需要使用 SRV 记录才能运作
SRV 记录是在 DNS 中指定端口的方式。
SRV 记录中包含哪些内容?
一个 SRV 记录包含以下信息。我们在下面列出了每个字段的示例值。
-
服务 XMPP
-
原型 TCP
-
名称 example.com
-
TTL 86400
-
class IN
-
在提示下键入 SRV
-
优先级 10
-
权重 5
-
端口 5223
-
目标 server.example.com
"原型 "在传输协议中是“协议”的简称
TTL
-生存时间(Time To Live),表示解析记录在DNS服务器中的缓存时间,TTL
的时间长度单位是秒,一般为3600秒。比如:在访问www.example.com
时,如果在DNS服务器的缓存中没有该记录,就会向某个NS服务器发出请求,获得该记录后,该记录会在DNS服务器上保存TTL
的时间长度,在TTL
有效期内访问www.example.com
,DNS服务器会直接缓存中返回刚才的记录。
因此,我们的示例 SRV 记录实际上如以下所示:
_xmpp._tcp.example.com. 86400 IN SRV 10 5 5223 server.example.com。
在上面的示例中,“_xmpp”表示服务类型(XMPP 协议),“_tcp”表示 TCP 传输协议,而“example.com”是主机或域名。“Server.example.com”是目标服务器,“5223”表示该服务器内的端口。
SRV 记录必须指向一个 A 记录(在 IPv4 中)或一个 AAAA 记录(在 IPv6 中)。它们列出的服务器名称不能是 CNAME。因此,“server.example.com”必须直接指向该名称下的 A 或 AAAA 记录。
SRV 记录中的优先级和权重有什么区别?
SRV 记录表明它们列出的各种服务器的“优先级”和“权重”。SRV 记录中的“优先级”值让管理员能够优先考虑支持给定服务的一台服务器,而非另一服务器。具有较低优先级值的服务器将接收比其他服务器更多的流量。但是,“权重”值是相似的:权重较高的服务器将比具有相同优先级的其他服务器接收更多的流量。
它们之间的主要区别是,优先考虑优先级。如果有三台服务器,分别为服务器 A、服务器 B 和服务器 C,它们的优先级分别为 10、20 和 30,那么它们的“权重”无关紧要。该服务将始终先查询服务器 A。
但是假设服务器 A、B 和 C 的优先级均为 10——服务将如何在它们之间进行选择?这就是权重的用武之地:如果服务器 A 的“权重”值为 5,而服务器 B 和 C 的“权重”值分别为 3 和 2,则服务器 A 将接收最多的流量,服务器 B 将接收第二多的流量,服务器 C 排名第三
centos安装本地DNS服务
安装epel-release
yum install -y epel-release
在master安装Bind
[root@master ~]# yum install -y bind
[root@master ~]# rpm -qa bind
yum install bind # dns服务软件
yum install bind-chroot # dns服务的安全保护软件
yum install bind-utils # dns默认的查询工具,比如nslookup、host等
yum install bind-libs # dns类库文件,默认安装
配置bind
文件选项 | 文件名 | 说明 |
---|---|---|
主配置文件 | /etc/named.conf | 用于设置dns服务器的全局参数,并指定区域文件名 |
跟服务器信息文件 | /var/named/named.ca | 是缓存服务器的配置文件,通常不需要手动更改 |
主配文件正反向解析模板文件 | /etc/named.rfc1912.zones | 模板文件,实现主配置文件正反向解析的书写 |
正向区域文件 | /var/named/named.localhost | 模板文件,实现主机名到IP的正向解析 |
反向区域文件 | /var/named/named.loopback | 模板文件,实现IP到主机名的正向解析 |
[root@master ~]# vi /etc/named.conf # BIND进程的工作属性,区域的定义
13 listen-on port 53 { 192.168.31.171; }; # 监听本机IP
14 listen-on-v6 port 53 { ::1; }; # 删除,不监听IPV6
20 allow-query { any; }; # 允许所有主机查看
21 forwarders { 192.168.31.1; }; # 办公网上一级的DNS,(生产写运营商dns)
33 recursion yes; # dns采用递归的查询
35 dnssec-enable no; # 关闭,节省资源(生产可能不需要关闭)
36 dnssec-validation no; # 关闭,节省资源,不做互联网认证
检查配置文件是否正确
[root@master ~]# named-checkconf
[root@master ~]# echo $?
0
配置区域配置文件
[root@master ~]# vi /etc/named.rfc1912.zones
最后添加
zone "host.com" IN {
type master;
file "host.com.zone";
allow-update { 192.168.31.171; };
};
zone "lzlor.com" IN {
type master;
file "lzlor.com.zone";
allow-update { 192.168.31.171; };
};
配置区域数据文件
[root@master ~]# vi /var/named/host.com.zone
$ORIGIN host.com.
$TTL 600 ; 10 minutes
@ IN SOA dns.host.com. dnsadmin.host.com. ( # 区域授权文件的开始,OSA记录,dnsadmin.host.com为邮箱
2023020901 ; serial # 安装的当天时间
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.host.com. # NS记录
$TTL 60 ; 1 minute
dns A 192.168.31.171 # A记录
master A 192.168.31.171
node01 A 192.168.31.172
node02 A 192.168.31.173
[root@master ~]# vi /var/named/lzl.com.zone
$ORIGIN lzl.com.
$TTL 600 ; 10 minutes
@ IN SOA dns.lzl.com. dnsadmin.lzl.com. (
21110203 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.lzl.com.
$TTL 60 ; 1 minute
dns A 192.168.31.171
master A 192.168.31.171
harbor A 192.168.31.171
node01 A 192.168.31.172
node02 A 192.168.31.173
检测区域数据文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vx7EYDT5-1688087511828)(./assets/image-20230630090456591.png)]
更改文件的属组,权限
[root@master named]# chown root:named /var/named/host.com.zone
[root@master named]# chown root:named /var/named/lzl.com.zone
[root@master named]# chmod 640 /var/named/host.com.zone
[root@master named]# chmod 640 /var/named/lzl.com.zone
启动named
[root@master named]# systemctl restart named
[root@master named]# systemctl enable named
查看启动端口
[root@master named]# netstat -luntp | grep 53
验证解析
更改客户端dns
nmcli connection modify ens33 ipv4.dns 192.168.31.171
nmcli connection modify ens33 ipv4.dns-search lzl.com #使用短域名
nmcli connection up ens33 #立即生效
如直接修改/etc/resolv.conf文件后重启配置会丢失