DNS域名解析服务

  • 全局网关:写在 /etc/resolv.conf文件中 所有ip都可以使用的网关
  • 私有网关:写在网卡配置文件中 只是所对应的网卡ip能使用的网关
  • 智能dns 114.114.114.114
  • DNS高速缓存:应用53端口 缓存在本地上 速度快 减少服务器压力

1.DNS解析命令

  • dig 命令:查看高速缓存 可查看查找缓存时间
命令作用
dig ip域名正向解析
dig -x 域名域名反向解析
dig -t mx邮件解析

2.部署DNS高速缓存

(1)在服务器主机上

1)yum install bind 在搭建好yum源的情况下 安装DNS服务named所需软件bind
2)systemctl start named 开启named服务 开启53传输端口
启动服务时 会生成加密字符 需要在新shell中敲字符补足加密字符位数 未敲键盘位数不够
systemctl stop firewalld 停止火墙
或者 开启火墙为火墙添加DNS服务

firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

在这里插入图片描述
在这里插入图片描述
3)vim /etc/named.conf 在named配置文件中配置dns本地缓存信息

 13         listen-on port 53 { any ; };     对外开启53端口
 19         allow-query     { any ; };       允许外部ip询问
 20         forwarders      {114.114.114.114 ;};
 本地缓存没有的域名 会导致查询慢 主机默认会去顶级DNS查询了 可以设置如果本地没有缓存 让主机去智能DNS查找
 35         dnssec-validation no;     

在这里插入图片描述
4)netstat -antulpe | grep named 查看53端口开放点
在这里插入图片描述
(2)在测试主机上

1)

vim /etc/resolv.conf 
nameserver 172.25.254.201 

将DNS改为服务主机ip 让测试机去服务主机缓存中查找
在这里插入图片描述
2)dig www.baidu.com 可以看到查询时间 第一次时间可能会稍长 但后面时间基本为0msec或1msec 可见高速缓存的快捷
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.DNS正向解析

(1)概念:域名的正向解析是指通过域名解析对应的ip 域名–>ip

(2)配置:

查看 /etc/named配置文件可以看到系统在解析时也会阅读其他相应解析配置文件
在这里插入图片描述
1)

vim /etc/named.rfc1912.zones
 zone "happy.com" IN {  ##""中写要维护的域名
        type master;
        file "happy.com.zone"; ##""中写要维护域名需要访问的配置文件,此类文件统一存在/var/named目录下
        allow-update { none; };

在这里插入图片描述
2)cd /etc/named 系统中不存在happy.com.zone需要自己建立
cp -p named.localhost happy.com.zone 此时建立的文家要与先前写入文件的文件名对应 cp是一定要将权限也复制到新文件中 否则之后测试会出现权限不允许的错误提示
在这里插入图片描述
2)

vim happy.com.zone
 1 $TTL 1D  #一天
  2 @       IN SOA  dns.happy.com. root.happy.com. (   #SOA 表示授权起始 由谁维护该域      域名后必须加. 否则系统将自动在域名后面加happy.com
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire #该域名维护保质期
  7                                         3H )    ; minimum #最短有效期限
  8         NS      dns.happy.com.  #正向解析内容
  9 www     A       1.1.1.1 #代表www.happy.com的ip为1.1.1.1 不用管此ip知否真的存在该文>    件只是解析功能  A 代表ipv4 AAAA      代表ipv6
 10 dns     A       1.1.1.2  #代表dns.happy.com的ip为1.1.1.2
                                                                               

wq 保存退出

在这里插入图片描述

3)

vim /etc/resolv.conf 
nameserver 172.25.254.201

将dns改为本机ip 让其自己询问自己

4)systemctl restart named 重启服务

测试:
在测试机 dig www.happy.com
在这里插入图片描述

3.PTR反向解析

(1)概念:指通过ip解析出域名 域名–>ip

(2)配置

1)

vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {  #反向解析ip要反着写
 32         type master;
 33         file "happy.com.ptr";
 34         allow-update { none; };
 35 };

在这里插入图片描述
2)cd /var/named
cp -p happy.come.zone happy.com.ptr
11 PTR www.happy.com
12 PTR dns.happy.com
在这里插入图片描述
3)systemctl restart named 重启服务

