DNS(Domain Name System 域名系统):提供Internet上域名到IP地址的映射
域名:又叫主机名,FQDN(Full Qualified Domain Name完全限定域名)
基本信息:
Linux中通常使用bind服务来提供DNS服务器
应用层协议
基于UDP53端口号:用于查询
基于TCP53端口号:用于主从服务器同步数据
基于TCP953端口号:rndc用于远程控制DNS服务器
解析方式:
正向:FQDN <--> IP
反向:IP <-->FQDN
解析顺序:
本地DNS缓存-->/etc/hosts文件-->DNS服务器
查询方式:
递归查询:本地DNS服务器只发出一次请求
迭代查询:本地DNS服务器发出多次请求
解析过程通常是两段式的,从本地主机到本地DNS服务器采用递归查询,本地DNS服务器向外查 询采用迭代查询
DNS服务器的类型:
主DNS服务器:负责维护指定区域的域名信息
辅助DNS服务器:实时向主DNS服务器同步数据,备用服务器
缓存DNS服务器:没有域名数据库,只负责缓存查询结果下次可直接使用
转发DNS服务器:接到查询请求时先在缓存中查找,如查不到就把请求转发给指定的DNS服务器
主从同步数据时,区域传送的类型
完全区域传送:axfr
增量区域传送:ixfr
bind97组成:
/etc/named.conf
named进程的工作属性
区域的定义
/etc/rndc.key
rndc:Remote Name Domain Controller
密钥文件
配置信息:/etc/rndc.conf
/var/named/
区域数据文件
/etc/rc.d/init.d/named
{start|stop|restart|status|reload}
/usr/sbin/named:二进制文件
常用命令:
named-checkconf:检测配置/etc/named.conf是否存在语法错误
named-checkzone "ZONE_NAME" /path/to/zone_data_file
[root@localhost ~]# named-checkzone "cqy.com" /var/named/cqy.com.zone zone cqy.com/IN: fin.cqy.com/NS 'ns1.fin.cqy.com' (out of zone) has no addresses records (A or AAAA) zone cqy.com/IN: market.cqy.com/NS 'ns1.marknet.cqy.com' has no address records (A or AAAA) zone cqy.com/IN: loaded serial 2015081901 OK
dig:Domain Information Gropher
+[no]recurse:是否使用递归查询
+[no]trace:跟踪显示整个查询过程
dig -t ZONE_TYPE NAME @IP:向指定IP查NAME对应的ZONE_TYPE记录,@IP可省,省略是向设置 的DNS服务器查
-t axfr:完全区域传送,显示所有的数据条目
-t IXFR=serial number:serial number之后发生改变的条目
[root@localhost ~]# dig -t NS cqy.com ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NS cqy.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21531 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;cqy.com. IN NS ;; ANSWER SECTION: cqy.com. 43200 IN NS ns1.cqy.com. ;; ADDITIONAL SECTION: ns1.cqy.com. 43200 IN A 192.168.0.150 ;; Query time: 2 msec ;; SERVER: 192.168.0.150#53(192.168.0.150) ;; WHEN: Thu Aug 20 02:16:37 2015 ;; MSG SIZE rcvd: 59
[root@localhost ~]# dig -t A www.baidu.com @192.168.0.1 ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A www.baidu.com @192.168.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17896 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com. 648 IN CNAME www.a.shifen.com. www.a.shifen.com. 600 IN A 180.97.33.108 www.a.shifen.com. 600 IN A 180.97.33.107 ;; Query time: 33 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Thu Aug 20 02:17:53 2015 ;; MSG SIZE rcvd: 90
dig -x IP:反向查询,根据IP查FQDN
host -t RT NAME:查询某个对应名称的解析结果
[root@localhost ~]# host -t NS cqy.com cqy.com name server ns1.cqy.com. [root@localhost ~]# host -t A www.cqy.com www.cqy.com has address 192.168.0.151
nslookup:交互式
nslookup>
server IP
set q=RT
NAME
[root@localhost ~]# nslookup > exit [root@localhost ~]# nslookup > server 192.168.0.150 Default server: 192.168.0.150 Address: 192.168.0.150#53 > set q=A > www.cqy.com Server: 192.168.0.150 Address: 192.168.0.150#53 Name: www.cqy.com Address: 192.168.0.151
DNS相关的配置文件
①/etc/resolv.conf:配置DNS服务器,声明主机域名
格式:
domain DOMAIN_NAME:定义主机域名
serach DOMAIN1 MOMAIN2 ...:定义域名的搜索列表
nameserver IPADDR:定义DNS服务器的IP地址
[root@localhost ~]# cat /etc/resolv.conf search localdomain nameserver 192.168.0.1
②/etc/hosts:定义本地DNS解析列表
格式:
IPADDR FQDN Aliases
192.168.0.150 www.cqy.com www
[root@localhost ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6
③/etc/named.conf:定义named进程的工作属性,定义区域
option格式:
option {
OPTIONS1;
OPTIONS2;
...
};
常见的option选项
directory "path/to/directory";:定义工作目录
recursion {yes|no};:定义是否递归查询
allow-query { 网段|IP地址|主机名;... };:定义可以进行查询的列表
allow-transefer { 网段|IP地址|主机名;... }; 定义可以进行区域传送的列表
none;:表示禁止所有
any;:表示允许所有
notify yes;:更改后通知从服务器更新
forward {only|first}; 选择转发机制,only只转发,first先转发,没结果再转发给根
querylog yes;: 开启日志记录查询结果,日志保存在/var/log/message
zone格式:
zone "ZONE NAME" IN {
type {master|slave|hint|forward};
file "path/to/zone_data_file";:工作目录下区域数据文件的路径
OPTIONS1;
...
};
区域类型:
主区域:master
从区域:slave
提示区域:hint,定义根在什么地方
转发区域:forward
logging格式:
logging {
channel CHANNEL_NAME {
OPTIONS1;
OPTIONS2;
...
};
category queries { CHANNEL_NAME; };
channel...
...
};
acl格式:acl用于定义多个网段或IP地址或主机
acl ACL_NAME {
网段1;
网段2;
IP地址3;
...
};
view格式:使用view时必须把所有zone包含在view内
view VIEW_NAME {
match-clients { acl|网段|IP地址|主机; };
zone...
...
};
④/var/named/下的区域数据文件
区域数据文件中资源记录RR的格式
可全局定义$TTL 600;
NAME [TTL] IN RRT(资源记录类型) VALUE
RRT资源记录类型:
SOA(Start Of Authority):必须是RR中的第一条,标明如何完成数据同步
ZONENAME TTL IN SOA FQDN ADMINISTRATOR_MAILBOX(
serial number
refresh
retry
expire
na ttl )
时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒
邮箱格式:admin.cqy.com
cqy.com. 600 IN SOA ns1.cqy.com admin.cqy.com. 20150819 1H 5M 1W 1D
cqy.com. 600 IN SOA ns1.cqy.com admin.cqy.com.(
20150819
1H
5M
1W
1D )
NS(Name Server):ZONE_NAME-->FQDN
cqy.com. 600 IN NS ns1.cqy.com.
ns1.cqy.com. 600 IN A 1.1.1.2
cqy.com. 600 IN NS ns2.cqy.com.
ns2.cqy.com. 600 IN A 1.1.1.5
MX(Mail eXchanger):ZONE_NAME-->FQDN
ZONE NAME TTL IN MX pri VALUE
cqy.com. 600 IN MX 10 mail.cqy.com.
mail.cqy.com. 600 IN A 1.1.1.3
优先级:0-99,数字越小优先级别越高
A(address):FQDN-->IPv4 只能定义在正向区域数据文件
ns1.cqy.com. 600 IN A 1.1.1.2
ns2.cqy.com. 600 IN A 1.1.1.5
PTR(pointer):IP-->FQDN只能定义在反向区域数据文件
150.0.168.192.in-addr.arpa. IN PTR ns1.cqy.com
CNAME(canonical NAME正式名称):FQDN-->FQDN
www2.cqy.com. IN CNAME www.cqy.com
其他类型:
AAAA:FQDN-->IPv6
TXT
CHAOS
SRV