前言
本章我们主要学习企业级DNS的部署与管理,包括dns服务的安装与启用、dns解析、dns集群、dns的更新以及dhcp+dns。
一、dns
DNS domain name service 域名解析服务
实验环境:虚拟机能上网,
主机
systemctl start firewalld.service
firewall-cmd --add-masquerade
虚拟机网关:主机ip
关于测试端:
测试命令:
ping www.baidu.com
host www.baidu.com 地址解析命令
dig www.baidu.com 地址详细解析信息命令
dns解析顺序:
baidu.com ----> .com (次级,包括.com .net .org .edu) ----> .(dns顶级,全球共13个)
关于服务端:
bind | 安装包 |
named | 服务名称 |
/etc/named.conf | 主配置文件 |
/var/named | 数据目录 |
端口 | 53 |
二、dns服务的安装与启用
dnf install bind.x86_64 -y 安装服务并开启
firewall-cmd --permanent --add-service=dns 火墙设定
systemctl enable --now named
firewall-cmd --reload
vim /etc/resolv.conf
修改主配置文件,打开端口访问,
listen-on port 53 { any; }; 在本地所有网络接口上开启53端口
allow-query { any; }; 允许查询A记录的客户端列表
dnssec-validation no; 禁用DNS能够缓存外部信息到本机
重启服务即可。
dig www.baidu.com
# 三、高速缓存dns 服务端: vim /etc/name.conf
forwarders {114.114.114.114; };
重启服务。
客户端:
vim /etc/resolv.conf
nameserver 172.25.254.139
测试:
服务端:dig www.baidu.com 客户端:dig www.baidu.com 0ms
客户端:dig www.taobao.com 服务端:dig www.taobao.com 0ms
四、dns的正向解析
将网址解析为ip
vim /etc/named.rfc1912.zones 通过配置文件找到域名记录文件
cp -p /var/named/named.localhost /var/named/westoshyl.org.zone 拷贝模板并复制权限
vim westoshyl.org.zone
systemctl restart named 重启服务
dig www.westoshyl.org 测试查看
规范域名:
重启服务,
邮件解析记录
重启服务
dig -t mx westoshyl.org
五、dns的反向解析
将ip解析为网址
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {
type master;
file "172.25.254.ptr";
allow-update { none; };
};
cp -p named.localhost 172.25.254.ptr
vim 172.25.254.ptr
重启服务
六、dns的双向解析
两台虚拟机,内网使用内网解析,外网使用外网解析
服务端:
双网卡ip:ip1:172.25.254.109 ip2:1.1.1.109
cp -p westoshyl.org.zone westoshyl.org.inter
vim westoshyl.org.inter
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter.zones
vim /etc/named.rfc1912.inter.zones
zone "westoshyl.org" IN {
type master;
file "westoshyl.org.inter";
allow-update { none; };
};
重启服务
客户端:
ip:1.1.1.239
vim /etc/resolv.conf
nameserver 1.1.1.139
dig www.westoshyl.org
七、dns集群
主dns:
vim /etc/named.rfc1912.zones
dnf install bind -y
systemctl stop firewalld.service
systemctl enable --now named
vim /etc/named.conf
listen-on port 53 { any; }; 在本地所有网络接口上开启53端口
allow-query { any; }; 允许查询A记录的客户端列表
dnssec-validation no; 禁用DNS能够缓存外部信息到本机
vim /etc/named.rfc1912.zones
dig www.westoshyl.org
当主dns更改时,只需增量修改westoshyl.org.zone中的serial参数即可
测试机中再无需做任何修改,即可开到变化
八、dns更新
主要学习dns基于key的更新。
实验环境:准备两台虚拟机,一台a机器配置dns和dhcp-server服务,
a端:
/etc/named.rfc1912.zones ----> allow-update { key westoskey; };
生成密钥:dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westoskey
-a后跟加密方式,-b后跟密钥参数大小,-n后跟密钥用途,westoskey是密钥名字。
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key 复制密钥格式及权限并编写
key "westoskey" {
algorithm hmac-sha256;
secret "ws6hDx59jX5rlY1O+M+Urw==";
};
主配置文件接收读取密钥:
vim /etc/named.conf
include "/etc/westos.key"
手动编辑
vim westoshyl.org.zone ---->
westosb A 172.25.254.79
重启服务,
nsupdate -k Kwestoskey.+163+39904.private
> server 172.25.254.139
> update add westosb.westoshyl.org 86400 A 172.25.254.80
>send
>quit
b端虚拟机,
配置网卡为dhcp模式
主机名称设置为如下图,
dig westosb.westoshyl.org
九、ddns(dhcp+dns)
dhcp向dns发送b主机的ip,供其解析,无需修改数据目录文件。
删除之前步骤的westoshyl.org.zone ---->westosb A 172.25.254.80
以及/var/named/ 中多余的部分
编辑dhcp服务的主配置文件,参考 man 5 dhcpd.conf
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
key westoskey {
algorithm hmac-sha256;
secret ws6hDx59jX5rlY1O+M+Urw==;
};
zone westoshyl.org. {
primary 127.0.0.1;
key westoskey;
}
重新给b一个ip,重启dhcpd服务,
在b端,刷新网卡,dig b主机名,