DNS服务

高速缓存文件

dns端

使用一个机器做dns端,首先配置yum源,在yum上搜索DNS,包的名称为bind.x86_64,安装完成之后可以使用rpm -ql bind 来查询启动命令,
启动命令,查询/usr/lib/systemd/system/下的文件,
下来启动named服务,第一次服务启动不了是因为他的密码文件/etc/rndc.key加密字符太短,使用cat /dev/random可以查看,掩盖太短解决的办法为在机子里输入字符,系统会自动捕捉并产生加密字符,named服务就可以启动了。在这里插入图片描述
再关闭火墙,
使用netstat -antlpu | grep named命令查看端口,
配置/etc/named.conf文件, 在这里插入图片描述
listen-on port 53 { any; }; ##本身大括号里面加的是ip地址,意为监听这个ip下的53端口,但是我们需要所有人都可以使用这个机器的dns服务,所以将ip地址改为any,意为所有人。
allow-query { any; }; ##本身大括号里面加的是localhost,只有本机可以使用这个服务,但是我们需要其他人可以进行使用,所以将括号中的内容更改为any。
forwarders { 114.114.114.114; }; ##这一行本身是没有的,加入这一行,可以进行寻址服务,前提是dns主机可以ping通114.114.114.114。在这里插入图片描述
dnssec-validation no; ##这一行本身为yes,selinux服务不让缓存,如果要想使用named高速缓存,需要将这个改为no。在这里插入图片描述
##大括号中写完需要使用;来结束。
网络也需要设置
客户端需要将/etc/resolv.conf 文件中
nameserver xxxxxxx 这一行的ip改为dns端的ip。
测试
dig 域名
status: SERVFAIL 显示为这个需要将dnssec-validation这个的yes改为no。在这里插入图片描述
status: NOERROR 这个就没有错误了
在这里插入图片描述

搭建权威dns

正向解析

编辑主配置文件,自己提供答案
首先删除forwarders { 114.114.114.114; };这一行,不在外面进行寻址,
在最后可以加入

zone "westos.org" IN {
        type master;
        file "westos.org.zone";
};
##在westos.org.zone文件中进行寻址

但是一般不在这个主配置文件中进行修改,会显得比较乱,最后两行有别的提示,

include "/etc/named.rfc1912.zones";##所有的域名配置文件

进入这个配置文件中,可以看到所有的域名配置都在这里,

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};
##这个为模版文件,

