域名服务器说明
-
根域名服务器: 全球总计只有十三台服务器,记录了所有顶级域名服务器服务器的地址。
-
根域名服务器知道 *.com,*.net,*.uk,*.jp….. 等等这些服务器的地址。
-
-
顶级域名服务器:记录了所有权威域名服务器的地址 (区域:*.com)
-
权威域名服务器:记录了所有区域内站点的ip地址。(区域:*.网站名.com )
-
本地域名服务器: 缓存访问过的网站的域名信息。
域名解析的过程
搭建DNS域名解析服务器
dns服务相关软件安装
-
安装
# 如果不知道dns服务器的软件包的名称 可以去搜索dns关键字
[root@server ~]# dnf search dns // 搜索
…
bind.aarch64 : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System)
: server
…
dnf install bind -y #软件即可完成安装
/etc/named.conf :该文件是主配置文件
-
options:dns服务器选项设置
-
logging: 日志的配置
-
zone : 区域管理配置
-
include:引用到的子配置
options{
listen-on port 53 { 172.25.254.100; }; #监听的端口号和ip
…
allow-query { 172.25.254.0/24; }; #允许访问的网段
}
-
/etc/named.rfc1912.zones :这里区域管理配置文件
-
/var/named : 该目录存放着详细的域名解析配置文件
正向解析服务器搭建
1.设置主配置文件
[root@server ~]# vim /etc/named.conf
…
9
10 options {
11 listen-on port 53 { 192.168.25.100; };
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 secroots-file "/var/named/data/named.secroots";
18 recursing-file "/var/named/data/named.recursing";
19 allow-query { 192.168.25.0/24; };
20
…
[root@server ~]# systemctl enable –now named.service
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
[root@server ~]#
2.设置区域文件
[root@Server ~]# vim /etc/named.rfc1912.zones
…
28
29 zone "zhangsan.org" IN{
30 type master;
31 file "zhangsan.org.zone" # 文件的绝对路径 /var/named/heroliu.org.zone
32 };
…
3.设置域名解析文件
[root@server ~]# cd /var/named
[root@Server named]# cp -p named.localhost heroliu.org.zone # 通过复制模创建区域解析文件
[root@server named]# vim zhangsan.org.zone
…
1 $TTL 1D # 域名存活时间是一天
2 @ IN SOA dns.zhangsan.org. mail.admin.zhangsan. (
3 2025042002 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.zhangsan.org.
11 dns A 192.168.25.100
13 image A 192.168.25.101
14 www A 192.168.25.102
…
4.开启/重启服务
[root@Server named]# systemctl start/restart named
5.将客户端的网络设置中dns指向本地dns服务器
//4.客户端修改dns指向自己的dns服务器
# [root@Client ~]# dnf install bind-utils -y #安装测试工具
# [root@Client ~]# nmcli connection modify xxxx(你的会话文件名,如ens160) ipv4.dns # 172.25.254.100
# [root@Client ~]# nmcli connection reload
# [root@Client ~]# nmcli connection up xxxx(你的会话文件名,如ens160)
# 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@Client ~]# dnf install bind -y
[root@client ~]# nmcli connection modify ens160 ipv4.dns 192.168.25.100
[root@client ~]# nmcli connection reload
[root@client ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@client ~]#
6.在客户端验证能否解析
[root@client ~]# nslookup www.zhangsan.org
Server: 192.168.25.100
Address: 192.168.25.100#53
Name: www.zhangsan.org
Address: 192.168.25.102
[root@client ~]# nslookup dns.zhangsan.org
Server: 192.168.25.100
Address: 192.168.25.100#53
Name: dns.zhangsan.org
Address: 192.168.25.100
反向解析服务器
如果说 正向解析:通过 域名 -> ip
那么 反向解析: 通过 ip -> 域名
1.设置主配置文件
[root@Server ~]#vim /etc/named.conf
..
options{
listen-on port 53 { 172.25.254.100; };
…
allow-query { 172.25.254.0/24; };
}
2.设置区域文件
# 创建反向解析的区域配置
[root@Server named]# vim /etc/named.rfc1912.zones
…
46 zone "25.168.192.in-addr.arpa" IN {
47 type master;
48 file "192.168.25.arpa";
49 };
50
…
# 检查etc下的配置文件是否ok
[root@server named]# named-checkconf
3.设置反向解析的解析文件
[root@Server named]# cd /var/named
[root@server named]# cp -p named.loopback 192.168.25.arpa
[root@server named]# vim 192.168.25.arpa
…
1 $TTL 1D
2 @ IN SOA dns.zhangsan.org. rname.invalid. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.zhangsan.org.
9 dns.zhangsan.org. A 192.168.25.100
10 101 PTR image.zhangsan.org.
11 102 PTR www.zhangsan.org.
12 100 PTR dns.zhangsan.org.
…
[root@server named]# named-checkzone 25.168.192.in-addr.arpa 192.168.25.arpa
192.168.25.arpa:9: ignoring out-of-zone data (dns.zhangsan.org)
zone 25.168.192.in-addr.arpa/IN: loaded serial 0
OK
4.重启服务
[root@server named]# systemctl restart named
5.在客户端使用nslookup 通过ip后去域名
[root@client ~]# nslookup 192.168.25.100
100.25.168.192.in-addr.arpa name = dns.zhangsan.org.
[root@client ~]# nslookup 192.168.25.101
101.25.168.192.in-addr.arpa name = image.zhangsan.org.
[root@client ~]# nslookup 192.168.25.102
102.25.168.192.in-addr.arpa name = www.zhangsan.org.
主从DNS服务
主服务器设置
1.DNS指向自己
[root@server named]# nmcli connection modify ens160 ipv4.dns 192.168.25.100
[root@server named]# nmcli connection reload
[root@server named]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@server named]#
2.每一个区域配置文件中添加一个 转发从服务器的设置allow-transfer { 192.168.25.200; };
[root@server named]# vim /etc/named.rfc1912.zones
…
28
29 zone "zhangsan.org" IN{
30 type master;
31 file "zhangsan.org.zone";
32 allow-transfer{192.168.25.200;};
33 };
47 zone "25.168.192.in-addr.arpa" IN {
48 type master;
49 file "192.168.25.arpa";
50 allow-transfer{192.168.25.200;};
51 };
…
3.在正/反数据解析配置文件中,添加从服务器dns设置
# 正向数据解析配置文件中
[root@server named]# vim zhangsan.org.zone
…
8 NS dns.zhangsan.org.
9 NS slave.zhangsan.org.# 新增
10 dns A 192.168.25.100
11 slave A 192.168.25.200# 新增
…
# 反向数据解析配置文件中
[root@server named]# vim 192.168.25.arpa
…
8 NS dns.zhangsan.org.
9 NS slave.zhangsan.org.
13 200 PTR slave.zhangsan.org.
…
4.重启
[root@server named]# systemctl restart named
从服务器设置
1.安装bidn及DNS指向自己
[root@Client ~]# dnf install bind -y
[root@client ~]# nmcli connection modify ens160 ipv4.dns 192.168.25.200
[root@client ~]# nmcli connection reload
[root@client ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@client ~]#
2.设置主配置文件
[root@Client ~]# vim /etc/named.conf
…
11 listen-on port 53 { 192.168.25.200; };
19 allow-query { 192.168.25.0/24; };
…
3.添加区域信息 type slave;设置masters {172.25.254.100;};设置正反向数据解析配置文件的保存位置,必须在slaves(/var/named/slaves)
[root@client ~]# vim /etc/named.rfc1912.zones
…
zone "zhangsan.org" IN {
type slave;
file "slaves/zhangsan.org.zone";
masters {192.168.25.100;};
};
zone "25.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.25.arpa";
masters {192.168.25.100;};
};
…
4.重启
[root@client ~]# systemctl restart named
检测主从是否生效
# 从服务器因为dns设置的是自己 如果也可以实现域名解析说明,主从设置成功
[root@client ~]# nslookup www.zhangsan.org
Server: 192.168.25.200
Address: 192.168.25.200#53
Name: www.zhangsan.org
Address: 192.168.25.102
[root@client ~]# nslookup dns.zhangsan.org
Server: 192.168.25.200
Address: 192.168.25.200#53
Name: dns.zhangsan.org
Address: 192.168.25.100
[root@client ~]# nslookup 192.168.25.101
101.25.168.192.in-addr.arpa name = image.zhangsan.org.
[root@client ~]# dig @192.168.25.100 dns.zhangsan.org
; <<>> DiG 9.16.23-RH <<>> @192.168.25.100 dns.zhangsan.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63011
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 06506cea86bf21e3010000006804f093cc70e23d363ee556 (good)
;; QUESTION SECTION:
;dns.zhangsan.org. IN A
;; ANSWER SECTION:
dns.zhangsan.org. 86400 IN A 192.168.25.100
;; Query time: 2 msec
;; SERVER: 192.168.25.100#53(192.168.25.100)
;; WHEN: Sun Apr 20 21:03:15 CST 2025
;; MSG SIZE rcvd: 89
[root@client ~]#
增量区域传送
-
功能:仅复制区域里变化的文件
-
第一步:主服务端操作,修改数据配置文件
[root@server ~]# vim /var/named/openlab.com.zone
1 $TTL 1D
2 @ IN SOA dns.zhangsan.org. mail.admin.zhangsan. (
3 2025042002 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.zhangsan.org.
9 NS slave.zhangsan.org.
10 MX 8 mail.zhangsan.org
11 dns A 192.168.25.100
12 slave A 192.168.25.200
13 image A 192.168.25.101
14 www A 192.168.25.102
15 www1 CNAME www #添加
16 mail A 192.168.25.103 # 添加
# 注意:1 ; serial 处的序号数字必须加1,否则从服务端不更新
-
第二步:主服务端操作,重启服务
[root@server named]# systemctl restart named
-
第三步:从服务端操作,重启服务
[root@client ~]# systemctl restart named
-
第四步:从服务端操作,测试
[root@client ~]# nslookup mail.zhangsan.org
Server: 192.168.25.200
Address: 192.168.25.200#53
Name: mail.zhangsan.org
Address: 192.168.25.103
[root@client ~]# nslookup www1.zhangsan.org
Server: 192.168.25.200
Address: 192.168.25.200#53
www1.zhangsan.org canonical name = www.zhangsan.org.
Name: www.zhangsan.org
Address: 192.168.25.102
[root@client ~]#
注意:
-
序号需要比原序号大(一般改一次加一)
-
更新频率可以改小一点,这样比较快看到实验结果(如 1D ; refresh>>3S ; refresh)
-
需要写一条关于从服务器的NS和A记录,不然新增的数据有时能更新有时无法更新
评论前必须登录!
注册