一. 缓存服务器配置
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. ( //“@” 可以代表主区域文件中的主区域名
; 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.-0.17.rc1.el6_4. <<>> -t A www.baidu.com @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION:
;www.baidu.com. IN A ;; ANSWER SECTION:
www.baidu.com. IN CNAME www.a.shifen.com.
www.a.shifen.com. IN A 111.13.100.91
www.a.shifen.com. IN A 111.13.100.92 ;; AUTHORITY SECTION:
a.shifen.com. IN NS ns3.a.shifen.com.
a.shifen.com. IN NS ns5.a.shifen.com.
a.shifen.com. IN NS ns1.a.shifen.com.
a.shifen.com. IN NS ns4.a.shifen.com.
a.shifen.com. 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 @ IN SOA ns1.test.com. admin.test.com. ( 5D
5M
1H )
@ IN NS ns1
@ IN MX 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
@ IN SOA ns1.test.com. admin.test.com. ( //反向解析文件SOA除了区域不一样其他都一样 10D
5D
5M
1H )
IN NS ns1.test.com. // FQDN一定要写全称,邮件服务不需要反向NS IN PTR ns1.test.com.
IN PTR www.test.com.
IN PTR www.test.com.
IN PTR mail.test.com.
5.测试
正向
[root@localhost named]# dig -t NS test.com //测试NS记录 ; <<>> DiG 9.8.2rc1-RedHat-9.8.-0.17.rc1.el6_4. <<>> -t NS test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION:
;test.com. IN NS ;; ANSWER SECTION:
test.com. IN NS ns1.test.com. ;; ADDITIONAL SECTION:
ns1.test.com. IN A 192.168.136.135 ;; Query time: msec
;; SERVER:
[root@localhost named]# dig -t A www.test.com //测试www.test.com 的A记录 ; <<>> DiG 9.8.2rc1-RedHat-9.8.-0.17.rc1.el6_4. <<>> -t A www.test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION:
;www.test.com. IN A ;; ANSWER SECTION:
www.test.com. IN A 192.168.136.135 //下一个请求会更换上下顺序,负载均衡
www.test.com. IN A 192.168.136.136 ;; AUTHORITY SECTION:
test.com. IN NS ns1.test.com.
反向
[root@localhost named]# dig -x 192.168.136.135 ; <<>> DiG 9.8.2rc1-RedHat-9.8.-0.17.rc1.el6_4. <<>> -x 192.168.136.135
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION:
;135.136.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION:
135.136.168.192.in-addr.arpa. IN PTR www.test.com.
135.136.168.192.in-addr.arpa. IN PTR ns1.test.com. ;; AUTHORITY SECTION:
136.168.
注意:配置文件格式一定要写正确,名称也要写正确。