测试:
在测试机: dig -x 172.25.254.11
在这里插入图片描述

4.CNAME解析

(1)概念:CNAME=chage name 改变域名名称的解析

(2)配置

1)

vim /etc/named/happy.com.zone
bbs   CNAME   Linux  

将bbs.happy.com域名改变为Linux.happy.com
在这里插入图片描述
2)systemctl restart named 重启服务

测试:
在测试机: dig bbs.happy.com
在这里插入图片描述

5.MX解析

  • SMTP协议: 简单邮件传输协议 应用端口:53端口

配置:

1)

vim    /var/named/happy.com.zone
happ.com MX 1 172.25.254.1

2)systemctl restart named 重启服务
在这里插入图片描述

测试:
dig -t mx happy.com 查看happy.com的邮件解析
在这里插入图片描述

6.DNS双向解析

(1)概念:内网用户查到的是内网地址;外网用户查到的是外网地址

(2)配置:

1)vim /etc/named.conf 在主配置文件中,编写内外网查看不同文件代码,区分内外网用户

注释

 /*
 52 zone "." IN {
 53         type hint;
 54         file "named.ca";
 55 };
 56 
 57 include "/etc/named.rfc1912.zones";
 58 include "/etc/named.root.key";
 59 */

添加代码

view localnet{
 63 match-clients{ 172.25.254.201; };
 64 zone "." IN {
 65         type hint;
 66         file "named.ca";
 67 };
 68 include "/etc/named.rfc1912.localnet"
 69 };
 70 
 71 view internet{
 72 match-clients{ any; };
 73 zone "." IN {
 74         type hint;
 75         file "named.ca";
 76 };
 77 include "/etc/named.rfc1912.zones"
 78 };

2)cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.localnet
3)

vim /etc/named.rfc1912.localnet
 zone "happy.com" IN {
 20         type master;
 21         file "happy.com.localnet";
 22         allow-update { none; };
 23 };

在这里插入图片描述
4)

cd /etc/named
cp -p happy.com.zone happy.com.localnet

在这里插入图片描述
5)

 vim happy.com.localnet
%s/1.1.1/172.25.254/g  将网段1.1.1全部替换为172.25.254

在这里插入图片描述
在这里插入图片描述
6) systemctl restart named 重启服务

测试:

  • 在服务机:
    1)

    vim /etc/resolv.conf
    nameserver 172.25.254.201

改为本机ip自己询问自己
在这里插入图片描述
2) dig www.happy.com
在这里插入图片描述

  • 在其他测试机:
    1)dig www.happy.com
    在这里插入图片描述

7.DNS集群

  • 集群:多个dns服务器共同一个主dns服务器,缓解一台dns服务器的压力(主备模式)

配置:

  • 主服务器
    1)将 /etc/named.conf 配置文件双向解析代码恢复为原来默认访问代码
    2)systemctl restart named重启服务

  • 副服务器
    1)配置named服务及其配置文件(配置得与主服务器相同)

在这里插入图片描述
2)将配置文件 /etc/named.rfc1912.zones 中添加

zone "happy.com " IN{
type slave;
msters { 172.25.254.201;}; #ip为主服务器的ip
file"slaves/happy.com.zone"; #文件happy.com.zone为主服务器中的文件
allow-update{ none ;};

在这里插入图片描述
3)为防火墙添加dns服务(防火墙是用来防外部ip的)

firewalld-cmd --permanent --add-service=dns
firewalld-cmd  --reload
firewalld-cmd --list-all

在这里插入图片描述
4)systemctl restart named 重启服务

5)

vim /etc/resolv.conf  
nameserver 172.25.254.101

将DNS设置为本机ip 自己询问自己
在这里插入图片描述
测试:
在第三台主机上测试
1)

vim /etc/reslov.conf
nameserver 172.25.254.101

将dns改为副服务器ip
在这里插入图片描述
2)dig www.happy.com 可以看到 ip为主服务器上的域名起始文件中对应
在这里插入图片描述

8.集群域名更新同步

