企业dns服务器搭建
实验环境:
一台主机可上网
需三台主机,三台主机网段一致
linux环境下:真机可上网,连接wifi
ping 114.114.114.114 ##可ping通
dns 服务器部署
1.关于dns的名词解释
dns:
domain name service (域名解析服务)
关于客户端:
/etc/resolv.conf ##dns指向文件
nameserver 172.25.254.12
测试:
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ###ip地址叫做域名的Address记录
SOA ##授权起始主机
dns* . 13
次级 . com .net .edu .org …
baicu.com
关于服务端
bind ##安装包
named ##服务名称
/etc/named.conf ##主配置文件
/var/named ##数据目录
端口 ##53
关于报错信息
1.no servers could be reachd ##服务无法访问 (服务开启 ? 火墙 ? 网络 ? 端口 ?)
2.服务启动失败 ##配置文件写错 journalct -xe查询错误
3.dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在
2.dns的安装与访问
实验:
在可连接外网主机安装
dnf install bind -y
开启防火墙
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
设置网关
nm-connection-editor
设置dns解析
vim /etc/resolv.conf
默认安装的dns 服务之开启了回环接口上的端口,其他主机无法访问
netstat -antlupe | grep named
/etc/named.conf ##dns服务主配置文件
编辑主配置文件
vim /etc/named.conf
listen-on port 53 { any; }; ##为所有主机提供端口
allow-query { any; }; ##为所有主机提供解析服务
当前的dns主机时没有网络地址解析数据的所以解析时需要到.com主机中获取
forwarders {114.114.114.114;}; ##当前dns主机所有地址解析纪录获取渠道为114。114。114。114
;以示结尾
dnssec-validation no; ##关闭dns认证检测功能
systemctl restart named
dig www.baidu.com ##检测是否可以查找及时间
test:
服务器:
dnf install bind -y
systemctl enable --now named ##开启服务
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
netstat -antlupe | grep named
nm-connection-editor ##编辑网关
vim /etc/resolv.conf ##编辑dns解析
cat /etc/resolv.con
systemctl restart named
dig www.baidu.com
vim /etc/named.conf ##主配置文件编辑
systemctl restart named
dig www.cndn.com
客户机:
nm-connection editor ##编辑网卡和网关
dig www.baidu.com ##测试
dig www.cndn.com
3.高速缓存dns
forwarders {114.114.114.114;};
编辑主配置文件
vim /etc/named.conf
listen-on port 53 { any; }; ##为所有主机提供端口
allow-query { any; }; ##为所有主机提供解析服务
当前的dns主机时没有网络地址解析数据的所以解析时需要到.com主机中获取
forwarders {114.114.114.114;}; ##当前dns主机所有地址解析纪录获取渠道为114。114。114。114
;以示结尾
dnssec-validation no; ##关闭dns认证检测功能
systemctl restart named
dig www.baidu.com ##检测是否可以查找及时间
test:
服务器:
vim /etc/named.conf ##主配置文件编辑
systemctl restart named
客户机:
dig www.baidu.com ##测试
dig www.cndn.com
4.dns的正向解析
服务端:
-
vim /etc/named.conf
主配置文件删除解析
子配置文件中配置
vim /etc/named.rfc1912.zones
y6y 复制23~26
zone “westos.org” IN { ##要维护的域名
type master; ##dns为主dns
file “westos.org.zone”; ##A记录解析文件
allow-update { none; }; ##允许更新主机列表
}; -
编写A记录解析文件
cd /var/named/
cp -p named.localhost westos.org.zone ##复制A记录解析文件模板,生成A记录文件
vim westos.org.zone ##编辑
$TTL 1D ##缓存时长一天
@ ##表示westos.org IN SOA dns.westos.org. root.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org. ##Nameserver域名服务器部署
dns A 172.25.254.212
www A 172.25.254.111
(此文件中所有不以.结尾的字符串自动补齐@中的值)
- systemctl restart named
客户端:
- dig westos.org
dig hello.westos.org ##可看到域名起始站点
dig www.qq.com ##会去外网查询
5.dns反向解析
规范域名转换
-
vim westos.org.zone
NS dns.westos.org.
dns A 172.25.254.212
www CNAME bbs.westos.org ##规范域名
bbs A 172.25.254.111 ##正向解析记录
bbs A 172.25.254.222
dig bbs.westos.org
-
mx 邮件解析记录
-
vim westos.org.zone
NS dns.westos.org.
dns A 172.25.254.212
www CNAME bbs.westos.org
bbs A 172.25.254.111
bbs A 172.25.254.222
westos.org. MX 1 mail.westos.org.##添加邮件解析地址
mail A 172.25.254.212 -
dig -t MX westos.org ##邮件解析记录查询
反向解析
-
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 ##编辑反向解析ptr文件
$TTL 1D
@ IN SOA dns.westos.org. root.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dos.westos.org.
dos A 172.25.254.212
212 PTR mail.westos.org. ##指向ip地址的域名 -
systemctl restart named
-
dig -x 172.25.254.212 ##可查询到域名
6.dns双向解析
实验环境:
添加使主机拥有两个网段的ip地址
-
ip addr add 12.12.12.100/24 dev br0
ip addr show ##服务器添加ip地址 -
vim /etc/named.rfc1912.zones
zone “westos.org” IN {
type master;
file “westos.org.inter”;
allow-update { none; };
};
systemctl restart named -
cp -p westos.org.zone westos.org.inter
-
vim westos.org.inter
NS dos.westos.org. ##%s/172.25.254/12.12.12/g
dos A 12.12.12.100
www CNAME bbs.westos.org
bbs A 12.12.12.111
bbs A 12.12.12.222
westos.org. MX 1 mail.westos.org.
mail A 12.12.12.212 -
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter
-
vim /etc/named.conf
view localnet {
match-clients{12.12.12.0/24;};
zone “.” IN {
type hint;
file “named.ca”;
};
include “/etc/named.rfc1912.zones.inter”;
};
view inter {
match-clients{any;};
zone “.” IN {
type hint;
file “named.ca”;
};.rfc1912.zones";
include “/etc/named.rfc1912.zones”; -
systemctl restart named
-
vim /etc/resolv.conf ##编辑dns指向文件
客户端:
- nm-connection-editer ##修改ip为12.12.12.0/24
- vim /etc/resolv.conf
- dig www.westos.org
7.dns集群
实验环境:
辅助dns机
-
dnf install bind -y
辅助dns主机中安装bind ##安装软件时,提供源主机防火墙必须关闭 -
vim /etc/named.conf ##编辑主配置文件
listen-on port 53 { any; };
allow-query { any; }; -
vim /etc/named.rfc1912.zones ##编辑子配置文件
slaves:辅助dns配置文件
zone “westos.org” IN {
type slave;
masters {172.25.254.12;};
file “slaves/westos.org.zone”;
}; -
systemctl enable --now firewalld
-
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
主机配置
-
vim /etc/named.rfc1912.zones ##编辑主dns子配置文件设置更新时主动通知那些辅助dns更新
zone “westos.org” IN {
type master;
file “westos.org.zone”;
allow-update { none; };
also-notify {172.25.254.212;};
}; -
vim westos.org.zone $
TTL 1D
@ IN SOA dns.westos.org. root.westos.org. (
3 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 172.25.254.212
www CNAME bbs.westos.org.
bbs A 172.25.254.144
bbs A 172.25.254.222
westos.org. MX 1 mail.westos.org.
mail A 172.25.254.212 -
vim /etc/resolv.conf ##dns指向文件
dns内容改变后一定要改变版本号才可实现同步 -
systemctl restart named
test:
- 主机更改版本号与ip地址数;
- dig bbs.westos.org
- 辅助dns dig bbs.westos.org
8.dns动态解析
- 主机:/var/named/westos.org.zone 添加 linux A 172.25.254.174
虚拟机
- hostnamectl set-hostname linux.westos.org
- vim /etc/sysconfig/network-scripts/ifcfg-westos
BOOTPROTO=dhcp
NAME=westos
DEVICE=ens3
ONBOOT=yes
- nmcli connection reload
nmcli connection down westos
nmcli connection up westos
主机:
dhcp开启网络更新dns的功能
- dnf install dhcp-server -y
- cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
- dnssec-keygen -a HMAC-SHA256 -b 128 -n host westos ##生成密钥
- cat Kwestos.+163+13250.private ##复制密钥
- vim /etc/dhcp/dhcpd.conf ##编辑dhcp主配置文件
option domain-name “westos.org”;
option domain-name-servers 172.25.254.12;
ddns-update-style interim; ##dhcp开启网络更新dns的功能
subnet 172.25.254.0 netmask 255.255.255.0 {
range 172.25.254.110 172.25.254.120;
} ##ip分配地址范围
key westos { ##指定key
algorithm hmac-sha256;
secret 701IWoxoUjdRFT8u0bq12A==;
}; ##给dhcp服务更新key
zone westos.org. {
primary 127.0.0.1; ##在同一台主机可用回环接口,不再同一台主机需ip
key westos;
} ##指定dhcp用key去更新dns主机的那个域 - systemctl restart dhcpd
编写主配置文件
- vim /etc/named.conf
key westos {
algorithm hmac-sha256;
secret “701IWoxoUjdRFT8u0bq12A==”;
}; ##给dns添加key
编写子配置文件
- vim /etc/named.rfc1912.zones
zone “westos.org” IN {
type master;
file “westos.org.zone”;
allow-update { key westos; }; ##westos.org的域支持key。westos的更新
also-notify {172.25.254.212;};
};westos。org的域支持key更新
- systemctl restart named
test:
主机:
- 注意需删除添加的linux.westos.org 解析记录,会产生冲突
虚拟机
- nmcli connection reload
nmcli connection down westos
nmcli connection up westos
dig linux.westos.org ##已更新