Day15 DNS服务基础&桥设备(Service04)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day15 DNS服务基础&桥设备(Service04)相关的知识,希望对你有一定的参考价值。

一、DNS工作原理

1.1 DNS解析的作用

DNS服务器的功能
正向解析:根据注册的域名查找其对应的IP地址
反向解析:根据IP地址查找对应的注册域名。在安全领域常用,比如查询邮件是否是真正的域名持有人发出的,验证邮件的源IP和域名是否相符

1.2 DNS的分布式架构

FQDN(Full Qualified Domain Name)完全合格主机名
站点名.域名后缀
站点名.三级域.二级域.一级域

1.3 DNS域名管理

IANA(Internet Assigned Numbers Authority)互联网数字分配机构
整个域名系统的最高权威机构,管理DNS根,.int,.arpa等国际化域名资源
CNNIC(China Internet Network Information Center )
主管国家顶级域.cn

二、BIND服务分析

2.1 简介

BIND(Berkeley Internet Name Daemon)伯克利Internet域名服务
官网:https://www.isc.org
执行程序:/usr/bin/named
系统服务:named
默认端口:53/tcp、53/udp。正常解析时用udp协议,主从同步之间用tcp协议传输配置文件信息
运行时的虚拟根环境:/var/named/chroot
安装包:bind、bind-chroot
帮助文件:/usr/share/doc/bind-9.9.4/sample/

2.2 /etc/named.conf

named的主配置文件。指定负责解析的域名是什么。

2.2.1 注释格式

//、#表示注释单行,/....../里面的内容表示多行注释

2.2.2 修改主配置文件

listen-on port 53 { 127.0.0.1; };#表示仅监听本机
要监听所有ip地址有两个方法
方法1:listen-on port 53 { any; };
方法2:把该行删除,就会默认监听所有ip地址
options {
directory "/var/named";#地址库文件路径为/var/named
recursion no;#默认值为yes,手动设置no来禁止递归查询
allow query { any; };#允许任何客户机查询
};
zone "负责解析的域名" IN {
type 类型;#类型为master、slave、forward、hint
file "区域文件";标准的格式为解析的域名.zone
};
例子:
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
2.3 /var/named/
named区域数据文件目录,存放多个区域文件,区域文件的内容为主机名与ip地址的对应关系。

2.3.1 注释格式

;为注释符,只有单行注释,没有多行
域名必须以.结尾,如果没有加.的话系统会自动补全,补全什么呢?补全的是主配置文件中定义该区域数据文件解析的是哪个域名,这里是tedu.cn+"."

2.3.2 拷贝模板文件为区域文件

cp -p /var/named/named.localhost /var/named/tedu.cn.zone#加-p选项保证named用户对该文件有读权限,也可以用chown,chmod等方式赋予读权限

2.3.3 修改区域文件

目前先修改最后两行
格式:
负责解析的域名+"." NS DNS服务器的FQDN主机名+"."
DNS服务器的FQDN主机名+"." A DNS服务器的IP地址
例子:
复杂写法:
tedu.cn. NS svr7.tedu.cn.
svr7.tedu.cn. A 192.168.4.7
简单写法:
@ NS svr7 #@表示在主配置文件中定义的负责解析主机名+"."。这里是tedu.cn.
svr7 A 192.168.4.7#两行的svr7可以更换为其他字符,只要相同即可

2.3.4 变量

$TTL 生存时间
SOA 授权信息开始

2.3.5 修改/etc/resolv.conf

nameserver 192.168.4.7

2.4 DNS查询测试命令

2.4.1 host 域名 [‘DNS服务器地址‘]

host www.qq.com ‘192.168.4.7‘
Using domain server:
Name: 192.168.4.7
Address: 192.168.4.7#53
Aliases:

www.qq.com has address 1.1.1.1

2.4.2 dig 域名[@DNS服务器地址]

更专业的DNS查询测试命令
dig www.qq.com @192.168.4.7
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.qq.com @192.168.4.7
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55516
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.qq.com. IN A

;; ANSWER SECTION:
www.qq.com. 86400 IN A 1.1.1.1

;; AUTHORITY SECTION:
qq.com. 86400 IN NS ns.qq.com.

;; ADDITIONAL SECTION:
ns.qq.com. 86400 IN A 192.168.4.7

;; Query time: 0 msec
;; SERVER: 192.168.4.7#53(192.168.4.7)
;; WHEN: 五 11月 17 02:59:29 EST 2017
;; MSG SIZE rcvd: 88

2.5 多区域的DNS服务器搭建

2.5.1 在/etc/named.conf增加解析域名qq.com

zone "qq.com" IN {
type master;
file "qq.com.zone";
};

2.5.2 拷贝并修改/etc/named/qq.com.zone区域文件

cd /var/named
cp -p tedu.cn.zone qq.com.zone
vim qq.com.zone
增加内容:
qq.com. NS ns.qq.com.
ns.qq.com. A 192.168.4.7
www A 1.1.1.1
ftp A 2.2.2.2