配置:
在主服务器:
1)vim /var/named/happy.com.zone 想要更新同步哪个文件中的域名解析内容就编辑哪个文件
改变serial 的值 任意改变 不超过10位数
www A 1.1.1.111 改变www.happy.com的域名解析
在这里插入图片描述
2)vim /etc/named.rfc1912.zones
为happy.com函数添加代码:also-notify { 172.25.254.101;}; 允许更新通知副服务器
在这里插入图片描述
3)systemctl restart named 重启服务

测试:
在副服务器:

1)systemctl restart named 重启服务
2)dig www.happy.com 发现解析已更新
在这里插入图片描述

9.用户添加dns更新

  • 开源方式更好的分享资源

配置
在主服务器方:

1)vim /etc/named.rfc1912.zones
在happy.com解析函数中更改代码
allow-update { 172.25.254.1; }; ip为可以添加更新的用户主机ip
在这里插入图片描述
2)setenforce 0 将selinux设置为Permissive或者Disabled模式
在这里插入图片描述
3)chmod 770 /var/named 要更新该目录下的文件 就应该给该目录所有组用户写的权限
4)systemctl restart named 重启服务
注意:可以将要被更新的文件(目录/var/named下的)备份,因为解析在被更新之后文件格式会发生变化 。

测试:
在允许更新的主机:

nsupdate
srver 172.24.254.201 #ip为主服务器ip
update add hello.happy.com 86400 A 172.25.254.1  #86400代表86400s 此条解析保质期为86400s一天
send #发送更新

在这里插入图片描述
在服务器方:

dig hello.happy.com

在这里插入图片描述
删除测试:
在这里插入图片描述
在这里插入图片描述

10.密钥更新DNS服务

  • 说明:上文的DNS更新服务是指定主机ip更新DNS,只有指定ip的主机才能更新,这种更新方式具有一定不确定性和不安全性,如果主机ip发生变化,也会带来不便利;而密钥更新DNS,不用考虑ip变化带来的弊端,只有有钥匙的主机才能更新,只要有钥匙的主机就能更新。

配置:

  • 配置准备:恢复之前未更新之前的服务,保证实验环境的纯净
    systemctl restart named 重启服务
    cp -p /mnt/westos.com.zone /var/named/ 将先前备份的解析文件恢复
    systemctl restart named 再次重启服务

(1)在主DNS服务器生成密钥

cd /mnt 方便起见可以到一个空目录下创建密钥
dnssec-keygen -a HMAC-MD5 -b 111 -n HOST westos 加密方式应该与服务本身加密方式相同 cat /etc/rndc.key 查看named服务加密方式为: HMAC-MD5

参数含义
-a加密方式
-b密码
-n识别方式 HOST主机名

ls /mnt 查看生成的密钥匙
在这里插入图片描述

(2)配置密钥文件

cp -p /etc/rndc.key /etc/happy.key仿照已有的密码文件样式建立需要的密码文件 一定要-p复制权限
vim /etc/happy.key 修改密码文件
修改密码文件名为happy
修改密码为生成密钥文件中的密码 cat /mnt/Khappy.xxx 查看密码
在这里插入图片描述
(3)配置DNS配置文件

1)vim /etc/named.conf 让服务去读取密码文件:在option语句块外添加代码:

include ”/etc/westos.key“

在这里插入图片描述
2)vim /etc/named.rfc1912.zones 更改更新方式为密码更新
allow-update{ key westos; }; westos 为密码文件名称
在这里插入图片描述
3)chmod 770 /var/named 给该目录所有组用户写权限,所有组用户才能更新相应解析文件
4)systemctl restart named 重启服务

(4)发送钥匙给要更新DNS的主机

scp /mnt/Kwestos* root@172.25.254.x:/mnt 将密钥发送给可以更新的主机
在这里插入图片描述
测试:

在可以更新解析主机方:
nsupdate -k Kwestos.xxx.key 指定更新dns更新使用密码

server 172.25.254.101
update add happy.westos.com 86400 A 1.1.1.1
send

在这里插入图片描述
发送更新成功,在DNS 服务器上dig:
在这里插入图片描述
更新后/var/named目录下会产生新的更新文件:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值