一、DNS
DNS:Domain Name Service
协议:
UDP:53
TCP:53
实现:BIND(Berkeley Internet Name Domain,PowerDNS,dnsmasq
MAC-->IP-->主机名称-->DNS
名称解析:将一种格式的信息转化为另外一种格式,以某关键字为标准查找某一数据库的过程
passwd <--> nsswitch转换
login:nsswitch为login提供服务
nsswitch配置文件在/etc/nsswitch
/etc/hosts:存放的为主机与ip、别名
namespace:名称空间
分布式数据库:将数据库切割,放在不同的服务器上
根域(.)-->一级域/顶级域(ICCNA)-->二级域(组织域)
一级域:
组织域:.com,.org,.mil,.gov,.edu,.net,
国家域:.cn,.hk,.tw,.jp,.ir(伊朗),.iq(伊拉克),.us,.uk
反向域:.in-addr.arpa,
二级域:申请
递归:逐层解析
迭代:DNS才会迭代
根拒绝回答递归问题
FQDN:Full Qualified Domain Name 完全域名解析
FQDN --> IP 正向解析
IP --> FQDN 反向解析
DNS服务器的类型
主DNS服务器
辅助DNS服务器
缓存名称服务器
区域传送:
辅助DNS服务器从主DNS服务器或其它的辅助DNS服务器请求传输数据的过程
完全区域传送:传送区域的所有数据,AXFR
增量区域传送:传送区域中改变的数据部分,IXFR
查询:
递归查询:只发起一次请求,最终能得到答案
迭(die)代查询:发起一次请求,不一定得到答案
客户端指向的DNS服务器,一定是允许给本地主机做递归的
资源记录(Resource Record):
数据库每一个条叫一个资源记录,资源记录有类型,用于表示资源的功能
SOA:Start Of Authority,起始授权
NS:Name Server,域名服务器
MX:mail eXchanger:邮件交换器
A:Address,(FQDN-->IP)地址记录
PTR: PoiTeR,(IP-->FQDN)
AAAA:Address,FQDN-->IPv6
CNAME:Canonical Name,正式名称(别名记录)
DNS:FQDN --> IP
正反向解析技术不同,因此不应该存放于同一个数据库文件中进行
域:Domain,逻辑概念
区域:zone,物理概念
DNS的数据库文件(区域数据文件,区域自身有名字):文本文件,只能包含资源记录或宏定义,每行一个
资源记录的格式:
name [ttl(缓存有效时间)] IN 资源记录类型(RRtype) Value
例子:
www 600(单位s) IN A 1.2.3.4
www.magedu.com. 600 IN A 1.2.3.4
SOA:
只能有一个
name:只能是区域名称,例如:magedu.com.通常可以简写为@,
value:有n个数值,最主要的是主DNS服务器的FQDN,点不可省略
注意:SOA必须是区域数据库文件第一条记录
例子:
@ 600 IN SOA na.magedu.com. 管理员邮箱(dnsadmin.magedu.com.)(
序列号(serial number) ;注释内容,十进制数据,不能超过10位,通常使用日期,例如2015092017
刷新时间(refresh time) ;即每隔多久到主服务器检查一次
重试时间(retry time) ;应该小于refresh time
过期时间(expire time)
netgative answer ttl ;否定答案的ttl
)
NS:
可以有多条
name:区域名称,通常可以简写为@
value:DNS服务器的FQDN(可以使用相对名称)
例子:
@ 600 IN NS ns
A:
只能定义在正向区域数据文件中
name:FQDN(可以使用相对名称)
value:IP
例子:
www 600(单位s) IN A 1.2.3.4
www 600(单位s) IN A 1.2.3.5
可做轮询,效果不好(缓存),
www 600(单位s) IN A 1.2.3.4
ftp 600(单位s) IN A 1.2.3.4
但凡以FQDN做为其值的记录,应该给这个值做一条A记录
AAAA:
MX:可以有多个
name:区域名称,用于标识smtp服务器
value:包含优先级和FQDN
优先级:0-99,数字越小,级别越高,
例子:
@ 600 IN MX 10 mail
@ 600 IN MX 20 mail2
CNAME:
name :FQDN
value :FQDN
例子:
ftp IN CNAME www
PTR:IP --> FQDN,指针记录,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in.addr.arpa.后缀组成
name:IP,逆向的主机地址,例如172.16.100.7的name为7.100,完全格式为7.100.16.172.in-addr-arpa.
value:FQDN
例子:
4.3.2 600 IN PTR www.magedu.com.
二、BIND
isc(www,isc.org)
DNS,bind,named
案例:magelinux.com
192.168.100.
mail,172.16.100.21
pop-->mail 别名
ftp-->www 别名
dns:192.168.100.20
主配置文件:
主配置文件:定义区域,/etc/named.comf 属主root,数组named,权限:640
区域数据文件:/var/named/ 属主root,数组named,权限:640
至少有三个区域:
根
localhost
127.0.0.1
named:
用户:named
组:named
主配置文件:
options {
//全局选项
}
zone "ZONE name" {
//定义区域
}
logging {
//定义日志系统
}
格式:以分号结尾,{}间有空格
type {hint|master|slave|forward}
bind主配置文件: [root@xxj ~]# cat /etc/named.conf options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "locahost" IN { type master; file "named.localhost"; }; zone "localhost.localdomain" IN { type master; file "named.localhost"; }; zone "1.0.0.127.in-addr.arpa." IN { type master; file "named.loopback"; }; zone "magelinux.com" IN { type master; file "magelinux.zone"; }; [root@xxj ~]# service named configtest #检测配置文件是否有错 zone locahost/IN: loaded serial 0 zone localhost.localdomain/IN: loaded serial 0 zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 [root@xxj ~]# named-c named-checkconf named-checkzone named-compilezone [root@xxj ~]# named-checkconf [root@xxj named]# chown root:named named.conf #更改属主属组 [root@xxj named]# chmod 640 named.conf #更改权限
区域数据/资源记录/DNS数据库文件: [root@xxj named]# cat magelinux.zone $TTL 6000 @ IN SOA dns.magelinux.com admin.magelinux.com. ( 2015091019 2H 10M 7D 1D ) @ IN NS dns @ IN MX 10 mail dns IN A 192.168.100.20 mail IN A 192.168.100.21 WWW IN A 192.168.100.22 pop IN CNAME mail ftp IN CNAME www [root@xxj named]# chown root:named magelinux.zone [root@xxj named]# chmod 640 magelinux.zone [root@xxj named]# named-checkconf [root@xxj named]# named-checkzone [root@xxj named]# vi magelinux.zone [root@xxj named]# named-checkzone "magelinux.zone" /var/named/magelinux.zone zone magelinux.zone/IN: loaded serial 2015091019 OK [root@xxj named]# killall -1 named named: no process killed
dig命令:
原文地址:http://xiexiaojun.blog.51cto.com/2305291/1696585