红联Linux门户
Linux帮助

DNS学习总结

发布时间:2015-07-23 09:41:12来源:红联作者:lythonmao001
DNS学习总结
大家都知道,要架设DNS服务器,肯定是要用BIND了,下载安装我就不说了。
BIND的主配置文件是/etc/named.conf
区域文件存放在/var/named/目录里

首先,我们来配置/etc/named.conf[code]vi /etc/named.conf[/code][code]//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
listen-on port 53 { any; }; //这里修改成你主机的IP,不要用127.0.0.1
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";
allow-query { any; }; //这里是说明 谁可以来查询DNS,也就是访问控制吧,如果是默认localhost,局域网里的其他主机就访问不了DNS服务 器
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

zone "aaa.com" IN { //定义正向解析区域
type master;
file "aaa.com.zone";
};

zone "2.168.192.in-addr.arpa" IN { //定义反向解析区域
type master;
file "aaa.com.rev";
};


include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
[/code]-------------------------------------------------------------------------------------------------------------------------------------------------------
下面我们去/var/named下面创建区域文件。[code]cd /var/named
[root@mail named]# ls
data dynamic named.ca named.empty named.localhost named.loopback sina.org.rev sina.org.zone slaves
[root@mail named]# cp -a named.localhost aaa.com.zone //这里一定要加上-a选项,否则aaa.com.zone的用户组就会是root,
[root@mail named]# ls -l
总用量 40
-rw-r-----. 1 root named 152 6月 21 2007 aaa.com.zone
drwxrwx---. 2 named named 4096 5月 19 21:24 data
drwxrwx---. 2 named named 4096 5月 19 21:24 dynamic
-rw-r-----. 1 root named 2075 4月 23 2014 named.ca
-rw-r-----. 1 root named 152 12月 15 2009 named.empty
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
-rw-r-----. 1 root named 168 12月 15 2009 named.loopback
-rw-r-----. 1 root named 226 7月 16 22:45 sina.org.rev
-rw-r-----. 1 root named 224 7月 16 22:44 sina.org.zone
drwxrwx---. 2 named named 4096 5月 19 21:24 slaves
[/code][code]vi /var/named/aaa.com.zone
$TTL 1D
@ IN SOA aaa.com. lython@aaa.com. ( //这一行其他是可以不动的。
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.aaa.com. ///这里有个要点,NS这一行如果只是这样写,就不能顶到头,
NS www.aaa.com.
MX 5 mail.aaa.com.
mail A 192.168.2.20 ////这一行里的全写是 mail IN A 192.168.2.20 。 IN被我能省了,上面NS行也是被我省了。
www A 192.168.2.20 ///还有就是区域文件里哪儿该加点,哪儿不该,自己去看看资料吧。
[/code][code] cp -a aaa.com.zone aaa.com.rev[/code][code]vi /var/named/aaa.com.rev

$TTL 1D
@ IN SOA aaa.com. lython@aaa.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.aaa.com.
NS www.aaa.com.
MX 5 mail.aaa.com.
20 PTR mail.aaa.com.
20 PTR www.aaa.com.[/code]好了,现在区域文件也好了。
-----------------------------------------------------------------------------------------------------------------------------------
检查配置文件的语法错误。这里有几个命令,是安装BIND的时候装上的[code][root@mail etc]# ls -l /usr/sbin | grep named
-rwxr-xr-x. 2 root root 552480 5月 19 21:24 named
-rwxr-xr-x. 1 root root 24140 5月 19 21:24 named-checkconf
-rwxr-xr-x. 1 root root 22712 5月 19 21:24 named-checkzone
lrwxrwxrwx. 1 root root 15 7月 20 15:02 named-compilezone -> named-checkzone
-rwxr-xr-x. 1 root root 5352 5月 19 21:24 named-journalprint[/code][code][root@mail etc]# named-checkconf //检查主配置文件/etc/named.conf的语法,如果没有回应,就是OK,有回应就是有错误,会告诉你第几行错误
[root@mail etc]# named-checkzone aaa.com /var/named/aaa.com.zone ///检查区域文件aaa.com.zone的语法 ,正确就会回应你OK,错误会告诉你第几行错误。
[/code]最后启动DNS服务[code]service named start[/code]哦,差点忘记了,记得要把自己的DNS指向自己的IP[code] vi /etc/resolv.conf
nameserver 192.168.2.20 ///这个是自己的IP。因为自己就是DNS服务器嘛?~
[/code]--------------------------------------------------------------------------------------------------------------------------------------------------------
测试DNS服务器

随你是在linux,还是windows命令行下,nslookup都是很好用的[code][root@mail etc]# nslookup mail.aaa.com
Server: 192.168.2.20
Address: 192.168.2.20#53

Name: mail.aaa.com
Address: 192.168.2.20
[/code]
文章评论

共有 1 条评论

  1. chxq 于 2017-08-31 22:15:34发表:

    很不错,多少都有帮助