Linux下DNS服务器的设置
环境:要设的DNS机子的 IP 34.0.188.99
网关 34.0.188.250
子网掩码 255.255.255.0
主机名为 linux.zzw.com
域名为 zzw.com
==================================================================
设置本子的IP地址、DNS、主机名
(1)IP地址:修改下面的文件/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=startic
IPADDR=34.0.188.99
NETMASK=255.255.255.0
GATEWAY=34.0.188.250
(2)修改本机DNS设置:修改/etc/resolv.conf文件
nameserver 34.0.188.99 #把本机的DNS设成34.0.188.99
(3)修改本机的主机名:
a、打开/etc/hosts 文件
加入下面一行
34.0.188.99 linux.zzw.com linux
b、修改/etc/sysconfig/network 文件
HOSTNAME = linux.zzw.com
====================================================================
对DNS进行设置
(1)修改/etc/named.conf 这个文件
##############################################################
// generated by named-bootconf.pl
options {
directory "/var/named"; //定义了named要读写文件的路径
// query-source address * port 53;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN { //在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区
type hint;
/*在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是:
master:表示定义的是主域名服务器
slave :表示定义的是辅助域名服务器
hint:表示是互联网中根域名服务器
*/
file "named.ca"; //用来指定具体存放DNS记录的文件
};
zone "localhost" IN { //定义一具域名为localhost的正向区域
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN { //定义一个IP为127.0.0.*的反向域区
type master;
file "named.local";
allow-update { none; };
};
zone "zzw.com" IN { //指定一个域名为zzw.com的正向区域
type master;
file "zzw.com.db";
};
zone "188.0.34.in-addr.arpa" IN { //定义一个IP为34.0.188.*反向域区
type master;
file "34.0.188.db";
};
include "/etc/rndc.key";
##############################################################
红色部分是加上去的,zzw.com设置的是zzw.com这个域的正向搜索文件为zzw.com.db而99.188.0.34.in-addr.arpa设置的是IP地址搜索的反向文件34.0.188.db,这些文件都从directory "/var/named";这里这里设置的/var/named目录调取
(2)建立正向搜索文件 /var/named/zzw.com.db
##############################################################
$TTL 83600
@ IN SOA linux.zzw.com. root.linux.zzw.com. (
/*SOA表示授权开始,上面的IN表示后面的数据使用的是INTERNET标准。而@则代表相应的域名,如在这里代表zzw.com,即表示一个域名记录定义的开始。而linux.zzw.com则是这个域的主域名服务器,而root.linux.zzw.com则是管理员的邮件地址。注意这是邮件地址中用.来代替常见的邮件地址中的@.而SOA表示授权的开始
*/
2004071601 ; Serial
/*本行前面的数字表示配置文件的修改版本,格式是年月日当日修改的修改的次数,每次修改这个配置文件时都应该修改这个数字,要不然你所作的修改不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来说你更新是没有意义的。
*/
28800 ; Refresh
/*定义的是以为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的 */
14400 ; Retry
/*上面的这个值是规定了以秒为单位的重试的时间间隔,即当从服务试图在主服务器上查询更时,而连接失败了,则这个值规定了从服务多长时间后再试 */
3600000 ; Expire
/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的 */
86400 ) ; Minimum
/*上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记
录 */
@ IN NS linux.zzw.com. //指定的是NS记录指向
@ IN MX 10 linux.zzw.com. //指定的是MX记录提向
linux IN A 34.0.188.99 //把linux主机指到34.0.188.99
my IN A 34.0.188.39
hq IN A 34.0.188.98
www IN CNAME linux //www主机对应linux
/*上面的第一列表示是主机的名字,省去了后面的域。
NS:表示是这个主机是一个域名服务器,
A:定义了一条A记录,即主机名到IP地址的对应记录
MX 定义了一邮件记录
CNAME:定义了对应主机的一个别名 */
//注:在文件的最后一定要空一行,不然好像会出错
##############################################################
(3)建立反向搜索文件 /var/named/34.0.188.db
##############################################################
$TTL 83600
@ IN SOA linux.zzw.com. root.linux.zzw.com. (
2004071601 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS linux.zzw.com.
@ IN MX 10 linux.zzw.com.
1 IN PTR linux.zzw.com.
2 IN PTR www.zzw.com.
4 IN PTR my.zzw.com.
5 IN PTR hq.zzw.com.
//注域后面一定要加上是"."
##############################################################
(4)named.ca、localhost.zone、named.local这三个文件基本不用改
(5)修改 /etc/hosts 文件
作用:实现与网上其他主要计算机的映射,它通常是当作DNS的备份出现的,也就是说,当DNS系统出现问题的时候才使用Hosts表。
实例:
127.0.0.1 localhost localhost.localdomain localhost
34.0.188.99 linux.zzw.com linux
//由于每台服务器都会有几个域名与IP的对应关系是永久的, 所以Hosts表中存放的应该是它们。
(6)修改 /etc/resolv.conf 文件
作用:指定域名服务器的IP和搜索顺序。
实例:
domain zzw.com //定义本地域名。
search zzw.com
/*简化用户输入的主机名,即当用户输入thj时,使得DNS可以把它成功地解析为linux.zzw.com。它与domain是互斥的,无论谁出现都是用来定义search列表的。*/
nameserver 192.168.10.1
//定义域名服务器的IP,最多三个,建议一般使用两个。
(7) 修改 /etc/hosts.conf 文件
作用:如何实现hosts表与DNS的关系和接口。
实例:
order hosts,bind //解析域名的顺序
multi on //允许一台计算机拥有多个IP
完成设置
===================================================================
进行测试
[root@linux /]# /etc/rc.d/init.d/named restart
执行两次来更改生效
[root@linux /]# tail -f /var/log/messages
来查看DNS启动日志
[root@linux /]# nslookup
用来测试正向和反向
>linux.zzw.com 正向测试
>34.0.188.99 反向测试
[root@linux /]# iptables -F 去掉防火墙
[root@linux /]# chkconfig named on 就可以下次自动起动服务了
参考至:《鸟哥私房菜》
http://blog.csdn.net/zzw45/article/details/43591
http://linux.vbird.org/linux_server/0350dns/0350dns-centos4.php
如有错误,欢迎指正