之前看了很多关于redhat系列的linux搭建DNS服务器,也转载了别人的文章,觉得不是很好于是自己亲手动作了一个dns服务器,把过程和注释记下了给大家分享哈:(注一下的文字是从我的linux笔记里面复杂出来的,赖得敲字了,累)
注:部分资料来源网络(里面的例子都是自己的机子上实验用的)
在CentOS下安装配置DNS服务器。详细步骤如下:
1. 安装的系统是CentoOS5.4;
2. 所在网络:内部局域网192.168.5.35网段。
机器一作为服务器,IP:192.168.5.35,主机名:Hostname: jiangkun;
由上可以看出是使用的静态IP:192.168.5.35。上述几项含义如下:
》DEVICE=name ,其中,name是物理设备名。
》IPADDR=addr,其中,addr是IP地址。
》 NETMASK=mask ,其中, mask 是网络掩码值》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服务器(192.168.5.35 )的机器,能够通过此DNS服务器进行解析域名.
5. 安装Bind
1)方法一:使用yum安装(偷了哈懒,不影响使用)
# yum -y install bind-*(注:*号前面有个-)
# yum -y install caching-nameserver
6. 主配置文件named.conf的配置。
首先要进入目录,由于安装了chroot包(主要功能就不多介绍),所以主配置文件named.conf在/var/named/chroot/etc/下进行配置。命令如下:
[root@jiangkun ~]# cd /var/named/chroot/etc/
由于安装了上面六个包后,这个目录下就默认会生成一个named.conf文件,但这个named.conf文件只是个解释文档,所以我们要通过以下命令来把named.conf文件的模板拷贝一份。命令如下:
[root@jiangkun]# cp -p named.caching-nameserver.conf named.conf
现在就可以用named.conf文件进行配置了。命令如下:
[root@jiangkun]# vi named.conf //红色为改动部分
options {
listen-on port 53 { any; }; //表示侦听本机所有IP地址收到的DNS
listen-on-v6 port 53 { ::1; }; //监听IPv6的
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; }; //指定接受DNS查询请求的客户端
allow-query –cache{none;}; // 不允許訪問緩存
};
logging {
channeldefault_debug {
file "data/named.run";
severity dynamic;
};
};
viewlocalhost_resolver {
match-clients { any; }; //指定提交DNS客户端的源IP地址范围
match-destinations { any; }; //指定提交DNS客户端的目标IP地址范围
recursion yes;
include "/etc/named.rfc1912.zones";
};
在此目录下还有一个文件要配置,命令如下:
[root@jiangkun]# 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 "jiangkun.com" IN{ //定义一个正向域jiangkun.com
type master;
file"jiangkun.com.zone"; //定义正向解析文件名jiangkun.com.zone
allow-update { none; };
};
zone "5.168.192.in-addr.arpa" IN { //定义反向域
type master;
file"192.168.5.zone"; //定义反向解析文件名192.168.5.zone
allow-update { none; };
};
7. 配置正、反解文件。
正反解文件都在相同目录下,由于安装了chroot包后,所以配置正反解文件要到/var/named/chroot/var/named/目录下,而且在此目录下也有正反解的模板文件。具体用到的命令如下:
[root@jiangkun]# cd /var/named/chroot/var/named/
[root@jiangkun]# cp -p localdomain.zone jiangkun.com.zone
[root@jiangkun]# cp -p named.local 192.168.5.zone
记得加参数P,不然很有可能启动不了named服务。现在就可以编辑正解(jiangkun.com.zone)、反解(192.168.5.zone)这两个文件了。
[root@killgooglevar]# vi jiangkun.com.zone
$TTL 86400
@ IN SOA localhost root (
42 ;serial (d. adams)
3H ;refresh
15M ; retry
1W ;expiry
1D ) ; minimum
IN NS jiangkun.com
www IN A 192.168.5.35
上面这是最基本的正解文件的配置。
[root@jiangkun]# vi 192.168.5.zone
$TTL 86400
@ IN SOA localhost. root.localhost.(
1997022700 ; Serial //只是序号而已
28800 ; Refresh //slave的更新时间
14400 ; Retry //当slave更新失败,重新更新时间
3600000 ; Expire //重复多久后不再更新
86400 ) ; Minimum //可看作TTL,尤其沒有設定$TTL时
IN NS jiangkun.com. (注:这里最后面有个点哦,亲)
35 IN PTR www.jiangkun.com.(注:这里最后面有个点哦,亲)
说明:最后一句前面的那个35是指的主机IP:192.168.5.35的最后一个数。
注: 到此为止,DNS服务器的90%的工作基本结束,剩下的就是扫尾工作。
五、收尾工作。
1、首先是修改/etc/resolv.conf文件。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:
[root@jiangkun]# vi /etc/resolv.conf
只要加上一句:nameserver 192.168.5.35就行了。
2、配置selinux(这里我一般安装系统的时候那个selinux就disabled掉了,不然安装apache的时候和配置LAMP环境都很麻烦,所以早干掉早省心)。命令如下:
[root@jiangkun]# setup
弹出一个对话框。我们要进行的是防火墙配置,步骤如下:
选择“Firewall Configuration”---按 “Tab”键切换到“Run Tool”—回车—“Security Level”选项要在“disabled”前面按一下“Tab”键---“SelLinux”选项要选“Disabled”—按一下“Tab”键---选中“Customize”---弹出新对话框---在“Other Port”栏目里输入“53:tcp 53:udp”—“OK”—返回上一个对话框—“OK”—对话框自动关闭。配置完成。
3、开启服务。命令如下:
[root@jiangkun ~]# service named start
4、测试。
测试的命令是nslookup,
[root@localhost named]# nslookup
>www.jiangkun.com
Server: 192.168.5.35
Address: 192.168.5.35#53
Name: www.jiangkun.com
Address:192.168.5.35
5、设置named服务随机启动。
步骤如下:输入setup命令---选择“System Services”---按 “Tab”键切换到“Run Tool”—回车—新对话框中把光标下移到“named”前---用空格键使“named”选项前多出个“*”表示----按 “Tab”键切换到“OK”----按 “Tab”键切换到“Quit”
注:如果在正、反解文件中添加了记录后,别忘了用“service named restart”命令重启named服务,否则修改无法生效。