基本DNS服务器的配置
DNS:域名解析服务
一种协议工作在应用层
同时监听TCP和UDP 53 号端口
udp 响应查询请求
tcp 响应辅助域名服务器实现请求辖区数据同步
主机上的文件 /etc/hosts 也能提供解析
常识我们知道:要记住一个人的特征是记住这个人的名字对应于相应的面孔而不是记身份证号码
所以就产生了通过名称或简单字符访问主机基于名称或字符串实现
最初开始是在/etc/hosts 实现 每个主机对应于一个hosts 文件、一个ip对应于一个hosts文件
但是当网络规格扩展到很大的时候这个文件系统就变得庞大无比,文件不定期的增长 管理非常麻烦
国际名称地址分配机构 负责每个地址的名称分配 所有信息都要注册在这里
专门用一个服务器做成一个FTP 服务器 每一个主机都要使用名称 同时也为了主机名称的统一标准
通过FTP hosts 国际名称地址分配机构又划分了许多的子机构 管理自己所属区域内的地址解析
花钱注册名称(域名),所有客户端,所有用户的请求信息都要注册在国际名称分配机构这里 维护人员定期的查看如果有一个用户更新了把相关信息和IP地址的对应关系 通 过FTP服务器上的HOSTS文件共享出去 任何一个服务器的管理员 只要写一个周期性的脚本计划 定期到 FTP 上更新下载覆盖到本地 就可以实现 实时更新本地/etc/hosts 文件
后来 WWW 的发展 主机越来越多 催生了DNS协议 对hosts文件的一种扩展 HOSTS文件的解析功能分片 名称解析库 做一个客户端软件 一个名称解析库 应用程序调用本地这 个库 查询结果返回
最终风化成了层次性的分布式的结构 分片管理
DNS自上而下形成一颗倒置树状结构:
结构特征: 层次结构都是上层知道下层在哪儿 而下层不知道上层的结构
. //最上层 . 顶级域名 文件系统中称根
.com .net .... //组织域 国家域
.ibm.com
e.g. www.ibm.com. //最后一个点我们基本没用过
注册的都是二级域名 层次结构
DNS 查询类型:
递归查询 recursive Client->A->B->C
只发出一次请求 必须要知道答案
e.g. A 要知道B 的地址在哪儿,但A 不知道B在哪儿 于是问C
C知道了B的地址在哪儿并在C取得了答案在反馈给A
迭代查询 发送请求 后要A 去查询另一个
e.g. A 要知道B 的地址在哪儿,但A 不知道B在哪儿 于是问C
C知道了B的地址在哪儿,然后由A自己查找到所要找的信息
↑ ↓
Client --->
↓ ↑ <---
互联网上运用 分两段式查询:
客户端 DNS 给本地提供服务递归 也只给本地递归,服务器本身迭代查找
HOSTNAME--> IP 正向解析
IP-->HOSTNAME 反向解析
默认情况下: 只要安装DNS服务器 就要告诉服务器顶级域名位置
DNS查找解析 先把信息发送给本地服务器 本地服务器直接发给顶级域名 顶级域名再迭代查找
所以说前半段递归 ,下半段迭代查找
特点:
查找不能越级指挥
查找必须迭代查询
e.g. 3a.com 域名 授权的过程 3a 获得上级的授权后可以管理里面所有的主机包 括自己的名称
-------------------------------------------------------------------------------------
记录类型 标识
DNS是一个数据库 查找数据库 查找对应的地址返回 一个地址对应于一个主机
一个库 实现的解析方法不同
常见的记录类型:
FQDN--> IP A
IP --> FQDN Pointer 指针记录
DOMAIN-->SERVER: NS Name Server 名称服务记录
DOMAIN --> MTA MX (Mail eXchange) 标识一个域的邮件服务器
别名 --> Jerry: CNAME 正式名
用于表明起始域 SOA(start or Authority) 起始授权记录
DNS 服务器类型:
为了保证服务的可用性 可对应于多个副DNS域名服务
创建和删除只有主服务器才有权限
副服务器每隔一段时间区域传送一次
区域传送:
axfr : 完全区域传送
infr 增量区域传送
主服务器--辅助名称服务器
为了保证信息的解析传输安全同步除了一个主服务器外还增加了一个辅助服务器
主服务器 文件发生改动时 notification 通知辅助服务器开始同步了
什么是域 、区域?
两种不同关系的概念:
一个域包含一个正向区域和一个反向区域
正向需要一个单独的数据库文件,反向也需要一个单独的数据文件
域是逻辑概念 区域是物理概念
定义域就是定义一个倒置树节点 定义区域就是定义一个文件
缓存名称服务器
节约带宽 加速
转发器 把用户的请求转发出去 实现内外两台防火墙DNS之间的交互
-----------------------------------------------------------------------
查询流程 : 从客户端应用角度看
e.g. www.a.org
1. 查找 /etc/hosts
2. dns cache 非权威解析 不是自己所负责的域
3. server 权威解析 authoritive 查找本地的DNS进程并返回 本服务器解析的域
靠本地的库文件自动解析 共享库解析
stub reslver 最根本的名称解析 包括host
==========================================================================
BIND: Berkely Internet Name Domain
www.isc.org // 运维网站
命令:
yum list all bind* 查看bind所有软件包
用rpm 包安装不要装 chroot
只需要装 bind i386
yum list all cach*
配置默认的缓存
解析记录
name [ttl] IN RECORD_TYPE value //缓存的有效期限 变化频繁 ttl 修订短
越短服务器压力越大 最起码10分钟
第一条记录,类型为 SOA ,对于一个数据文件来讲 SOA 只能有一个
www.a.org 86400 IN A 1.1.1.1
1.1.1.1 86400 IN PTR www.a.org
------------------------------------------------------------------ --
DNS 是协议
bind 是软件,进程名叫named 所以配置名叫做named.conf
bind软件 默认配置文件位置
1. /etc/name.conf
全局选项段 : 全服务器有效
options {
version "hello";
};
局部生效
zone "a.org" IN {
};
2. /etc/rndc.conf
/etc/rndc.key bind 远程管理辅助工具
定义区域与全局选项
数据文件位置:
/var/named
named.ca // 定义根的位置
dig -t NS . //查看全球13个根目录 前提是要能上互联网
从a.root-servers.net. -- m.root-servers.net. 一共13个
Include 包含主配置文件
通常每一个域内都有两个文件 负责正向和反向解析
至少需要3个域 可以向互联网发起查询请求
1 根
2 localhost
3 反向解析
=====================================================================
* 从头开始建立:
*
* vim /etc/named.conf
* options {
* directory "/var/named"; //定义工作目录
* };
*
* zone "." IN {
* type hint;
* file "named,ca"; 默认路径
* };
* zone "localhost" IN {
* type master;
* file "localhost.zone";
* };
* zone "0.0.127.in-addr.arpa" IN{
* type master;
* file "named.local";
* };
*
*
* chown :named /etc/named.conf
*
* -------------------------------------------------------------------------
* 正向解析:localhost.zone
* cd /var/named/
* vim localhost.zone
*
* $TTL 86400
* @ 600 IN SOA localhost. admin.localhost. (
* 2011081601 // 序列号
* 1H // w d 默认s 刷新时间
* 10M // 重置时间
* 7D // 过期时间
* 1D ) // 否定答案的ttl值
* IN NS localhost.
* localhost. IN A 127.0.0.1
*
* -------------------------------------------------------------------------------------------------------------------------------------
* 反向解析:named.local
* cp localhost.zone named.local
* vim named.local
*
* $TTL 86400
* @ 600 IN SOA localhost. admin.localhost. (
* 2011081601
* 1H
* 10M
* 7D
* 1D )
* IN NS localhost.
* 1 IN PTR localhost.
* --------------------------------------------------------------------------------------------------------------------------------------
* 根服务器:named.ca
* dig -t NS . @a.root-servers.net > /var/named.ca
*
*
=========================================================================
DEBUG:
检查区域主配置文件的语法错误: 不检查逻辑错误
named-checkconf
检查区域错误: //先说明哪个区域在说明对应的文件是什么
named-checkzone "localhost" /var/named/localhost.zone
service named start //启动服务
netstat -tunlp | grep :53 //查看端口53 的状态
现在可以作为一个缓存名称服务器
vim /etc/resolv.conf
nameserver 127.0.0.1
dig -t A www.baidu.com
OK 一个缓存名称服务器已经建立起来了
==============================================================================
如何做一个DNS服务器
net.cn
万网注册了一个域名a.org
第一步:去万网管理后台建两个记录
调整DNS 服务器地址 换成自己名字地址
两条DNS 服务地址/主机改成 ns1.a.org ns2.a.org
保证有A 记录
假如有两台服务器:
ns1.a.org 主服务器 100.1
ns2.a.org 从服务器 100.2
怎么让 172.16.100.1 去解析一个域的所有的主机相关联的记录?
ns1.a.org
ns2.a.org
www.a.org
ftp.a.org
bbs.a.org www
-------------------------------------------------------------------------------------------------------------------------------------
* vim /ect/name.conf
* 加上下面一段:
* zone "a.org" IN {
* type master;
* file "a.org.zone";
* };
*
* named-checkconf
---------------------------------------------------------------------------------------------------------------------------------------
*
* cd /var/named/
* vim a.org.zone
*
* $TTL 1200
* @ IN SOA ns1.a.org admin.a.org. (
* 2011081601
* 1H
* 10M
* 7D
* 1D )
* IN NS ns1.a.org.
* IN NS ns2.a.org.
* IN MX 10 mail.a.org.
* ns1.a.org. IN A 172.16.100.1
* ns2.a.org. IN A 172.16.100.2
* mail.a.org. IN A 172.16.100.1
* www.a.org. IN A 172.16.100.3
* bbs.a.org. IN CNAME www.a.org.
* ftp.a.org. IN A 172.16.100.100
------------------------------------------------------------------------------------------------------------------------------
要生效 改属组
chown :named a.org.zone
service named reload
-------------------------------------------------------------------------------------------------------------------------------
CMD 测试
debug:
nslookup
server 172.16.100.1
set q=A
www.a.org
set q=NS
a.org
set q=SOA
a.org
cat a.org.zone
linux debug: 两个客户端测试
host -t NS a.org
host -t A bbs.a.org
dig -t A www.a.org
flages qr aa rd ra
响应 权威答案
dig -t CNAME
dig -t axfr a.org 完全区域传送 把记录全部拿过来 使用TCP53号端口传输
------------------------------------------------------------------------------------------------------------------------
反向解析:172.16.zone
vim /etc/named.conf
添加如下:
zone "16.172.in-addr.arpa" IN{
type master;
file "172.16.zone";
};
------------------------------------------------------------------------------------------------------------------------
cd /var/named/
vim 172.16.zone
cp a.org.zone 172.16.zone
vim !$
$TTL 1200
@ IN SOA ns1.a.org admin.a.org. (
2011081601
1H
10M
7D
1D )
IN NS ns1.a.org.
IN NS ns2.a.org
1.100 IN PTR ns1.a.org.
2.100 IN PTR ns2.a.org.
1.100 IN PTR mail.a.org.
3.100 IN PTR www.a.org.
100.100 IN PTR ftp.a.org.
---------------------------------------------------------------------------------------------------------
检查语法错误 :
named-checkzone "16.172.in-addr.arpa" /var/named/172.16.zone
service named restart
OK! 一个完整的DNS服务器就建立好了
基本DNS服务器的配置相关推荐
- DNS同时占用UDP和TCP端口53——传输数据超过512时候用tcp,DNS服务器可以配置仅支持UDP查询包...
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下使用这两种协议. 先简单介绍下TCP与UDP. ...
- dns服务器的配置与管理
dns服务器的配置与管理 dns服务器的配置与管理 1. dns 的概述 当我们查询网站的时候你在浏览器上输入域名的时 ...
- bind dns mysql,linux下bind9.8+dlz+mysql 的dns服务器局域网配置
linux下bind9.8+dlz+mysql 的dns服务器局域网配置 安装1.mysql 我用的二进制包安装 groupadd mysql useradd -r -g mysql -s /sbin ...
- 运维之DNS服务器Bind9配置解析和基础示例及附带命令
0x03 Bind 配置解析 实例1.DNS主从区域传输介绍与配置 实例2.DNS区域传输限制 实例3.DNS部分二级域名解析 示例1.采用Bind建立一个A记录DNS服务器 示例2.采用Bind建立 ...
- Centos7虚拟机的DNS服务器的配置和测试
Centos7虚拟机配置DNS服务器和验证(包含windows宿主机验证) 概述 本文实现了Centos7虚拟机上的DNS服务器的配置,主要是用户配置区文件的配置,并且在宿主机windows上的验证[ ...
- 使用docker在Centos上做DNS服务器的配置
DNS服务器的配置 1. Docker安装DNS 1.1 安装docker 1.2 启动docker服务 1.3 运行DNS容器 1.4 运行nginx容器 1.5 docker相关问题解决 2.两种 ...
- dns服务器响应配置,没有配置的dns服务器响应
没有配置的dns服务器响应 内容精选 换一换 本节介绍如何配置WAF的对外协议与源站协议.根据您的业务场景的不同,WAF提供灵活的协议类型配置.假设您网站为www.example.com,WAF可配置 ...
- DNS服务器基本配置
DNS服务器基本配置 转载请标明出处 前期准备:linux系统.bind安装包,网络静态IP的配置(本人服务器IP设置为:192.168.240.139) 第一步:安装bind Tar -zxfv b ...
- 【DNS服务器的配置】
前言 这是[Windows Server 2016 服务器配置与管理]的一些实操 下面是我自己做实验过程当中的一些简单记录,可能会有小错误,欢迎大家的指正! Slogan:日拱一卒,功不唐捐!!! 问 ...
- Centos 安装DNS服务器并配置无查询结果转发功能
文章目录 什么是DNS 安装DNS服务 安装软件包 启动DNS服务 iptables 放行53号端口 修改DNS服务的配置文件 修改主配置文件 设置转发器 修改主域文件 修改域文件 测试结果 修改本机 ...
最新文章
- 右键菜单打开文件所在文件夹的插件EasyExplore
- where to park your bike?
- 【完全开源】微信客户端.NET版
- 上传图片文件(支持远程存储)
- Android之解析XML总结(SAX、Pull、Dom三种方式)
- 转:修改Content Server管理员密码 - [Documentum 实施开发记录]
- dp笔记:关于DP算法和滚动数组优化的思考
- 一个软件网络连接异常_你的电脑运转正常吗?这 10 款系统监控软件能告诉你答案...
- scrapy使用crawlspider
- leetcode 1227 python
- 倒计时 分秒 小程序 方法_小程序天/小时/分秒倒计时封装
- 数字的与或非处理表中的多个状态(二)
- c++ map 修改value_深度解密Go语言之map
- Carry On My Wayward Son -- Kansas
- 最优化理论与方法1--理论基础
- python爬取酷狗音乐top500及歌词_爬取酷狗音乐Top500(示例代码)
- WORD如何使得公式居中,公式编号右对齐?
- TR CEV65M-01460一个人,也有春夏秋冬
- 【汇正财经】什么是金融股?
- FFmpeg进阶: 截取视频生成gif动图