想学好一个知识,最好是由浅入深,浅是什么?是概念,是理论,只有知道了概念,知道了理论,实践起来就如虎添翼了,我这里给大家先介绍一下概念和相关理论 ,等下来就给大家介绍一下如何创建DNS,及创建从DNS。
一、关于DNS零碎知识点
DNS (Domain Name Service):名称解析
Name Resolving 名称转换(背后有查询过程,数据库)
域名:www.shuaige.com 主机名(FQDN:Full Qualifide Domain Name,完全限定域名),shuaige.com/com (域名)
DNS主要实现FQDN<-->IP转换,双向转换
nsswitch:提供平台,不提供转换。
libnss_files.so
libnss_dns.so
hosts : files dns
file:/etc/hosts
dns:DNS
stub resolver:名称解析器
TLD:顶级域(一般非为三类, 查找是自顶向下。)
组织域:.com,.org,.net,.cc
国家域:.cn,.tw,.hk,.iq,.ir,.jp
反向域:IP-->FQDN [不在同一条数据库]
反向:IP-->FQDN
正向:FQDN-->IP
为了安全,根不给任何一个递归。
递归:只经过一次请求
迭代:经过多次请求
查询:
递归:只发出一次请求
迭代:发出多次请求
解析:
反向:IP-->FQDN
正向:FQDN-->IP
DNS分布式数据库
上级进知道其直接下级
下级只知道根的位置
监听的协议及端口:(默认情况下查询过程都是使用udp协议的因为udp的速度快,因为不需要三次握手)
53/udp :默认
53/tcp :一般从服务器到主服务器传输数据的时候为了保证数据的完整性,可靠的传输
953/tcp:rndc监听的。
二、DNS服务器及类型
1、DNS服务器
接受本地客户查询请求(递归)
外部客户端请求:请求权威答案
肯定答案中有TTL值
否定答案中也包含TTL值
外部客户端请求:非权威答案
2、DNS服务器类型
(1)主DNS服务器:数据修改
(2)辅助DNS服务器:请求数据同步
定义五种属性信息。
serial number(版本号、序列号)
refresh:刷新时间,定义辅助DNS服务器隔多长时间检查主DNS服务器
retry :重试时间
expire:过期时间
nagative ansver TTL :定义否定答案生存周期
(3)缓存DNS服务器
(4)转发器:不缓存,只转发
数据库中的每一个条目称为一个资源记录(Resource Record ,RR)
三、资源记录的格式:
- 第一段 第二段 第三段 第四段 第五段
- NAME [TTL] IN RRT(资源记录类型) VALUE
- www.shuaige.com. IN A 1.1.1.1
- 1.1.1.1 IN PTR www.shuaige.com.
【提示:后面这个点必须加上】
资源记录类型:
1、SOA(Start Of Authority): 起始授权记录【提示:第一条必须是它,区域文件中只能有一条】
- 格式: ZONE NAME(@) TTL IN SOA FQDN(主DNS服务器名称) ADMINISTRATOR_MAILBOX(
- serial number
- refresh
- retry
- expire
- na ttl )
时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位为秒
邮件格式:[email protected]写为-->admin.magedu.com
例如:
- magedu.com. 600 IN SOA ns1.magedu.com admin.magedu.com(
- 2013040101(最长不能超过10位)
- 1H
- 5M
- 1W
- 1D )
2、[常用]NS:(Name Server):DOMAIN NAME --> FQDN
例如:magedu.com. 600 IN NS ns.magedu.com.[从区域名到主机名]
ns.magedu.com 600 IN A 1.1.1.2
3、MX(Mail eXchanger):ZONE NAME-->FQDN
格式: ZONE NAME TTL IN MX pri VALUE
优先级;从0-99的,数字越小级别越高
magedu.com. 600 IN MX 10 mail.magedu.com.
mail.magedu.com. 600 IN MX A 1.1.1.3
4、A(address) : FQDN-->IPv4 【提示:只要是从主机名的资源类型都是A】
5、AAAA :FQDN-->IPv6
6、PTR (pointer):IP-->FQDN
7、CNAME:别名记录
四、区域类型及区域传送类型
区域类型:
主区域:master
从区域:slave
提示区域:hint 【定义根在什么地方】
转发区域:forward
区域传送的类型:
完全区域传送:axfr
增量区域传送:ixfr
五、bind97:
1、/etc/named.conf:主配置文件所在
BIND进程的工作属性
区域的定义
2、/etc/rcdc.key [只是密钥]
rcdc: Remote Name Domain Controller
密钥文件
/etc/rndc.conf 配置信息
3、/var/named/ 区域数据文件
4、/etc/rc.d/init.d/named 【服务控制脚本】和/etc/sysconfig/named 不是bind提供的。是提供方提供的。 去读:/etc/rc.d/init.d/fuctions
{start|stop|restart|status|reload|}可能有时候会不支持configtest[测试]
二进制程序:named 默认使用-c去读取配置文件/etc/named.conf
dig :DNS lookup utility
-t RT NAME 例如:dig -t NS . 【前提:必须联网】
-x IP:根据IP查找FQDN
aa :Authority Answer权威答案
host -t RT NMAE:查询名称的解析结果
nslookup:交互式
nslookup>
server IP
set q=RT
NAME
named.ca:存放根服务器的位置
named.localhost :解析本地回环地址
named.loopback:本地地址的正反向解析
rndc:远程域名控制器服务器
六、根区域的定义:【用named-checkconf查看错误,只能检查语法错误,无法检查逻辑错误例如没有创建文件】
1、根区域的定义:
zone "ZONE NAME" IN {
type {master|slave|hint|forward};{}里面是选一个的。
};
2、主区域:
file “区域数据文件”
3、从区域:
file "区域数据文件"
masters {
4、临时性地关闭SELLinux:
#getenforce
Enforcing(启动)
#setenforce(临时关闭)
#setenforce (临时开启)
5、永久性的关闭
配置文件在/etc/selinux/config
如果配置错误,我们就要查看日志。