Linux系统的DNS解析

1、高速缓存DNS
1)dns服务器
BIND时最广泛的开源名称服务器
在RHEL中,通过bind软件包提供
防火墙开启端口53/TCP 和53/UDP
主配置文件在/etc/named.conf
/var/named目录包含名称服务器所使用的其他数据文件
/etc/named.conf的用法:
1、//或者#至行末尾是注释,//之间也是注释
2、指令以分号(;)结束
3、文件以options块开始,其中包含控制named如何运作的指令
4、zone块控制named如何查对于其具有权威性的根名称服务器和区域
2)配置
yum install bind -y 安装dns服务器
systemctl start named 开启服务
systemctl stop firewalld
netstat -antlupe | grep named 查看接口情况
vim /etc/named.conf
13 listen-on port 53 { any; }; 使任意网络都可以接入53接口
19 allow-query { any; }; 使任何人都可以来连接此DNS服务
20 forwarders {114.114.114.114;}; 设置解析域名为114.114.114.114
34 dnssec-validation no; 取消验证,实验是内网 ,不需要验证,yes是表示网警检测
systemctl restart named

测试端联网并配置如下:
systemctl start firewalld 开启防火墙
firewall-cmd --list-all 查看masquerade是否开启
firewall-cmd --add-masquerade 打开masquerade
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置DNS服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
vim /etc/resolv.conf
nameserver 172.25.254.147
在配置了服务的主机输入 dig www.taobao.com
需要时间2343ms如下:
在这里插入图片描述
在另外两台主机分别输入 dig www.taobao.com
用时分别为0ms,如下
在这里插入图片描述
2、正向解析
a、修改配置文件

vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };

dnssec-validation no;
b、创建域名
vim /etc/named.rfc1912.zones 此文件下写入的内容等同于在主配置文件/etc/named.conf下,分开写时为了便于维护
24 zone “westos.com” IN { 维护的域名为westos.com
25 type master;
26 file “westos.com.zone”; 域名文件,查询时候要查看westos.com.zone文件
27 allow-update { none; };
};
c、编写正向解析文件
cd /var/named/
ls
cp -p named.localhost westos.com.zone 生成域名文件,-p表示权限同步过来,复制一个模板,此处写westos.com.zone是因为配置文件中写的查找的文件是westos.com.zone
vim westos.com.zone
1 $TTL 1D ##表示客户缓存可以保存一天
2 @ IN SOA dns.westos.com. rname.invalid. ( @即表示域westos.com,SOA是授权起始。此文件中会自动添加@表示内容,故加“ . ”表示域名到此结束。“dns.westos.com.”客户访问时可以看到,即客户所访问的域名,此处rname.invalid. 表示谁来维护这台服务器
3 0 ; serial dns主从同步时间,当主dns此值发生变化,辅助dns服务器会同步主dns服务器
4 1D ; refresh 刷新时间是1天
5 1H ; retry 当访问无果时,1小时后可再次访问
6 1W ; expire 客户查询内容的有效期限,此处为1万天
7 3H ) ; minimum 缓存最短保存的时间
8 NS dns.westos.com.
9 dns A 127.25.254.147 将域名dns.westos.com转变为127.25.254.137
10 www A 172.25.254.111 将域名www.westos.com转变为172.25.254.111
11 bbs A 172.25.254.222 同上
systemctl restart named 重启服务

