企业dns服务器搭建
一、关于dns的名词解释
dns:
domain name service(域名解析服务)
#关于客户端:#
/etc/resolv.conf ##dns指向文件
nameserver 172.25.254.119
#测试:
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ##ip地址叫做域名的Address 记录
SOA ##授权起始主机
dns顶级 . 13(全球一共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中不存在
二、dns服务的安装与启用
实验环境前提
火墙开启
#安装#
dnf install bind.x86_64 -y
#启用#
systemctl enable --now named #开启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
主机A:
vim /etc/named.conf
allow-query { any; };
##为所有主机提供解析服务
systemctl restart named
测试主机B:
dig www.baidu.com
##解析时间过长
##当前dns主机中没有网络解析数据的
##所以当作解析时,需要到.com主机中获取资源
##美国根域名服务器中许多域名(13个)
##如.net .com .cn等
解析时间过长
主机A:
vim /etc/named.conf
forwarders { 114.114.114.114; }; #更改dns服务所有数据获取渠道为114.114.114.114
systemctl restart named
##当前dns服务所有数据获取渠道为114.114.114.114
本机所有网络接口都开启53端口,以对外提供接口服务
三、高速缓存dns
20 forwarders { 114.114.114.114; };
vim /etc/sysconfig/network-scripts/ifcfg-ens3
DNS1=172.25.254.119
dig www.xiaomi.com #在虚拟机westosa
dig www.xiaomi.com #在虚拟机westosb
四、dns的正向解析
vim /etc/named.rfc1912.zone
zone "westoslee.org" IN { ##维护的域名
type master; ##当前服务器位主dns
file "westoslee.org.zone"; ##域名A记录文件
allow-update { none; }; ##允许更新主机列表
};
cd /var/named/
cp -p named.localhost westoslee.org.zone
$TTL 1D #TIME-TO-LIVE(dns地址保存时间长度)
@ IN SOA dns.westoslee.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 172.25.254.219
www A 172.25.254.119
bbs CNAME bbs.a.westoslee.org. ##规范域名
bbs.a A 172.25.254.111 ##正向解析记录
bbs.a A 172.25.254.222
westos.com. MX 1 172.25.254.200. ##邮件解析记录
systemctl restart named #重启服务
dig bbs.westoslee.org #查询正向解析
dig -t mx westoslee.org #邮件解析记录查询
五、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 172.25.254.ptr
vim 172.25.254.ptr
$TTL 1D
@ IN SOA dns.westoslee.org. root.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 172.25.254.219
219 PTR www.westoslee.org.
222 PTR bbs.westoslee.org.
systemctl restart named #重启服务
测试:
dig -x 172.252.254.219
dig -x 172.252.254.222
六、dns的双向解析
实验环境:
客户端2台
1.1.1网段
172.25.254网段
服务端1台2个网段的ip
1.1.1.119
172.25.254.119
在1.1.1网段的客户主机中
vim /etc/resolv.conf
nameserver 1.1.1.119
在172.25.254网段的客户主机中
vim /etc/resolv.conf
nameserver 172.25.254.19
配置方式:
cd /var/named/
cp -p westoslee.org.zone westoslee.org.inter
vim westoslee.org.inter
$TTL 1D
@ IN SOA dns.westoslee.org. root.westoslee.org (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum #A记录最短有效期
NS dns.westos.org.
dns A 1.1.1.219
www A 1.1.1.119
bbs CNAME bbs.a.westoslee.org. ##规范域名
bbs.a A 1.1.1.111 ##正向解析记录
bbs.a A 1.1.1.222
westos.com. MX 1 1.1.1.200. ##邮件解析记录
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter.zones
vim /etc/named.rfc1912.inter.zones
zone "westos.com" IN {
type master;
file "westoslee.org.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 { 172.25.254.0/24; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
view internet {
match-clients { any; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.inter.zones";
include "/etc/named.root.key";
};
systemctl restart named
测试:
分别在2个网段的主机中作同样域名的地址解析
得到的A记录不同
dig www.westoslee.org
在westosa中
在westosb中
七、dns集群
主dns:
zone “westos.com” IN {
type master;
file “westos.com.zone”;
allow-update { none; };
also-notify { 172.25.254.219; }; ##主动通知的辅助dns主机
};
vim /var/named/westoslee.org.zone
$TTL 1D
@ IN SOA dns.westoslee.org. root.westoslee.org (
2 ; serial ##每次修改A记录文件需要
1D ; refresh ##变更此参数的值
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 172.25.254.219
www A 172.25.254.119
bbs CNAME bbs.a.westoslee.org.
bbs.a A 172.25.254.111
bbs.a A 172.25.254.222
westoslee.org. MX 1 172.25.254.200.
~
slave dns:
dnf install bind -y
firewall-cmd --add-service=dns
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
dnssec-validation no;
vim /etc/named.rfc1912.zone
zone "westoslee.org" IN {
type slave; ##dns状态位辅助dns
masters {172.25.254.219; }; ##主dns
file "slaves/westoslee.org.zone"; ##同步数据文件
};
systemctl restart named
八、dns的更新
dns基于ip地址的更新:
在dns中设定:
vim /etc/named.rfc1912.zones
zone "westoslee.org" IN {
type master;
file "westoslee.org.zone";
allow-update { 172.25.254.52; }; ##允许指定客户端更新westos域
also-notify { 172.25.254.99; };
};
测试:
在172.25.0.219
nsupdate
> server 172.25.254.119
> update add hello.westos.com 86400 A 192.168.0.111 ##新曾A记录
> send
> update delete hello.westos.com ##删除A记录
> send
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westoskey
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
key "westoskey" {
algorithm hmac-sha256;
secret "SB1tQcLaWeroU9lGW21zeA==";
};
vim /etc/named.conf
43 include "/etc/wesots.key";
vim /etc/named.rfc1912.zones
zone "westoslee.org" IN {
type master;
file "westoslee.org.zone";
allow-update { key westoskey; };
};
systemctl restart named
nsupdate -k /mnt/Kwestos.+163+26695.private
> server 172.25.254.119
> update add westosb.westoslee.com 86400 A 172.25.254.88
> send
> quit
九、ddns(dhcp+dns)
dnf instsall dhcp-server -y
vim /etc/dhcpd/dhcpd.conf
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# option definitions common to all supported networks...
option domain-name "westoslee.org";
option domain-name-servers 172.25.254.119;
default-lease-time 600;
max-lease-time 7200;
# Use this to enble / disable dynamic dns updates globally.
ddns-update-style interim;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
# This is a very basic subnet declaration.
subnet 172.25.254.0 netmask 255.255.255.0 {
range 172.25.254.52 172.25.254.99;
}
key westoskey {
algorithm hmac-sha256;
secret SB1tQcLaWeroU9lGW21zeA==;
};
zone westoslee.org. {
primary 127.0.0.1;
key westoskey;
}
dns的key更新
测试:
设定测试主机网络工作方式为dhcp
设定主机名称westosb.westolee.org
重启网络
dig westosb.westolee.org
可以得到正确解析