网址介绍
www.benet.com (主机名 FQDN:Full Qualified Domain Name,完全合格域名 )
.域下面有com,com域下面包含 benet这个域, benet域下面有一台叫www的主机
早期解析使用hosts:
配置文件/etc/hosts
IPADDR FQDN Ailases
192.168.1.1 www.benet.com localhost
hosts文件缺点
hosts文件需要手动填写,无法自动获得新增的域名
在http协议开始应用的时候,互联网的域名出现爆炸性的增长,hosts文件无法满足解析需求
DNS域名解析:Domail Name Service
可以将FQDN转换成IP地址
也可以将IP地址转换成FQDN
ICANN:维护全球的13台根服务器
顶级域: 组织域:.com, .org, .net, .cc
国家域: .cn, .tw, .hk, .iq, .ir, .jp
二级域:baidu sina sohu
查询:
递归:直发出一次请求
迭代:发出多次请求
互联网的查询是两段式的:客户端给服务器请求为递归,服务器查询为迭代
解析:
正向解析:FQDN<-->IP
反向解析:IP<-->FQDN
DNS分布式数据库
上级只知道其直接下级
下级只知道根的位置
dns相关类型
主dns服务器:数据修改
辅助dns服务器:请求数据同步
serial number: 版本号
refresh:时间周期,定义多长时间检查一次
retry:重试时间,如果检查不到就在规定时间内重试
expire:过期时间,在重试后还是检查不到就认为主服务器挂了
nagative answer TTL
缓存dns服务器:不负责解析,只负责提供权威答案
转发器:将请求转发到公网的服务器
DNS:监听的协议及端口
53/udp:客户端查询使用
53/TCP:从服务器同步使用
dns记录类型:
SOA:起始授权记录
NS:区域名到主机名(成组出现,一条NS记录和一条A记录)
A:主机名对应IPv4地址
AAAA:主机名对应IPv6地址
PTR:IP转换主机名
MX:邮件交换记录(需要和A记录一起使用,MX记录需要定义优先级)
CNAME:别名记录
区域传送的类型:
完全区域传送: 完整传送
增量区域传送:只传送改变的内容
区域类型:
主区域:master
从区域:slave
提示区域:hint
转发区域:forward
BIND软件包:
bind:提供了域名服务的主要进程及相关文件
bind-utils:提供了对DNS服务器的测试工具
bind-libs:提供了bind、bind-utils需要使用的库函数
bind-chroot:为bind服务提供了一个伪装的根目录(将var/named/chroot文件夹作为bind的根目录)以提高安全性
caching-nameserver:提供构建缓存服务器的基本配置文件
bind配置文件
/etc/named.conf 主配置文件
缓存服务器配置
options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; };
主服务器配置文件
主服务器区域配置文件需要有从服务器的NS记录
主服务器添加或删除记录时,需要更改序列号从服务器才可以同步
options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "benet.com" IN { type master; file "benet.com.zone"; allow-transfer { 192.168.0.109;}; }; zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.1.arpa"; allow-transfer { 192.168.0.109;}; };
主服务器正向区域配置文件
$TTL 86400 @ IN SOA localhost root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS NS1.benet.com. IN NS NS2.benet.com. IN MX 10 mail.benet.com. ns1 IN A 192.168.0.108 ns2 IN A 192.168.0.109 mail IN A 192.168.0.10 www IN A 192.168.0.20
主服务器反向区域配置文件
$TTL 86400 @ IN SOA localhost root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS NS1.benet.com. IN NS NS2.benet.com. 108 IN PTR NS1.benet.com. 109 IN PTR NS2.benet.com. 10 IN PTR mail.benet.com. 20 IN PTR www.benet.com.
从服务器配置文件
options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "benet.com" IN { type slave; file "slaves/benet.com.zone"; masters { 192.168.0.108; }; }; zone "0.168.192.in-addr.arpa" IN { type slave; file "slaves/192.168.1.arpa"; masters { 192.168.0.108; }; };
注:如果不成功可能是没有关闭防火墙
iptables -F
setenforce 0
dns配置文件语法检查
检查主配置文件是否有语法错误:named-checkconf
检查主配置文件区域配置文件是否有语法错误:service named configtest
设置开机自动启动:
chkconfig named on
dig解析:
dig -t 记录类型 名称 (@IP 指定dns查找)
dig -x IP 根据IP查找域名的
dig +trace -t A bbs.51cto.com @222.222.222.222 //跟踪如何解析的
dig -t axfr benet.com //查看一个区域的所有配置文件