2.5.3 systemctl restart named

重启服务

2.5.4 nslookup www.bj.tedu.cn 192.168.4.7

指定192.168.4.7为DNS服务器来解析域名

2.6 特殊的解析记录

2.6.1 DNS轮询

默认就是轮询方式。
在地址库文件里面增加多条主机名相同、ip地址不同的解析记录即可

2.6.2 泛域名解析

匹配本域内未定义的的任何主机地址
以"*"匹配,放在区域文件中最后一行,一般用在正向区域文件中

2.6.3 有规律的泛域名解析

stu1.tedu.cn.------192.168.10.1
stu2.tedu.cn.------192.168.10.2
......
stu60.tedu.cn------192.168.10.60
一条记录即可。因为区域文件有函数可以生成连续范围的数字:$GENERATE
$GENERATE 1-60 stu$.tedu.cn. A 192.168.10.$

2.7 查询类型

2.7.1 递归查询

DNS服务器与其他DNS服务器交互,最终将解析结果带回来交给客户端的过程
客户端对首选DNS服务器的查询是递归查询。互联网上DNS服务器都会禁止递归查询

2.7.2 迭代查询

DNS服务器不提供解析结果,只告诉查询客户端应该找另外一个DNS服务器去查询
首选DNS服务器对其他DNS服务器的查询是迭代查询

三、DNS子域授权和子域转发

3.1 父域和子域

父域:www.tedu.cn 父域的DNS负责解析tedu.cn
子域:www.bj.tedu.cn 子域的DNS负责解析bj.tedu.com

-父域的DNS服务器,能够解析tedu.cn结尾(父域)的主机名
-子域的DNS服务器,能够解析bj.tedu.cn结尾(子域)的主机名
-父域的DNS服务器,也能够解析bj.tedu.cn结尾(子域)的主机名,这个就是子域授权
-子域的DNS服务器,也能够解析tedu.cn结尾(父域)的主机名,称之为子域转发

3.2 子域授权具体操作

192.168.4.7上操作:
vim
tedu.cn. NS svr7.tedu.cn.
bj.tedu.cn. NS pc207.bj.tedu.cn.#增加一条
svr7.tedu.cn. A 192.168.4.7
pc207.bj.tedu.cn. A 192.168.4.207#增加对应一条

192.168.4.207上验证:
nslookup www.bj.tedu.cn 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Non-authoritative answer:#非权威回答,找权威服务器查询得知的
Name: www.bj.tedu.cn
Address: 1.2.3.4

3.3 子域转发具体操作

192.168.4.207上操作:
vim /etc/named.conf
增加:
zone "bj.tedu.cn" IN {
type forward;#类型为转发
forwarders { 192.168.4.7; };#注意前后的空格、分号等
};

四、缓存DNS

4.1 概述

内存要比较大,因为查询结果都是放在内存中。不需要管理任何DNS区域,但是能够代替客户机查询,并且通过缓存、复用查询结果来加快速度

4.2 应用场景

企业内网DNS
ISP公用DNS

4.3 解析记录来源

4.3.1 全局转发式缓存

将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务

4.3.2 根域迭代式缓存

依次向根域、一级域、二级域等的DNS,请求迭代服务

五、DNS Split分离解析(view解析)

5.1 概念

当收到客户机的DNS查询请求的时候,区分客户机的来源地址,来为不同类别的客户机提供不同的解析结果(IP地址)

5.2 适用场景

访问压力大的网站,需要购买CDN提供的内容分发服务。内容分发服务就使用了这个技术,
CDN供应商在全国都有镜像服务节点,针对不同的客户机就近提供离客户最近的服务器

5.3 配置Split分离解析

5.3.1 创建多个区域数据文件

cd /var/named/
cp -p tedu.cn.zone tedu.cn.zone.lan
cp -p tedu.cn.zone tedu.cn.zone.other
sed -i s#1.1.1.1#192.168.4.100#g tedu.cn.zone tedu.cn.zone.lan

5.3.2 针对来源地址定义acl列表

acl列表定义要单独一个格式段,不能放在option格式段里面
acl "mylan" {
192.168.4.207;
192.168.4.254;
};

5.3.3 配置两个view,调用不同的区域数据文件

view视图匹配的规则是从上到下,匹配即停止。
一但启用了view视图,所有的zone必须在view格式段里面,而且多个view里面的zone的数量必须相同
主配置文件里面只能有两个view格式段

view "lan" {
match-clients { mylan; };#匹配acl,名字为mylan
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone.lan"
};
};
view "other" {
match-clients { any; };#匹配任意地址
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone.other"
};
};

5.3.4 systemctl restart named

以上是关于Day15 DNS服务基础&桥设备(Service04)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA零基础小白入门上手教程day15-泛型&File

008day--linux 基础之网络配置和ssh服务

DNS主从同步搭建测试

使用命令virsh管理网络设备,创建桥设备 和 使用virt-manager创建虚拟机

Linux基础shell命令 day-2

HTTP服务基础 网页内容访问 安全Web服务 部署动态网站-day09