目录
一.DNS
DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。
正向解析:域名->IP
反向解析:IP->域名
DNS 域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,因此通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率
注意:主从服务器时间同步必须保持一致性、bind最好使用同一版本
二.域名分类
域名可分为三大类:
-
国家顶级域名:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(country code top-level domains,cc表示国家代码contry-code)。
-
通用顶级域名:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
-
基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。
三.域名服务器的类型划分
根据域名服务器起的作用,可以把域名服务器划分为以下类型:根域名服务器(最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址 )、顶级域名服务器(负责管理在该顶级域名服务器注册的二级域名 )、权限域名服务器(负责一个“区”的域名服务器 )、本地域名服务器、主从DNS服务器、缓存DNS服务器(不负责解析域,只是缓存域名解析的结果 )
四.主从DNS服务器部署
主从DNS服务器:为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个就是主DNS服务器(Master name server),负责解析至少一个域。其他的是辅助(从)DNS服务器(Slave name server):负责解析至少一个域,是主DNS服务器的辅助。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。
1.完全区域传送
将一个区域文件复制到多个从服务器上的过程称为区域传送,将主服务器的所有信息全部复制到从服务器中,称为完全区域传送,即复制整个区域文件
设备 | IP | 系统 |
---|---|---|
主服务器 | 192.168.74.129 | RHEL9.1 |
从服务器 | 192.168.74.128 | RHEL9.1 |
测试端 | 192.168.74.130 | RHEL9.1 |
1.1安装bind服务
[root@node1 ~]# yum install bind -y
[root@server ~]# yum install bind -y
1.2配置主DNS服务器(node1端)
a.设置dns主配置文件:
[root@node1 ~]# vim /etc/named.conf
listen-on port 53 { 192.168.74.129; }; #主服务器上192.168.74.129在监听53号端口
......
allow-query { any; }; #代表允许任何地址都可以进行地址查询
b.设置区域配置文件,正向解析配置:
[root@node1 ~]# vim /etc/named.rfc1912.zones
zone "openlab.com" IN {
type master;
file "openlab.com.zone";
allow-transfer { 192.168.74.128; }; #改为同步模式,格式为allow-transfer { 从服务器的IP地址; };
};
c.正向解析的数据配置文件:
[root@node1 named]# ls
data named.empty openlab.com.zone
dynamic named.localhost slaves
named.ca named.loopback
[root@node1 named]# cp -a named.localhost openlab.com.zone
[root@node1 named]# vim openlab.com.zone
$TTL 1D
openlab.com. IN SOA ns.openlab.com. alice.126.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
openlab.com. IN NS ns.openlab.com.
openlab.com. IN NS slave.openlab.com.
ns.openlab.com. IN A 192.168.74.129
slave.openlab.com. IN A 192.168.74.128
www.openlab.com. IN A 192.168.74.129
ftp.openlab.com. IN A 192.168.74.129
bbs.openlab.com. IN A 192.168.74.129
d.设置区域配置文件,反向解析配置:
[root@node1 ~]# vim /etc/named.rfc1912.zones
zone "74.168.192.in-addr.arpa" IN { # # 区域名使用倒置的网段号+.in-addr.arpa组成
type master;
file "192.168.74.arpa"; # 数据配置文件名使用网段号+.arpa组成
allow-transfer { 192.168.74.128; };
};
e.反向解析的数据配置文件(精简后):
[root@node1 named]# vim /etc/named.rfc1912.zones
[root@node1 named]# ls
data named.ca named.localhost openlab.com.zone
dynamic named.empty named.loopback slaves
[root@node1 named]# cp -a named.loopback 192.168.74.arpa
[root@node1 named]# vim 192.168.74.arpa
$TTL 1D
@ IN SOA ns.openlab.com. jenny.qq.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.openlab.com.
129 IN PTR ns.openlab.com.
128 IN PTR slave.openlab.com.
129 IN PTR www.openlab.com.
129 IN PTR ftp.openlab.com.
129 IN PTR bbs.openlab.com.
129 IN PTR mail.openlab.com.
1.3配置从DNS服务器(server端)
修改主配置文件:
[root@server ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.74.128; };
……
allow-query { any; };
修改区域配置文件:
[root@server ~]# vim /etc/named.rfc1912.zones
zone "openlab.com" IN {
type slave; # 服务类型变更为从
file "slaves/openlab.com.zone"; # 从服务器的数据配置文件存储位置必须为slaves目录下
masters { 192.168.74.129; }; # 设置主服务器的IP
};
zone "74.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.74.arpa";
masters { 192.168.74.129; };
};
1.4重启服务并测试
a.重启服务
[root@node1 named]# systemctl restart named
[root@server slaves]# systemctl restart named
b.测试
在node2上修改DNS服务器为node1端或server端的IP地址
[root@node2 ~]# vim /etc/NetworkManager/system-connections/ens160.nmconnection
[connection]
id=ens160
uuid=ba57a0fb-42b3-3723-b214-d4434b8cd456
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1692415997
[ethernet]
[ipv4]
address1=192.168.74.130/24,192.168.74.2
dns=192.168.74.128; #修改DNS服务器的IP地址
method=manual
[ipv6]
addr-gen-mode=eui64
method=auto
nslookup 命令主要用来诊断域名系统 (DNS) 基础结构的信息。查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。
2.增量区域传送
2.1主服务器node1端操作,修改数据配置文件:
[root@node1 named]# vim openlab.com.zone
$TTL 1D
openlab.com. IN SOA ns.openlab.com. alice.126.com. (
1 ; serial #修改,增加,要与之前的值不同,否则从服务器不会更新数据
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
openlab.com. IN NS ns.openlab.com.
openlab.com. IN NS slave.openlab.com.
openlab.com. IN MX 8 mail.openlab.com. #增加
ns.openlab.com. IN A 192.168.74.129
slave.openlab.com. IN A 192.168.74.128
mail.openlab.com IN A 192.168.74.129 #增加
mail.openlab.com. IN A 192.168.74.129
www.openlab.com. IN A 192.168.74.129
ftp.openlab.com. IN A 192.168.74.129
bbs.openlab.com. IN A 192.168.74.129
www1.openlab.com. IN CNAME www.openlab.com. #增加
2.2重启服务并测试
a.重启服务
[root@node1 named]# systemctl restart named
[root@server slaves]# systemctl restart named
b.测试
在node2上测试:
可以看到增加的域名可以查询出对应的IP地址