Linux中DNS服务器典型配置

目录

BIND安装部署

正向解析 

编程区域配置文件

编程数据配置文件

把网卡中的DNS地址参数改为本机IP地址(127.0.0.1)

反向解析

 编程区域配置文件

编程数据配置文件

检验结果,网卡中的DNS地址参数改为本机地址​编辑

主从服务器部署

在主服务器的区域配置文件中允许从服务器的更新请求

关闭主服务器上的防火墙或者增加规则,让DNS协议流量可以传递

在从服务器上安装bind-chroot软件包

 在从服务器中填写主服务器的IP地址与要抓取的区域信息

检验解析结果

加密传输

在主服务器中生成密钥

在主服务器中创建密钥验证文件

开启并加载bind服务的密钥验证功能

 配置从服务器

创建密钥认证文件,使其支持密钥验证

开启并加载从服务器的密钥验证功能

 DNS从服务器同步域名区域数据

再次进行解析验证​编辑

DNS缓存服务器

在bind服务程序的主配置文件中添加缓存转发参数

分离解析

修改bind服务的主配置文件

编程区域配置文件 

建立数据配置文件

将不同客户端的DNS服务器地址改为对应的地址


BIND安装部署

安装bind服务程序

#安装bind服务程序加上chroot(俗称牢笼机制)扩展包
yum install bind-chroot

在Linux中bind服务程序的名称为named,在目录中找到该服务程序的主配置文件把第11行和第19行的地址均改为any,分别表示该服务器所有IP地址均可提供DNS域名解析服务和所有人可向本服务器发生DNS请求

vim /etc/named.conf

正向解析 

编程区域配置文件
#将该文件原有数据清空,只保留自己的域名解析信息
vim /etc/named.rfc1912.zones 
 
#将原有内容替换为以下内容
zone "g.com" IN {
        type master;
        file "g.com.zone";
        allow-update { none; };
};
编程数据配置文件
#切换目录
cd /var/named

查看一下文件
ls -al named.localhost 

#把这个正向解析的模板文件复制一下
cp -a named.localhost g.com.zone

#修改
vim g.com.zone 

#修改为以下内容
$TTL 1D
@       IN SOA  g.com.  admin.g.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS              ns.g.com.
ns      IN A       172.20.10.3
www     IN A       172.20.10.3


#重启一下named服务程序
systemctl restart named

systemctl enable named

把网卡中的DNS地址参数改为本机IP地址(127.0.0.1)
#修改网卡参数
nmtui
#关闭网络检测是否成功
nslookup

反向解析

 编程区域配置文件
vim /etc/named.rfc1912.zones 

#添加以下内容
zone "10.20.172.in-addr.arpa" IN {
        type master;
        file "172.20.10.arpa";
        allow-update { none; };
};
编程数据配置文件
#切换目录
cd /var/named/

cp -a named.loopback 172.20.10.arpa

vim 172.20.10.arpa 

#添加以下内容
$TTL 1D
@       IN SOA  g.com abmin.g.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.g.com.
ns      A       172.20.10.3
3      PTR     ns.g.com.
3      PTR     www.g.com.
4      PTR     bbs.g.com.

#重启服务
systemctl restart named
检验结果,网卡中的DNS地址参数改为本机地址

主从服务器部署

主句名称主句IP地址
主服务器虚拟机1172.20.10.3
从服务器虚拟机2

172.20.10.4

在主服务器的区域配置文件中允许从服务器的更新请求
vim /etc/named.rfc1912.zones 

#重启一下服务程序
systemctl restart named
关闭主服务器上的防火墙或者增加规则,让DNS协议流量可以传递
#关闭防火墙
systemctl stop firewalld
在从服务器上安装bind-chroot软件包
dnf install bind-chroot
#安装完修改配置文件,让从服务器也能对外提供DNS服务
vim /etc/named.conf 
#修改为any

 在从服务器中填写主服务器的IP地址与要抓取的区域信息
#打开配置文件
vim /etc/named.rfc1912.zones 
#把里面的所有内容替换为以下内容
zone "g.com" IN {
        type slave;
        masters { 172.20.10.3; };
        file "slaves/g.com.zone";
};

zone "10.20.172.in-addr.arpa" IN {
        type slave;
        masters { 172.20.10.3; };
        file "slaves/172.20.10.arpa";
};

#重启服务
systemctl restart named
检验解析结果
#配置从服务器的网络参数,把DNS地址参数修改为172.20.10.4
nmtui
#开始查看解析结果
nslookup

加密传输

