DNS BIND配置 配置基本缓存服务器 DNS正向解析 DNS反向解析
一. 缓存服务器配置
1.DNS:BIND
Berkeley Internet Name Domain
版本bind97: RPM服务器端包的名字 安装bind-libs bind-utils
配置文件 /etc/named.conf
BIND进程的工作属性
区域的定义
rndc: Remote Name Domain Controller
密钥文件 /etc/rndc.key
配置信息:/etc/rndc.conf
/var/named/
存放区域数据文件
/etc/rc.d/init.d/named
{start|stop|restart|status|reload}
二进制程序:named
bind-chroot: //一般不安装
默认:named
用户:named
组:named
/var/named/chroot/ 模拟root根目录,防止named进程被劫持,保障服务器安全
etc/named.conf 主配置文件 options全局选项,对全局生效
etc/rdnc.key
sbin/named
var/named/
named.ca 存放根域dns相关信息
named.loalhost 本地dns信息
named.lookback 本地回环地址,反向解析
caching-nameserver
缓存-->主-->从 先配置成缓存服务器,然后主服务器和从服务器
/etc/sbin/named-checkconfig 检查配置文件语法
/etc/sbin/name-checkzone 检查区域文件语法
/etc/sbin/rndc 远程控制文件
测试工具:
dig: Domain Information Gropher 到域名服务器查找相关信息,客户端工具,测试工具
-t 指定资源类型
dig -t NS "." 查找根域的dns服务器信息
dig -t NS . @SERVER-NAME 到指定的服务器查找根信息
dig -t NS mageedu.com 查询指定域的dns服务器
dig -x IP: 反向查询
根据IP查找FQDN
host -t RT NAME: 查询名称的解析结果
nslookup: 交互式命令 windows也可以使用
nslookup>
server IP 通过指定IP查询
set q=RT 指定查询的资源记录类型
NAME 指定名字
DNS:
监听的协议及端口:
53/udp
53/tcp
953/tcp, rndc remote domain control
2.缓存服务器文件配置
/etc/named.conf 配置文件语句必须以分号结尾,options是全局选项,花括号前面必须有空格
通用区域定义:
zone "ZONE NAME" IN {
type {master|slave|hint|forward}; // 定义类型
file "对应的区域数据文件" //相对于/etc/named.conf options选项中directory的路径
};
例如主区域:
zone "." IN { // . 代表根 type hint; // 定义类型 file "named.ca" //相对于/etc/named.conf options选项中directory的路径 };
从区域:
file "区域数据文件";
masters { master1_ip;master2_IP }; 指定主区域
缓存服务器文件配置
options { directory "/var/named"; //区域文件存放的目录 }; zone "." IN { //定义根区域 type hint; file "named.ca"; }; zone "127.0.0.1" IN { //定义本地区域 type master; file "named.localhost"; // /var/named/named.localhost 文件可以自己创建命名 };
zone "0.0.127-in-addr-arpa" IN {
type master;
file "named.loopback";
};
正向解析区域文件配置
$TTL 1D //全局定义TTL,下面可省略 @ IN SOA @ rname.invalid. ( //“@” 可以代表主区域文件中的主区域名 0 ; serial 1D ; refresh // ";"可以注释 1H ; retry 1W ; expire 3H ) ; minimum NS @ //前面区域名不写自动继承上面的@ A 127.0.0.1
反向解析区域文件配置/var/named/named.loopback
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
PTR localhost.
~
3.检查配置
named-checkconf 检查配置文件语法
为了保证服务能正常运行需要关闭SELinux:
dig -t RT NAME @IP //-t RT 指定资源类型 NS MX A, NAME 区域名称 @IP通过指定IP查询
[root@localhost named]# dig -t A www.baidu.com @127.0.0.1 //通过本地NS查询百度的A记录
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.baidu.com @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22325 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com. 1200 IN CNAME www.a.shifen.com. www.a.shifen.com. 300 IN A 111.13.100.91 www.a.shifen.com. 300 IN A 111.13.100.92 ;; AUTHORITY SECTION: a.shifen.com. 1200 IN NS ns3.a.shifen.com. a.shifen.com. 1200 IN NS ns5.a.shifen.com. a.shifen.com. 1200 IN NS ns1.a.shifen.com. a.shifen.com. 1200 IN NS ns4.a.shifen.com. a.shifen.com. 1200 IN NS ns2.a.shifen.com.
二.DNS正反向解析
1.解析要求
NS 192.168.136.135
www.test.com 192.168.136.135
www.test.com 192.168.136.136
mail.test.com 192.168.136.137
ftp 别名 www
2.配置区域文件/etc/named/named.conf添加下面配置
zone "test.com." IN { type master; file "test.com.conf"; };
zone "136.168.192.in-addr.arpa" IN {
type master;
file "136.168.192.zone";
};
3.配置正向区域数据文件
$TTL 60 @ IN SOA ns1.test.com. admin.test.com. ( 2015 5D 5M 1H ) @ IN NS ns1 @ IN MX 10 mail ns1 IN A 192.168.136.135 mail IN A 192.168.136.137 www IN A 192.168.136.136 www IN A 192.168.136.135 ftp IN CNAME www
4.配置反向区解析域数据文件
$TTL 60 @ IN SOA ns1.test.com. admin.test.com. ( //反向解析文件SOA除了区域不一样其他都一样 2015 10D 5D 5M 1H ) IN NS ns1.test.com. // FQDN一定要写全称,邮件服务不需要反向NS
135 IN PTR ns1.test.com. 135 IN PTR www.test.com. 136 IN PTR www.test.com. 137 IN PTR mail.test.com.
5.测试
正向
[root@localhost named]# dig -t NS test.com //测试NS记录 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t NS test.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23944 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;test.com. IN NS ;; ANSWER SECTION: test.com. 60 IN NS ns1.test.com. ;; ADDITIONAL SECTION: ns1.test.com. 60 IN A 192.168.136.135 ;; Query time: 1 msec ;; SERVER:
[root@localhost named]# dig -t A www.test.com //测试www.test.com 的A记录 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.test.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58748 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.test.com. IN A ;; ANSWER SECTION: www.test.com. 60 IN A 192.168.136.135 //下一个请求会更换上下顺序,负载均衡 www.test.com. 60 IN A 192.168.136.136 ;; AUTHORITY SECTION: test.com. 60 IN NS ns1.test.com.
反向
[root@localhost named]# dig -x 192.168.136.135 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -x 192.168.136.135 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23414 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;135.136.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 135.136.168.192.in-addr.arpa. 60 IN PTR www.test.com. 135.136.168.192.in-addr.arpa. 60 IN PTR ns1.test.com. ;; AUTHORITY SECTION: 136.168.1
注意:配置文件格式一定要写正确,名称也要写正确。