Sockets:
C/S:
Client:发起应用请求的程序
Server:响应请求(提供服务)的程序
LISTEN:Sockets
DNS :Domain Name Server, 应用层协议
C/S:
53/tcp , 53/udp
DNS查询类型:
递归查询
迭代查询
DNS服务器类型:
负责解析至少一个域:
主名称服务器
辅助名称服务器
不负责解析:
缓存名称服务器
一次完整的查询请求经过的流程:
Client > hosts文件 > DNS Local Cache > DNS Server
自己负责解析的域:直接查询数据库并返回答案
不是自己负责解析的域:Server Cache > iteration(迭代查询)
主从DNS服务器:
主DNS服务器:维护所负责解析的域数据库的服务器,读写操作均可执行
从DNS服务器:从主DNS服务器同步(即复制)一份解析库,只能进行读操作
区域数据库文件:
资源记录:Resource Record
记录类型:A , AAAA , SOA , NS , CNAME , MX
SOA: Start Of Authority 起始授权记录:一个区域解析库有且只能有一个SOA记录且为第一条
NS: Name Server ,域名服务记录:一个区域解析库可以有多个NS记录,一个为主
A:Address ,地址记录,FQDN > IPV4
AAAA: 地址记录:FQDN > IPV6
CNAME: Canonical Name :别名记录
PTR: Pointer IP > FQDN
MX: Mail Exchanger 邮件交换器:
优先级:0-99.数字越小优先级越高
Bind 的安装配置:
BIND: Berkeley Internet Name Domain
DNS:协议
Bind:dns协议的一种
Bind:
主配置文件: /etc/named.conf
或包含进来其他文件:
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
解析库文件:
/var/named/* 一般名为ZONE_NAME.zone
Attention: (1) 一台DNS服务器可以同时为多个域提供解析
(2) 必须要有根区域解析库文件:named.ca ;
(3) 两个区域解析库文件:localhost和127.0.0.1的正反向解析库
Rndc: remote name domain contoller
953/tcp , 但是默认监听于127.0.0.1 地址,因此仅允许本地使用
Bind程序安装完成后,默认即可做缓存名称服务器使用,如果没有专门负责解析的区域, 直接可以启动服务
CentOS 6 :service named start
CentOS 7 :systemctl start named.service
Attintion : 每一个配置语句必须以分号结尾
主配置文件格式:
全局配置段:
Options{......}
日志配置段:
Logging{......}
区域配置段:
Zone{......}
缓存名称服务器的配置:
监听能与外界主机通信的地址:
listen-on port 53 { 127.0.0.1; };
检查配置文件语法错误:
Named-checkconf NAMED.CONF
测试工具:
Dig,host,nslookup,rndc
配置解析一个正向区域:
以www.baidu.com域为例
(1) 定义区域
在主配置文件中或主配置文件辅助配置文件中实现:/etc/named.rfc1912.zones || /etc/named.conf
Zone “ZONE_NAME” IN {
Type {master|slave|hint|forward};
File “ZONE_NAME.zone”;
};
(2) 建立区域数据文件
在/var/named目录下建立区域数据文件
文件名为:/var/named/baidu.com.zone
配置示例:
$TTL 3600
$ORIGIN baidu.com
@ IN SOA ns1.baidu.com. Dnsadmin.baidu.com.(
20180411
1H
10M
3D
1D )
IN NS ns1
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 172.18.0.2
mx1 IN A 172.18.0.3
mx2 IN A 172.18.0.4
www IN A 172.18.0.5
web IN CNAME 172.18.0.6
bbs IN A 172.18.0.7
bbss IN A 172.18.0.7
检查语法错误:
# named-checkzone ZONE_NAME ZONE_FILE
# named-checkconf
(3) 让服务器重载配置文件和区域数据文件
# rndc reload 或者 systemctl reload named.service
配置解析一个反向区域:
(1) 定义区域
在主配置文件中或主配置文件辅助配置文件中实现
zone “ZONE_NAME” IN {
Type {master|slave|hint|forward};
File “ZONE_NAME.zone”;
};
(2) 定义区域解析库文件(主要记录为PTR)
示例:
$TTL 3600
$ORIGIN 0.18.172.in-addr.arpa.
@ IN SOA ns1.baidu.com. Nsadmin.baidu.com.(
20180411
1H
10M
3D
12H )
IN NS ns1.baidu.com.
2 IN PTR ns1.baidu.com.
3 IN PTR mx1.baidu.com.
4 IN PTR mx2.baidu.com.
5 IN PTR www.baidu.com.
7 IN PTR bbs.baidu.com.
7 IN PTR bbss.baidu.com.
权限以及属性修改:
# chgrp named /var/named/172/18.0.zone
# chmod o= /var/named/172.18.0.zone
检查语法错误:
# named-checkzone ZONE_NAME ZONE_FILE
# named-checkconf
(3) 让服务器重载配置文件和区域数据文件
# rndc reload 或者 systemctl reload named.service
最后dig -x IP地址 就可以解析了
原文地址:http://blog.51cto.com/11742700/2103609