转载说明:这个在后续的版本也是可行的,在12.04上测试通过,另外对原文做了些修改。
1. 配置环境:
一台server和若干client组成的简单局域网,在一个网段上。一台Server做为DNS server。
Server的ip:192.140.30.9
Client的ip范围为:192.140.30.1--192.140.30.254,相互能ping通。
2. 检查是否安装bind
使用命令dpkg -l bind*查看相关软件是否安装
这是安装的效果
如果没有安装就进行下一步
3. Installing BIND9 (安装 BIND9)
命令: sudo apt-get install bind9
我们将配置DNS为主服务器类型
DNS 配置文件在/etc/bind 目录中。安装bind9后会生成如下三个配置文件:
named.conf;named.conf.options;named.conf.local。
named.conf.local即可。
设置实例
⑴环境:
Server的ip:192.140.30.9
Client的ip范围为:192.140.30.1--192.140.30.254,相互能ping通
现在将主机架设成主dns服务器,要求能解析
kxsrv.example.com 192.140.30.9
www.example.com 192.140.30.9
⑵分析:根据上面的主机名称和ip对应可以看出:
①需要添加正向区域“example.com”和反向区域“30.140.192.in-addr.arpa”,
②在“example.com”区域中添加A记录kxsrv对应192.140.30.9, CNAME记录www对应kxsrv
③在“30.140.192.in-addr.arpa”区域中添加各个ip地址对应的主机名
⑶编辑配置文件 记得路径 /etc/bind/
①编辑named.conf.local
$ sudo vi /etc/bind/named.conf.local
添加下列语句
//正向区域
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
//反向区域
zone "30.140.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.30.140.192";
};
然后保存
②建立named.conf.local中指定的区域文件
在/etc/bind下建立正向区域文件 (复制了一份)
命令:sudo cp /etc/bind/db.local /etc/bind/db.example.com
在/etc/bind下建立反向区域文件 (复制了一份)
命令:sudo cp /etc/bind/db.127 /etc/bind/db.30.140.192
③编辑正向区域文件
命令:sudo vi /etc/bind/db.example.com
将原文参照下文修改
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.example.com.
@ IN A 127.0.0.1
@ IN AAAA ::1
ns IN A 192.140.30.9
kxsrv IN A 192.140.30.9
www IN CNAME kxsrv 注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐
另外使用别名时:www IN cname 192.140.30.9 会出错,
要使用www IN cname kxsrv
④编辑反向区域文件
命令:sudo vi /etc/bind/db.30.140.192
将原文参照下文修改
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
9 IN PTR ns.example.com.
9 IN PTR kxsrv.example.com.
9 IN PTR www.example.com.
注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐
(4)重新启动DNS服务
sudo /etc/init.d/bind9 restart
到此位置dns就配置完成了,你可以在XP下的cmd环境下用nslookup去试试看
注意:改动配置文件后都要重新启动bind9。
DNS客户端的配置
此时DNS服务器已经开始工作了,要使用该DNS服务器,以XP为例,到"控制面板"–"网络连接",找到上网的网卡,右键选择"属性",改变DNS地址为192.140.30.9
Linux 修改DNS,请修改/etc/resolv.conf文件。
例如:
编辑sudo vi /etc/resolv.conf
更改为
nameserver 192.140.30.9
nameserver 192.140.30.1
DNS搭建后的检测
查看域名解析的命令为nslookup,敲入nslookup后再敲入域名如www.example.com进行正向解析,敲入IP地址则进行反向解析;也可以用dig,ping,host 接域名验证
以XP为例,在CMD命令下:
关于反向解析:即从IP解析到域名。本实验中,该功能没什么用途。在反垃圾邮件方面,它很有作用,由于邮件的协议,伪装域名发送邮件是可能的,这时候,邮件服务器端收到邮件后,根据邮件的IP地址反解析,得到域名,如果域名和邮件的发信人域名一致,则收下,否则拒绝。