zone “localhost” IN { ##localhost改为二级域名(好比baidu.com)
file “named.localhost.zone”; ##这一行是该域名的配置文件,该配置文件是没有的,需要自己进行建立。
如何建立named.localhost,首先进入/var/named/目录named.localhost为一个模版文件,将这个文件复制成为自己的named.localhost.zone文件注意的是,复制时需要cp -p将属性一并复制。在这里插入图片描述
进入自己的named.localhost.zone文件

$TTL 1D   ##这个表示缓存时间
@       IN SOA  @ rname.invalid. (  ##第一个@表示/etc/named.rfc1912.zones文件zone "localhost" IN { 中的localhost,第二个@需要删掉自己写域名,后面rname.invalid.写自己的名字,这个到时候会给服务端进行显示。每次写完了以后记得最后加'.'不加的话系统就会在后面再加/etc/named.rfc1912.zones文件中的"localhost"
                                        0       ; serial
                                        1D      ; refresh ##刷新时间为一天
                                        1H      ; retry  ##若寻址失败1个小时后再试
                                        1W      ; expire  ##缓存最大保存天数是一万天
                                        3H )    ; minimum  ##最小保存为3小时                   ##这些时间一般不改都使用默认的
        NS      @     ##这个@改成自己的域名
dns     A       ip地址  ##寻址ip 
www     A       ip地址  ##寻址ip

在这里插入图片描述在这里插入图片描述
内部使用不太规范的域名
在上面的文件中,后面加上

www     CNAME   x.域名. ##(注意最后面的‘.’,没有这个‘.’可能寻址就会失败)
##输入www的时候就会自动寻址到x.westos.org.下,接着设置x的ip(ip可以设置多个,做到简单的螺旋寻址,每次输入的时候ip不一样)。
x      A       172.25.254.xxx
x      A       172.25.254.xxx

在这里插入图片描述在这里插入图片描述

MX 邮件交换记录

设置依然在自己的named.localhost.zone文件中,
设置格式

westos.org.      MX 1    172.25.254.102 (注意org后面的‘.’,没有这个‘.’可能寻址就会失败)
##前面为名字            功能 优先级 ip地址

查看使用 dig -t mx westos.org,
输出为

;; QUESTION SECTION:
;westos.org.			IN	MX

;; ANSWER SECTION:
westos.org.		86400	IN	MX	1 172.25.254.102.

####################################################################################################################################################
邮件格式
mail 用户@mx地址
标题 回车
主内容 回车
. 回车
这样用户就发出去了
####################################################################################################################################################

ptr 反向解析

(和正向解析没有关系)
反向解析和正向解析更改的配置文件相同,在/etc/named.rfc1912.zones,但是反向解析在最下面几行,模版为

zone "1.0.0.127.in-addr.arpa" IN {   ##引号中的ip地址需要倒着写,例如172.25.254的ip就要这样254.25.172.in-addr.arpa,
        type master;
        file "named.loopback";       ##引号中写正向ip.ptr,这个也是一个文件,需要在/var/named文件中复制,复制的模版是named.loopback
        allow-update { none; };
};

在这里插入图片描述
里面配置文件为

$TTL 1D
@       IN SOA  @ rname.invalid. (  ##第二个@需要改为域名服务器  后面写管理员名字
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @                   
dns     A       127.0.0.1       ##后面为主机ip
xxx     PTR     localhost.      ##xxx表示同一网段的最后面的ip,就好比172.25.254.xxx

在这里插入图片描述

重启服务后使用 dig -x 172.25.254.xxx来查看解析
输出为,

;; QUESTION SECTION:
;xxx.254.25.172.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
xxx.254.25.172.in-addr.arpa. 86400 IN	PTR	www.westos.org.

在这里插入图片描述

双向解析

cp -p 域名.zone 域名.output 复制文件,第二个文件作外网解析,更改里面的ip地址方便查看效果。
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.output 复制文件,第二个文件作外网解析,更改里面的文件路径指向 westos.org.output,
在/etc/named.conf文件中最后几行加上

view string optional_class {
 match-clients { address_match_element; ... };

最后的效果为

view output  {
                match-clients { 172.25.254.102; }; ##只让这个ip可以连接内网,让本机登陆内网则需要改为localhost

        zone "." IN {
        type hint;
        file "named.ca";
        };
include "/etc/named.rfc1912.output";
};
view any  {
                match-clients { any ; };

        zone "." IN {
        type hint;
        file "named.ca";
        };
include "/etc/named.rfc1912.zones";
};

在这里插入图片描述在这里插入图片描述在这里插入图片描述

主从服务器

设置主服务器
/etc/named.rfc1912.zones 下

zone "westos.org" IN {
        type master;
        file "westos.org.zone";
        allow-update { none; };
        also-notify {172.25.254.202; };  ##设置子服务器的ip
};

设置子服务器
在子服务器/etc/named.rfc1912.zones 下

zone "westos.org" IN {
        type slave;    ##标签表示为子服务器
        masters {172.25.254.102; };  ##主服务器的ip
        file "slaves/westos.org.zone";
        allow-update { none; };
};

在/etc/named.conf里配置和主服务器的相同

设置完成之后重启服务,查看/var/named/slaves,在其中有westos.org.zone文件则这个子服务器就可以进行同步了。
同步不能自动,需要告诉程序,在/var/named/westos.org.zone中 2019103001 ; serial
修改前面的数字,只能往大的加,不能减小,不能重复,所以设置的方法为,年月日第几次,总共10个数字
更新
首先将westos.org.zone 进行备份,(!!记得加-p)
配置 /etc/named.rfc1912.zones文件
将自己写的命令中的allow-update { none; };这一行,将none改为可以对这台主机进行更新的ip地址。
重启服务
到可以对这台主机进行更新的机器上使用nsupdate的命令
下来继续输入

> server 原配置主机的ip
>update add 设置的新域名 86400 A 域名寻址ip   ## 添加域名 86400秒为一天
>send 

这时会提示SERVFAIL 更新失败了,原因是/var/named在组中没有写权限。
chmod g+w /var/named/ 给目录加上权限。
再次输入命令,生成.jnl文件就已经配置完成了
密钥更新
将上一步的westos.org.zone的所有文件删除,将备份的文件复制回来,
第一步创建密钥,使用

dnssec-keygen -a HMAC-MD5 -b 128 -n  HOST 自己设置的钥匙名字  ## -a 加密方式 -b 加密字长度 -n 哪种方式

密钥在当前目录,设定完成后可以给密钥单独创建一个文件,将密钥挪过来。
密码的模版为 /etc/rndc.key 复制该文件到/etc/设置名字.key (注意加-p)
进入复制好的文件中,

key "passykey" {   ##名字不能打错,是一开始创建密钥自己创建的名字
        algorithm hmac-md5;  ##加密方式
        secret " hxkDsrkFYkMv23Ntao8qNQ=="; ## 这个加密字符是从Kpassykey.+157+58302.private 文件中来的,

再更改/etc/named.conf主配置文件
在没有大括号包主的地方加入 includ"/etc/自己刚设置的名字.key";
再配置 /etc/named.rfc1912.zones文件

allow-update { none; };这一行,的none中的内容改为, key ‘使用dnssec-keygen命令创建的钥匙名’

再将两把钥匙发到另一台机器上,
在另一台机器上使用

>nsupdate -k Kpassykey.+157+58302.private 命令
>server 172.25.254.119  
>update delete b.passy.com
>send
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值