RHEL5 DNS服务器配置
2.windows2k3;DNS slave server:10.10.10.101
3.server可与互联网通信;
/var/named/chroot/etc ;存放named.conf
/var/log/messages
首先,应该检查自己是否已经安装了bind
[root@net ~]# rpm -qa bind*
bind-9.3.3-10.el5
bind-libbind-devel-9.3.3-10.el5bsp;
bind-sdb-9.3.3-10.el5
bind-devel-9.3.3-10.el5
caching-nameserver-9.3.3-7.el5.i386.rpm
bind-chroot包放最后一个安装bind-chroot-9.3.3-10.el5
安装chroot包时要将/usr/share/doc/bind-9.3.3/sample/etc/named.conf范本文件复制为/etc/named.conf,否则会报错
Locating /var/named/chroot//etc/named.conf failed: [失败]
使用了chroot后,虚拟根目录为/var/named/chroot,则namd.conf实际位置为/var/named/chroot/etc,而工作目录/var/named实际路径为/var/named/chroot/var/named.tc
停用chroot则 在/etc/sysconfig/named 中的 ROOTDIR 这一行给注释掉
[root@net ~]#cd /mnt/Server //这是DVD的文件夹,以上的包都在这里找
[root@net ~]#cd /var/named/chroot/etc
注意:安装caching-nameserver-9.3.3-7.el5.i386.rpm 之后会自动生成一个named.caching-nameserver.conf 这个文件,首先我们把它改个名字, 改成named.conf,并备份一下
[root@net etc]#cp -p named.caching-nameserver.conf named.caching-nameserver.conf.back
[root@net etc]#cp -p named.caching-nameserver.conf named.conf //先用这个来编辑
[root@net etc]#vi named.conf
acl "list1" {
10.10.10.0/24; //作示范,写一个就行 针对网段
10.10.10.203/24; //针对一个IP
};
options {
listen-on port 53 { any; }; //侦听接口;
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/da
statistics-file "/var/named/da
memstatistics-file "/var/named/da
query-source port 53;
query-source-v6 port 53;
allow-query { any; }; //允许查询哪些主机查询;
allow-forward "list1"; //允许list1中的dns server复制本机的记录文件
};
logging {
channel default_debug {
file "da
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; }; //匹配任何主机
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones"; //调用区域文件, 可以起个短名
};
type master;
file "test.zone"; //linux给出的范例就是.zone
};
type master;
file "rtest.local";
};
###########################
#如果在linux上配slave的话,如下
type slave;
master { 10.10.10.203; }; //假设10.10.10.203是master
file "test.zone"; //这里面可以写路径, 不过注意这个默认的虚拟目录是在/var/named/chroot/var/named 中的
};
type slave;
master { 10.10.10.203; };
file "abc\rtest.local"; //将复制来的文件放在/var/named/chroot/var/named/abc里
};
###########################
[root@net named]#vi test.zone //建立正向解析区域文件;
test.net. IN SOA dns.test.net. root@test.net. ( //注意域名后面有 .
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns.test.net.
IN MX 10 mail.test.net.
dns IN A 10.10.10.5
www IN A 10.10.10.5
2k3 IN A 10.10.10.203
ftp IN CNAME www.test.net.
#$TTL 下面可用@ 这@代表域名的意思,在配置文件里所有的域名后都别忘加" . "点也很重要
###############################
#如果有子域,只要加一个A和NS记录就行
sub.test.net. IN NS dns.sub.test.net. //指出子域的dns
dns.sub.test.net. IN A 10.10.10.55 //指出子域的dns地址
###############################
[root@huyb named]#vi rtest.local //建立反向解析区域文件;
@ IN SOA dns.test.net. root.test.net. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
5 IN NS dns.test.net.
5 IN PTR dns.test.net.
5 IN PTR www.test.net.
203 IN PTR 2k3.test.net.
第五步:
把zone配置文件的owner改了,这个文件要是权限过高,那slave就没法去访问和复制
[root@net named]#^test.zone^rtest.local
[root@net named]#named-checkconf -t /var/named/chroot #这命令默认是去找/etc/named/named.conf
#因为安上了chroot这个包,虚拟出来了另一个工作路径/var/named/chroot 所以要把它加上
[root@net named]# //回车没提示那就是OK了
还有一个命令是检查zone的文件语法 命令 域名 文件位置
[root@net named]#named-checkzone test.net /var/named/chroot/var/named/test.zone
第七步:
把iptables里写入规则
[root@net named]#iptables -A FORWARD -i eth0 -p tcp --dorp 53 -j ACCEPT
[root@net named]#^tcp^udp
[root@net named]#service iptables save //保存
关闭selinux
[root@net named]#/usr/sbin/setenforce 0 //立刻关闭 SELINUX 1为启用
[root@net named]#echo "/usr/sbin/setenforce 0" >> /etc/rc.local //添到系统自动加载文件中
或者
[root@net named]#vi /etc/sysconfig/selinux
把SELINUX=""改成disabled 再重启
第八步:
[root@net named]#service named start //启动服务
host
dig
nslookup
用这三条指令来测试