DNS:Domain Name System:域名系统
DNS:Domain Name System:域名系统
域名和IP地址相互映射的一个分布式数据库,使用户使用域名更方便的访问互联网,不用去记更利于机器读取的IP地址,域名解析由DNS服务器提供。
DNS服务器的类型:
- 主DNS服务器:管理和维护所负责解析的域内解析库的服务器
- 从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
- 缓存DNS服务器(转发器)
一次完整的查询请求经过的流程:
Client –>hosts文件–>DNS Service Local Cache –> DNS Server (recursion) –>
Server Cache –> iteration(迭代) –> 根–> 顶级域名DNS–>二级域名DNS…
搭建域名解析服务器:
1.安装bind:
相关软件包:bind、bind-chroot ]# yum install bind bind-chroot
- BIND的服务名是 named,DNS默认协议是TCP与UDP协议,启动后会占用53/udp/tcp,953/tcp这两个端口号
953是rndc的端口,rndc是控制Bind启动、关闭等行为的工具
rndc status|reload - 若安装了bind-chroot,此时BIND的主配置文件会被封装到一个伪根目录内(安全目的),此时配置文件(链接)位置为:
/var/named/chroot/etc/named.conf BIND服务主配置文件
/var/named/chroot/var/named/*.zone 域的zone配置文件 - 默认配置文件:
主配置文件:/etc/named.conf
区域配置文件:/var/named/*.zone
2.配置DNS服务器:
主配置文件:/etc/named.conf
1.options {2. listen-on port 53 { 1localhost; }; 监听的端口及地址;localhost表监听本机所有地址3. directory "/var/named"; 域文件的存放位置4. dump-file "/var/named/data/cache_dump.db";5. statistics-file "/var/named/data/named_stats.txt";6. memstatistics-file "/var/named/data/named_mem_stats.txt";7. allow-query { any; }; 特定主机可发起查询,any表所有可查8. allow-transfer { none; }; 设置允许指定主机抓取所有记录9. recursion yes;10.11.// dnssec-enable yes; 安全相关可注释12.// dnssec-validation yes; 安全相关可注释13.14./* Path to ISC DLV key */15. bindkeys-file "/etc/named.iscdlv.key";16. managed-keys-directory "/var/named/dynamic";17.};18.19.// 根服务器定义20.zone "." IN {21. type hint;22. file "named.ca";23.};24.// 包含配置文件 25.include "/etc/named.rfc1912.zones"; 可在该文件中定义域26.include "/etc/named.root.key";
配置一个域名的解析:
- 在配置文件中添加域定义 /etc/named.conf 或 /etc/named.rfc1912.zones中
- 添加该域的zone文件至/var/named/xx.zone
主配置文件添加域定义: ]# vi /etc/named.rfc1912.zones
添加:
1.//正向解析域定义2.zone "rick.com" IN {3. type master; 类型 master|slave|hint|forward4. file "rick.zone"; 必须与/var/named/ 目录下区域解析文件名相同5.};6. //反向解析域定义,反写的网段地址.in-addr.arpa7.zone "1.10.in-addr.arpa" IN {8. type master; 9. file "10.1.zone";10.};
创建正向区域配置文件:
区域数据库文件各指令解释:
$TTL:允许客户端缓存来自查询的数据的默认时间,单位秒
$ORIGIN:自动补全
资源记录类型:
A,AAAA,PTR,SOA,NS,CNAME,MX
SOA:Start Of Authority,起始授权记录;一个区域有且只能有一个SOA记录,须为第一条
NS:Name Service,域名服务器记录;一个区域解析库可以有多个NS记录,其中一个为主
A:Address,地址记录,FQDN > IPv4
AAAA:FQDN > IPv6
CNAME:Canonical Name,别名记录
PTR:Pointer,IP > FQDN 反向解析
MX:Mail eXchanger,邮件交换器;邮件记录必须有优先级:0-99,小优先级高
]# vi /var/named/rick.zone
1.$TTL 864002.$ORIGIN rick.com.3. IN SOA ns1.zz.com root.zz.com. ( 4. 16102204;序列号,可自定义;主服务器解析库变化时序列递增5. 2H;与主服务器同步时间间隔6. 20M;同步失败重试时长7. 1W;无法联系主服务器时,多久后停止服务8. 1D )否定答案TTL9. IN NS ns1.zz.com. 10.ns1.zz.com. IN A 10.1.235.611.www IN A 10.1.235.54
1.TTL可以从全局继承
[email protected]可表示当前区域的名称
3.相邻两条记录name相同时,后面可省略
4.同一个名字可以有多条记录定义多个不同的值;DNS服务器会以轮询方式响应
5.区域文件属性应修改为
-rw-r—– 1 root named 149 Sep 22 16:02 NAME.zone
反向解析: ]# vi /var/named/10.1.zone
主要为PTR记录
1.$TTL 864002.$ORIGIN 1.10.in-addr.arpa.3.@ IN SOA ns1.zz.com. root.zz.com. ( 16101602 2H 10M 1W 1D )4. IN NS ns1.zz.com.5.6.235 IN PTR ns1.zz.com.6.54.235 IN PTR www.rick.com.
主配置文件语法检查: ]# named-checkconf
解析库文件语法检查: ]# named-checkzone rick.com /var/named/rick.com
]# named-checkzone 1.10.in-addr.arpa /var/named/10.1.zone
启动服务: service named start
对DNS配置完成后就可以测试了,linux下有下列几个测试工具:
- dig
- host
- nslook
# dig [+trace] [-t A|AAAA..] name [@server] @server:指定主机解析 +trace:跟踪解析过程 -t:指定类型 -x:反向解析 不一定存在
]# dig -t axfr .1.10.in-addr.arpa @10.1.252.54
]# dig -t ptr 33.252.1.10.in-addr.arpa @10.1.252.54
# host [-t RR_type] name [server_IP]
]# host -t NS zjj.com @127.0.0.0
# nslookup [-options] [name] [server] lnx/win 交互模式: nslookup >server IP 指明使用哪个DNS server进行查询 >set q=RR_type 指明查询的资源记录类型 >NAME 要查询的名称
管理: # rndc named服务控制命令:start|stop|reload|status 状态|flush 清空缓存