配置dns服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试
在这里插入图片描述
在这里插入图片描述
搜索www.westos.com
dig www.westos.com
在这里插入图片描述
搜索bbs.westos.com
dig bbs.westos.com
在这里插入图片描述
2)轮循、CNAME、MX的写法表示
vim westos.com.zone
1 $TTL 1D
2 @ IN SOA dns.westos.com. rname.invalid. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 127.25.254.147
10 www CNAME bbs.a.westos.com. 将www.westos.com转化成内部地址bbs.a.westos.com
11 bbs.a A 172.25.254.222
12 bbs.a A 172.25.254.111 设置轮循时,配置两个就可以
13 westos.com. MX 1 mail.westos.com. 优先级时1,MX–>邮件交换器
14 mail A 172.25.254.147 当别人发送邮件时,此主机接收
在这里插入图片描述
在这里插入图片描述
测试:
<1>测试CNAME-----dig www.westos.com,可以看到如下, www.westos.com转化成内部地址bbs.a.westos.com
在这里插入图片描述
<2>测试轮循 dig www.westos.com ,第一次搜索,看到是22服务器在处理,第二次时11服务器在处理,如下
在这里插入图片描述
在这里插入图片描述
<3>MX测试
发邮件给westos.com,发送成功
mail root@westos.com
Subject: adsf
asfsa
dfsasaf
.
EOT ##ctrl+d
mailq ##查看发送列表
在这里插入图片描述
3、反向解析
vim /etc/named.rfc1912.zones
49 zone “254.25.172.in-addr.arpa” IN { ##此处注意zone后面的写法,反着写的
50 type master;
51 file “172.25.254.ptr”;
52 allow-update { none; };
53 };
ls
cp -p named.loopback 172.25.254.ptr
vim 172.25.254.ptr
1 $TTL 1D
2 @ IN SOA dns.westos.com. haha.invalid. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 127.25.254.147
10 137 PTR dns.westos.com.
11 111 PTR www.westos.com.
12 222 PTR bbs.westos.com.
systemctl restart named
实验:反向解析与正向解析思路一致,部分配置有所不同:
1)配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
dig -x 172.25.254.111,可以看到解析成功
在这里插入图片描述
4、双向解析-----双向解析即内外网分两套查询体系,
编辑配置文件,使配置文件对两套解析文件都识别
修改配置文件
vim /etc/named.conf 修改配置文件,写入内外网分别对应
51 /*zone “.” IN {
52 type hint;
53 file “named.ca”;
54 };
55 */

56 view localnet {
57 match-clients{ localhost; };
58 zone “.” IN {
59 type hint;
60 file “named.ca”;
61 };
62 include “/etc/named.rfc1912.zones”; 内网访问的文件
63 };
64
65

66 view internet {
67 match-clients{ any; };
68 zone “.” IN {
69 type hint;
70 file “named.ca”;
71 };
72 include “/etc/named.rfc1912.inter”; 外网访问的文件
73 };

cp /etc/named.rfc1912.zones /etc/named.rfc1912.inter -p 生成外网域名文件
vim /etc/named.rfc1912.inter 配置外网域名文件
25 zone “westos.com” IN {
26 type master;
27 file “westos.com.inter”;
28 allow-update { none; };
29 };

cd /var/named/
ls
cp -p westos.com.zone westos.com.inter 生成外网查询文件
vim westos.com.inter
:%s/172.25.254/192.168.0/g
systemctl restart named
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
真机vim /etc/resolv.conf
nameserver 172.25.254.xxx
在这里插入图片描述
在这里插入图片描述
在本机 dig www.westos.com
在这里插入图片描述
在真机 dig www.westos.com
在这里插入图片描述
5、辅助DNS
注意:每次更改A记录文件后,都必须更改serial的数值,这个值最大10位
主DNS:
systemctl stop firewalld
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };

dnssec-validation no;
vim /etc/named.rfc1912.zones
25 zone “westos.com” IN {
26 type master;
27 file “westos.com.zone”;
28 allow-update { none; };
29 also-notify { 172.25.254.247; }; ##允许谁同步
30 };
systemctl restart named

辅助dns
yum install bind -y
systemctl start named
systemctl stop firewalld
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };

