转自:http://hi.baidu.com/waibaohuo/blog/item/cc99d611f2efa18a6438db42.html
[原创]centos5.3 系统配置DNS服务器配置详解2009-10-22 12:03文章摘抄了部分网友的相关资料,在此致谢!
忙活了几天,对于我这个新新手而言,终于搞通了如何在CentOS5.3 下安装配置DNS服务器。步骤如下:
1. 我安装的系统是CentoOS5.3 Server;
2. 所在网络:ADSL + 8口路由器。 机器一作为服务器,IP:192.168.110, 主机名:Hostname: test.com ;
3. 网卡设置项: #cat /etc/sysconfig/network-scripts/ifcfg-eth0
#Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:40:45:20:79:e1
IPADDR=192.168.1.110
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
TYPE=Ethernet
DNS1=218.57.200.3 //此两行可以不填写
DNS2=202.102.128.68 //此两行可以不填写
由上可以看出是使用的静态IP:192.168.1.110。上述几项含义如下:
》DEVICE=name ,其中,name是物理设备名。
》IPADDR=addr,其中,addr是IP地址。
》NETMASK=mask,其中,mask是网络掩码值。
》NETWORK=addr,其中addr是网络地址。
》BROADCAST=addr,其中,addr是广播地址。
》GATEWAY=addr,其中addr是网关地址。
》ONBOOT=answer,其中,answer是yes(引导时激活设备)或no(引导时不激活设备)
》USERCTL=answer,其中,answer是yes(非root用户能控制该设备)或no
》BOOTPROTO=proto,其中,proto取下列值之一:none,引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议。
4. 我的设想任务:将此机器设置为DNS服务器,另一台也是通过8口路由器且IP地址自由获得(或固定,如192.168.1.120 )的机器,能够通过此DNS服务器进行解析域名并能够转向到其他网址。如方位新浪网、凤凰网等。
5. 安装Bind
# yum -y install bind*
# yum -y install caching-nameserver
6. 主配置文件named.conf的配置。
首先要进入目录,由于安装了chroot包(主要功能就不多介绍),所以主配置文件named.conf在/var/named/chroot/etc/下进行配置。命令如下:
[root@killgoogle ~]# cd /var/named/chroot/etc/
由于安装了上面六个包后,这个目录下就默认会生成一个named.conf文件,但这个named.conf文件只是个解释文档,所以我们要通过以下命令来把named.conf文件的模板拷贝一份。命令如下:
[root@killgoogle etc]# cp -p named.caching-nameserver.conf named.conf
现在就可以用named.conf文件进行配置了。命令如下:
[root@killgoogle etc]# vi named.conf //红色为改动部分
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
query-source port 53;
query-source-v6 port 53;
allow-query { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
在此目录下还有一个文件要配置,命令如下:
[root@killgoogle etc]# vi named.rfc1912.zones
添加以下内容:
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
zone "test.com" IN { //定义一个正向域 test.com
type master;
file "test.com.zone"; //定义正向解析文件名 test.com.zone
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN { //定义反向域
type master;
file "192.168.1.zone"; //定义反向解析文件名192.168.1.zone
allow-update { none; };
};
7. 配置正、反解文件。
正反解文件都在相同目录下,由于安装了chroot包后,所以配置正反解文件要到/var/named/chroot/var/named/目录下,而且在此目录下也有正反解的模板文件。具体用到的命令如下:
[root@killgoogle var]# cd /var/named/chroot/var/named/
[root@killgoogle var]# cp -p localdomain.zone test.com.zone
[root@killgoogle var]# cp -p named.local 192.168.1.zone
记得加参数P,不然很有可能启动不了named服务。现在就可以编辑正解(test.com.zone)、反解(192.168.1.zone)这两个文件了。
[root@killgoogle var]# vi test.com.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS test.com
www IN A 192.168.1.110
上面这是最基本的正解文件的配置。
[root@killgoogle var]# vi 192.168.1.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial //只是序号而已
28800 ; Refresh //slave的更新时间
14400 ; Retry //当slave更新失败,重新更新时间
3600000 ; Expire //重复多久后不再更新
86400 ) ; Minimum //可看作TTL,尤其沒有設定$TTL时
IN NS test.com.
110 IN PTR www.test.com.
说明: 最后一句前面的那个110是指的我自己IP:192.168.1.110的最后一个数。
注:
到此为止,我们的DNS服务器的90%的工作基本结束,剩下的就是扫尾工作。
五、收尾工作。
1、首先是修改/etc/resolv.conf文件。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:
[root@killgoogle var]# vi /etc/resolv.conf
只要加上一句:nameserver 192.168.1.110就行了。
2、配置selinux。命令如下:
[root@killgoogle var]# setup
弹出一个对话框。我们要进行的是防火墙配置,步骤如下:
选择“Firewall Configuration”---按 “Tab”键切换到“Run Tool”—回车—“Security Level”选项要在“Enabled”前面按一下“Tab”键---“SelLinux”选项要选“Disabled”—按一下“Tab”键---选中“Customize”---弹出新对话框---在“Other Port”栏目里输入“53:tcp 53:udp”—“OK”—返回上一个对话框—“OK”—对话框自动关闭。配置完成。
3、开启服务。命令如下:
[root@killgoogle ~]# service named start
4、测试。
测试的命令是nslookup,我想,知道DNS的、想配置DNS的人,应该不会不知道nslookup,更不会不知道Nslookup怎么用,所以在这就不多解释了。
5、设置named服务随机启动。
步骤如下:输入setup命令---选择“System Services”---按 “Tab”键切换到“Run Tool”—回车—新对话框中把光标下移到“named”前---用空格键使“named”选项前多出个“*”表示----按 “Tab”键切换到“OK”----按 “Tab”键切换到“Quit”
注:如果在正、反解文件中添加了记录后,别忘了用“service named restart”命令重启named服务,否则修改无法生效。
六、在另一台机器中设置如下:
IP地址,自由获得(或者设定为:IP:192.168.1.120;子网掩码:255.255.255.0;网关:192.168.1.1);
首选DNS:192.168.1.110
打开浏览器打开相关站点。此时一切正常。
欢迎与我交流 [email protected], 我的QQ: 909835012