此实验依然使用了上面两台服务器

在主服务器中生成密钥
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave

#查看生成的密钥文件
ls -l Kmaster-slave.+157+16153.*

#查看生成的密钥的值并记录下来,即key后面的黑体字
cat Kmaster-slave.+157+16153.private 

在主服务器中创建密钥验证文件
#切换目录
cd /var/named/chroot/etc

#打开文件
vim transfer.key

#添加以下内容,/BR2E/za4kqfXAlbg1K8Iw==是密钥的值,每个人不一样
key "master-slave" {
        algorithm hmac-md5;
        secret "/BR2E/za4kqfXAlbg1K8Iw==";
};


#为安全起见,需要将文件的所属组修改为named
chown root:named transfer.key 

#将文件的权限设置的要小一点
chmod 640 transfer.key 

#设置该文件的一个硬链接,并指向/etc
ln transfer.key /etc/transfer.key
开启并加载bind服务的密钥验证功能
#在主服务器的主配置文件中加载密钥验证文件,然后进行设置
vim /etc/named.conf 

#加入下面这两行,位置如图
include "/etc/transfer.key";
        allow-transfer { key master-slave; };


#然后重启服务
systemctl restart named

 配置从服务器
#清空同步目录中所有的数据配置文件
rm -rf /var/named/slaves/*

重启bind服务程序
systemctl restart named
ls /var/named/slaves/
创建密钥认证文件,使其支持密钥验证
#切换目录
cd /var/named/chroot/etc/

#配置文件内容
vim transfer.key

#复制以下内容,和主服务器内容一样

key "master-slave" {
        algorithm hmac-md5;
        secret "/BR2E/za4kqfXAlbg1K8Iw==";
};


#设置权限,和硬链接
chown root:named transfer.key 
chmod 640 transfer.key 
ln transfer.key /etc/transfer.key
开启并加载从服务器的密钥验证功能
vim /etc/named.conf 

#输入以下内容,位置如下图所示,位置为第9行,51行
include "/etc/transfer.key";


server 172.20.10.3
{
        keys { master-slave; };
};

 DNS从服务器同步域名区域数据
#重启bind服务程序
systemctl restart named

#可以发现又能顺利同步到数据配置文件了
ls /var/named/slaves/
再次进行解析验证

DNS缓存服务器

主机名称主句IP地址
缓存服务器虚拟机1

网卡1:桥接网卡

网卡2:仅主机IP为172.20.10.10

客户端虚拟机2仅主机IP为172.20.10.20
在bind服务程序的主配置文件中添加缓存转发参数
vim /etc/named.conf

#在大约20行处添加一行参数"forwarders { 上级DNS服务器地址; };",
 forwarders { 210.42.249.131; };

#重启一下DNS服务
systemctl restart named

#记得关闭一下防火墙
systemctl stop firewalld

 设置客户端主机的DNS服务器地址参数

分离解析

主机名称IP地址
服务器192.168.10.1        122.71.115.1
客户端192.168.10.20
客户端2122.71.115.20

修改bind服务的主配置文件
vim /etc/named.conf

#把11行和19行的允许主机修改为any,把52~55行的根域信息删除

编程区域配置文件 
vim /etc/named.rfc1912.zones 

#添加以下内容
acl "china" { 192.168.10.0/24; };
acl "america" { 122.71.115.0/24; };
view "china"{
    match-clients { "china"; };
    zone "g.com" {
    type master;
    file "g.com.china";
    };
};
view "america"{
    match-clients { "america"; };
    zone "g.com" {
    type master;
    file "g.com.america";
    };
};
建立数据配置文件
cd /var/named
cp -a named.localhost g.com.china
cp -a named.localhost g.com.america
vim g.com.china

#输入以下内容
$TTL 1D
@ IN SOA g.com. rname.invalid. (
                0 ; serial
                1D ; refresh
                1H ; retry
                1W ; expire
                3H ) ; minimum
        NS ns.g.com.
ns      IN A    192.168.10.150
www     IN A    192.168.10.222


#打开另一个
vim g.com.america

#输入以下内容
$TTL 1D
@ IN SOA g.com. rname.invalid. (
                0 ; serial
                1D ; refresh
                1H ; retry
                1W ; expire
                3H ) ; minimum
        NS      ns.g.com.
ns      IN A    122.71.115.188
www     IN A    122.71.115.144


#重启服务
systemctl restart named
将不同客户端的DNS服务器地址改为对应的地址

IP为192.168.10.20的客户端:

IP为122.71.115.20的客户端:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪兽王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值