dnssec-validation no;
vim /etc/named.rfc1912.zones
25 zone “westos.com” IN {
26 type slave;
27 masters { 172.25.254.147; }; ##要同步的对象
28 file “slave/westos.com.zone”;
29 allow-update { none; };
systemctl restart named
配置主dns:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
辅助dns:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:辅助-- vim /etc/resolv.conf
nameserver
dig www.westos.com
检测辅助dns配置成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在主dns上更改解析地址 注意:每次更改A记录文件后,都必须更改serial的数值,这个值最大10位
vim westos.com.zone
1 $TTL 1D
2 @ IN SOA dns.westos.com. rname.invalid. (
3 2019021602 ; serial 辅助dns查看此值,当此值发生改变时,辅助dns同步,此值最大十位,为方便分析,时间+当天修改次数
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.westos.com.
9 dns A 127.25.254.147
10 www CNAME bbs.a.westos.com.
11 bbs.a A 172.25.254.22
12 bbs.a A 172.25.254.11
13 westos.com. MX 1 mail.westos.com.
14 mail A 172.25.254.147
systemctl restart named
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
辅助dns上dig www.westos.com, 可以看到与主dns同步
在这里插入图片描述
6、dns的远程更新
1)基于ip
主DNS
vim /etc/named.rfc1912.zones
25 zone “westos.com” IN {
26 type master;
27 file “westos.com.zone”;
28 allow-update { 172.25.254.247; }; ##允许172.25.254.247主机进行远程更新
29 also-notify { 172.25.254.247; };
30 };
chomd 770 /var/named/
systemctl restart named
getenforce ##查看selinux状态是否是disable,如果是,不需修改,如果不是做以下操作,否则会影响更新。
如果不是:
getsebool -a |grep named
named_tcp_bind_http_port --> off
named_write_master_zones --> off
setsebool -P named_write_master_zones on
主DNS 进行配置
cp -p westos.com.zone /mnt/ 此处为了实验结束恢复设置便捷,与实验本身配置无关
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在辅助dns测试
nsupdate ##添加
> server 172.25.254.147
> update add hello.westos.com 86400 A 172.25.254.111 86400表示1天,即1天是86400秒
> send
> quit
dig hello.westos.com
在这里插入图片描述
在这里插入图片描述
主dns/var/named/中会生成 westos.com.zone.jnl文件
在这里插入图片描述
westos.com.zone内容在重启服务后才会发生变化
重启服务前
在这里插入图片描述
重启后
在这里插入图片描述
[root@dns2 ~]# nsupdate ##删除,与添加同理
> server 172.25.254.147
> update delete hello.westos.com
> send
> quit
在这里插入图片描述
2)基于key
主dns
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos 生成密钥,加密方式是HMAC-MD5,长度是128字节,名字是westos
ls
cat Kwestos.+157+40174.key
westos. IN KEY 512 3 157 mVM6n8YnZX3rzyno2/emCQ==
vim /etc/named.conf
43 include “/etc/westos.key”;
44 logging {

cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
1 key “westos” { 注意修改引号内文件名
2 algorithm hmac-md5;
3 secret “mVM6n8YnZX3rzyno2/emCQ==”; 加密字符
4 };

vim /etc/named.rfc1912.zones
25 zone “westos.com” IN {
26 type master;
27 file “westos.com.zone”;
28 allow-update { key westos; }; 允许有key的更新
29 also-notify { 172.25.254.247; };
30 };
31

systemctl restart named
scp Kwestos.+157+40174.* root@172.25.254.247:/mnt/ 发送命令

主dns先恢复之前的配置
rm -fr westos.com.zone westos.com.zone.jnl
cp -p /mnt/westos.com.zone .
systemctl restart named
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
辅助DNS端进行更新,如果时间不同步,会出错,

nsupdate -k Kwestos.+157+40174.private
> server 172.25.254.147
> update add haha.westos.com 86400 A 172.25.254.95
> send
> quit
在这里插入图片描述
dig haha.westos.com,可以看到更新成功

7、ddn—花生壳
dns主服务器
配置DHCP服务
vim /etc/dhcp/dhcpd.conf
7 option domain-name “westos.com”; 维护的域
8 option domain-name-servers 172.25.254.137;

14 ddns-update-style interim; 开启dhcp更新dns功能

30 subnet 172.25.254.0 netmask 255.255.255.0 {
31 range 172.25.254.90 172.25.254.99;
32 option routers 172.25.254.137;
33 }
34
35 key westos { 更新dns时用到的key,也就是/etc/westos.key中
36 algorithm hmac-md5;
37 secret mVM6n8YnZX3rzyno2/emCQ==;
38 }
39
40 zone westos.com. { 指定dhcp的更新域
41 primary 127.0.0.1; 指定dns所在的主机ip,当dns在本机时,可用回环内部更新
42 key westos; 指定更新这个域时用到的key的名称
43 }
systemctl restart dhcpd
测试:
另一台主机 hostnamectl set-hostname news.westos.com 设定这个主机的主机名为news.westos.com,且这个名称在原有dns中没有。
配置网络为DHCP
systemctl restart network
dig news.westos.com

在主dns137上修改dhcp分配的网段范围
vim /etc/dhcp/dhcpd.conf

另一台主机重新获得ip地址
systemctl restart network
dig news.westos.com
可以看到两次解析的ip地址不同
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
另一台配置dhcp网络辅dns主机
在这里插入图片描述
在这里插入图片描述
修改主dns分配ip的网段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
另一台主机

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值