linux下如何搭建dns服务和dns主从同步

第一步:先安装服务

使用yum安装dns的安装包是 (安装包是bind,但是服务是named)

bind-9.11.4-26.P2.el8.x86_64


yum install  bind-9.11.4-26.P2.el8.x86_64

安装完成(首先得搭建yum仓库,我有脚本放在最后)

主配置文件在/etc/named.conf

这个是主配置文件 进去修改

然后去要去编辑区域文件了

区域文件是vi /etc/named.rfc1912.zones

这个是区域文件

进去编辑他

zone "ssj.com" IN {                          #这个是你想要解析的域名(可以随意取名)
        type master;                            #这个是主DNS
        file "ssj.com.zone";                 #这个文件是需要自己去创建的,在vi /var/named/ssj.com.zone

};

注意分号结尾!!!

这里写的是什么,文件的名字就要是什么

     
 

zone "80.168.192.in-addr.arpa" IN {            #这个是固定格式,需要把ip反过来写
        type master;                                        #这个是主DNS
        file "192.168.80.arpa";     #这个文件是需要自己去创建的,在vi /var/named/192.168.80.arpa
   
};

这两个配置文件配好了,就要去创建以上文件了

先cd/var/named

之前有两个配置文件,复制过来改改就行了(记得要cp -p)连同权限一起复制来

named.localhost 这个是正向区域的模板

然后进去修改

vi /var/named/ssj.com.zone

$TTL 1D      #有效解析记录的生存周期
@       IN SOA  @ rname.invalid. (              #这里的@是个变量,就是区域文件里定义的,(后面跟邮箱地址,@用.来代替)
                                        0        ; serial       #更新序列,主从同步就是看这个的
                                        1D      ; refresh    #无效解析记录的生存周期
                                        1H      ; retry        #刷新时间,重新下载地址数据的间隔
                                        1W      ; expire    #失效时间,超过该时间仍无法下载则放弃
                                        3H )    ; minimum
        NS      @                                            #name server 是@的变量ssj.com.zone
        A       192.168.80.80                          #这里写的是本机的ip地址
www     IN A    192.168.80.70                   #这里写的就是www解析的是192.168.80.70

mail    IN CNAME www                             #mail.hello.com是www.hello.com的另一个名称
*       IN A    192.168.80.6                         #如果后缀是hello.com但是前面的内容记录中没有的时候向查询主机返回192.168.80.6这个地址。

以上是正向区域,和反向区域不同的是,正向是A解析(域名解析ip),反向是PTR(ip解析成域名)

下面配置反向区域

named.loopback 这个是反向区域的模板(以下我就不做解释了)

$TTL 1D
@       IN SOA  ssj.com rname.invalid. (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.80.80
80      IN      PTR     www.ssj.com.
70      IN      PTR     ftp.ssj.com.

前面跟的是ip的最后一位,PTR反向解析成域名,域名后面加. 是根域

配置好了就可以去启动服务了

service named start    (安装包是bind,但是服务是named)

dns监听的是tcp的53端口

使用nslookup去测试(没有这个命令去安装bind-utils-32:9.11.4-26.P2.el8.x86_64)

和上面设置的是一样的

在试试反向解析

解析成功

#!/bin/bash
mount /dev/cdrom /mnt/
rpm -ivh /mnt/BaseOS/Packages/yum-4.2.7-6.el8.noarch.rpm
rm -rf /etc/yum.repos.d/*
echo "[yumku]
name=yumku
baseurl=file:///mnt/AppStream
enable=1
gpgcheck=0 " > /etc/yum.repos.d/yum.repo

echo "
[hello]
name=hello
baseurl=file:///mnt/BaseOS
enable=1
gpgcheck=0 " >> /etc/yum.repos.d/yum.repo
yum clean all &> /dev/null
echo "YUM已经搭建完成"
echo "共有以下几个库:"
yum repolist | tail -1
echo "共有软件包:"
yum list | wc -l


以上是我编写的yum仓库自动安装的一个简单小脚本


接下来是dns的主从同步(需要两台服务器,版本还得一样的

cat /proc/version 查看一下内核版本是否一样

主服务还是在vi /etc/named.rfc1912.zones    里编辑正向区域和反向区域里加上

allow-update { 192.168.80.182; };           #这个是允许同步的服务器地址,就是从服务的ip
        also-notify { 192.168.80.182; };       #这个是实时同步,不然不会实时

以上两条命令是加在主服务里的正反向区域里的


接下来搭建从服务器

开始编辑区域文件

vi /etc/named.rfc1912.zones

zone "ssj.com" IN {                          #这个引号里的域名是主服务器定义的,要一样
        type slave;                               #类型是从服务器
        masters { 192.168.80.80; };     #主服务是..... 括号里是主服务器的IP
        file "slaves/ssj.com.zone";       #这个是文件是用来存放从主服务器同步来的

#位置在于/var/named/slaves/ 同步成功会自动创建
        allow-notify { 192.168.80.80; };   #用来实时同步的
};

zone "80.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.80.80; };
        file "slaves/192.168.80.arpa";
        allow-notify { 192.168.80.80; };
};

从服务器把DNS指向自己,因为他自己也是DNS服务器

vi /etc/resolv.conf

nameserver  本机服务器的ip


启动服务, ls /var/named/slaves/

看看有没有自动生成文件,有就是同步成功

接下来就可以自行去测试了


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值