###### 1.关于dns的名词解释 ######
dns:
domain name service(域名解析服务)
#关于客户端:#
/etc/resolv.conf ##dns指向文件
nameserver 172.25.254.39
#测试:
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ##ip地址叫做域名的Address 记录
SOA ##授权起始主机
dns顶级
. 13个
次级
.com .net .edu .org ....
baidu.com
#关于服务端#
bind ##安装包
named ##服务名称
/etc/named.conf ##主配置文件
/var/named ##数据目录
端口 ##53
关于报错信息:
1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在
###### 2.dns服务的安装与启用 ######
#安装#
dnf install bind.x86_64 -y
#启用#
systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
vim /etc/named.conf
11 listen-on port 53 { any; }; ##在本地所有网络接口上开启53端口
19 allow-query { any; }; ##允许查询A记录的客户端列表
34 dnssec-validation no; ##禁用dns检测使dns能够缓存外部信息到本纪
systemctl restart named
###### 3.高速缓存dns ######
20 forwarders { 114.114.114.114; };
###### 4.dns的正向解析 ######
vim /etc/named.rfc1912.zone
zone "westos.org" IN { ##维护的域名
type master; ##当前服务器位主dns
file "westos.org.zone"; ##域名A记录文件
allow-update { none; }; ##允许更新主机列表
};
cd /var/named/
cp -p named.localhost westos.com.zone
$TTL 1D #TIME-TO-LIVE(dns地址保存时间长度)
@ IN SOA dns.westos.org. root.westos.org . ( #SOA授权起始(Start of Authority)
0 ; serial #域名版本序列号
1D ; refresh #刷新时间(辅助dns)
1H ; retry #重试时间(辅助dns)
1W ; expire #过期时间(辅助dns,查询失败过期停止对辅助域名的应答)
3H ) ; minimum #A记录最短有效期
NS dns.westos.org.
dns A 127.25.254.239
www A 172.25.254.139 ##规范域名
systemctl restart named
dig www.westos.org #查询正向解析
$TTL 1D
@ IN SOA dns.westos.org. root.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 127.25.254.139
www CNAME lee.a
lee.a A 172.25.254.239
lee.a A 172.25.254.139
westos.org. MX 1 172.25.254.139. ##邮件解析记录
~
###### 5.dns的反向解析 ######
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {
type master;
file "172.25.254.ptr";
allow-update { none; };
};
cd /var/named/
cp -p named.loopback 192.168.0.ptr
vim 172.25.254.ptr
$TTL 1D
@ IN SOA dns.westos.org. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 127.25.254.239
139 PTR mail.westos.org.
~
systemctl restart named
测试:
dig -x 172.25.254.239
###### 6.dns的双向解析 ######
实验环境:
客户端2台
1.1.1.239网段
172.25.254.39 ##ifconfig ens3 172.25.254.39 netmask 255.255.255.0
服务端1台2个网段的ip
1.1.1.139
172.25.254.139 ##ifconfig ens3 172.25.254.139 netmask 255.255.255.0
在1.1.1.239网段的客户主机中
vim /etc/sysconfig/network-scripts/ifcfg.ens3
DEVICE=ens3
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.1.1.239
PREFIX=24
DNS1=1.1.1.139
~
nmcli connection reload
nmcli connection up System\ E...
在172.25.254网段的客户主机中
vim /etc/resolv.conf
nameserver 172.25.254.20
在俩个网段主机中添加IPADDR2=1。1。1。139 PREFIX2=24
nmcli connection reload
nmcli connection up System\ E...
配置方式:
cd /var/named/
cp -p westos.com.zone westos.com.inter
vim westos.com.inter
$TTL 1D
@ IN SOA dns.westos.org. root.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 1.1.1.139
www CNAME lee.a
lee.a A 1.1.1.239
lee.a A 1.1.1.139
westos.org. MX 1 1.1.1.139.
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
vim /etc/named.rfc1912.inters
zone "westos.com" IN {
type master;
file "westos.com.inter";
allow-update { none; };
};
vim /etc/named.conf
/*
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
*/
view localnet {
match-clients{1.1.1.0/24; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.inter";
};
view anyone {
match-clients{any; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
};
systemctl restart named
测试:
分别在2个网段的主机中作同样域名的地址解析 dig www.westos.org
得到的A记录不同
###### 7.dns集群 ######
主dns:vim /etc/named.rfc1912.zones
zone "westos.org" IN {
type master;
file "westos.org.zone";
allow-update { 172.25.254.239; };##主动通知的辅助dns主机
};
vim /etc/named.rfc1912.inter
zone "westos.org" IN {
type master;
file "westos.org.inter";
allow-update { none; };
};
vim /var/named/westos.com.zone
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com (
20210806001 ; serial ##每次修改A记录文件需要
1D ; refresh ##变更此参数的值
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 127.25.254.139
www CNAME lee.a
lee.a A 172.25.254.239
lee.a A 172.25.254.139
westos.org. MX 1 172.25.254.139.
slave dns:
dnf install bind -y
firewall-cmd --add-service=dns
systemctl disable --now firewalld关火墙
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
dnssec-validation no;
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
type slave; ##dns状态位辅助dns
masters {172.25.254.139 ; }; ##主dns
file "slaves/westos.com.zone"; ##同步数据文件
};
systemctl restart named
###### 8.dns的更新 ######
dns基于ip地址的更新:
在dns中设定:
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
type master;
file "westos.com.zone";
allow-update { 192.168.0.10; }; ##允许指定客户端更新westos域
also-notify { 192.168.0.30; };
};
key "rndc-key" {
algorithm hmac-sha256;
secret "jXCCh8Whuv3d3Hb0mc8/ig==";
};