linux下智能dns的配置

发布时间:2020-06-25编辑:脚本学堂
1、安装bi nd及相关软件root# rpm –qa | grep bind bind-utils-9.2.4-16.EL4 <==客户端搜索主机名称的相关指令 bind-9.24-16.EL4 <==DNS服务器的主程序 bind-chroot-9.2.4-16EL4 <==限制bind主程序所在目录

1、安装bi nd及相关软件
root# rpm –qa | grep bind
bind-utils-9.2.4-16.EL4 <==客户端搜索主机名称的相关指令
bind-9.24-16.EL4 <==DNS服务器的主程序
bind-chroot-9.2.4-16EL4 <==限制bind主程序所在目录

上面采用的都是原版光盘里面的rpm包,如果没有相应的程序,请从原版光盘包里面安装相应的rpm包。

2、软件目录说明:
/etc/named.conf 这是配置文件的主目录,其真实的目录为:/var/named/chroot/etc/named.conf
/etc/sysconfig/named 此文件可以指定是否启动chroot及额外的相关参数,我配置的时候没有修改。
/var/run/named named程序执行的时候将pid-file放置在这个目录内。
/var/named/chroot/var/named 该目录存放各个配置文件,是存在named的详细域名配置文件的目录

3、 DNS服务器类型:
(1)、Master:是DNS本身包含域名的配置文件的服务器。这也是配置的过程中我们最主要的配置服务器。
(2)、Slave:是DNS的备用服务器,当Master不能正常的提供服务时,有Slave接管;在测试的过程中,本人没有使用Slave服务器。
(3)、Cache_Only:本身没有数据库,只是起到代理人的作用,一般是设置在防火墙上。可以使说Cache_Only是最简单的DNS服务器,只是起到了一个转发的功能。

4、搭建Cache_Only的DNS服务器:
(1)、#vi /etc/named.conf
编辑输入以下内容:
 

复制代码 代码如下:
options
{
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
pid-file "/var/run/named/named.pid";
forward only;
Forwarders
{
202.102.224.68;
202.102.227.68;
};
allow-query {any;};
allow-transfer {none;};
};
include “/etc/rndc.key”;

(2)启动DNS服务器:
# /etc/rc.d/init.d/named start

此时查看netstat,如果发现53端口正在监听,那么说明bind服务已经正常启动,此时将你自己的机器的DNS设置为DNS服务器的ip,就可以正常的上网了,是不是很简单呢?那么接下来就继续学习吧。

5、 搭建自己的智能DNS服务器,其实也很简单,只要你按照下面的步骤做,相信不会遇到什么大的问题,如果对于语法什么的不熟悉,可能是刚开始学习的问题,当你对DNS学习了之后,你就会发现DNS原来如此简单,那么下面咱们就开始搭建吧。
(1)编辑/etc/named.conf
 

复制代码 代码如下:

options
{
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
pid-file "/var/run/named/named.pid";
forward only;

Forwarders
{
202.102.224.68;
202.102.227.68;
};

allow-query {any;};
allow-transfer {none;};
};

Include “/etc/rndc.key”;
acl "CNC" {
192.168.5.157;
};

view "view_cnc" {
match-clients { CNC; };
Zone "."
{
type Hint;
file "named.root";
};

Zone "localhost"
{
type Master;
file "named.localhost";
};

Zone "jbxue.net"
{
type Master;
file "named.jbxue.net";
};
};

acl "telecom" {
192.168.5.156;
192.168.5.249;
};

view "view_tel" {
match-clients { telecom; };
Zone "."
{
type Hint;
file "named.root";
};

Zone "localhost"
{
type Master;
file "named.localhost";
};

Zone "jbxue.net"
{
type Master;
file "name.jbxue.net";
};
};

view "view_any" {
match-clients { any; };
Zone "."
{
type Hint;
file "named.root";
};

Zone "localhost"
{
type Master;
file "named.localhost";
};

Zone "jbxue.net"
{
type Master;
file "name1.jbxue.net";
};
};

(2)、编辑/var/named/chroot/var/named/ named.root
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC
; under anonymous FTP as
; file /domain/named.root
; on server FTP.INTERNIC.NET
; -OR- RS.INTERNIC.NET
;
; last update: Dec 12, 2008
; related version of root zone: 2008121200
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30
;
; FORMERLY NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
;
; FORMERLY C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; FORMERLY TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; FORMERLY NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; FORMERLY NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2F::F
;
; FORMERLY NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; FORMERLY AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803F:235
;
; FORMERLY NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; OPERATED BY VERISIGN, INC.
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:C27::2:30
;
; OPERATED BY RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7FD::1
;
; OPERATED BY ICANN
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42
;
; OPERATED BY WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:DC3::35
; End of File

上面的这个文件是网上的,主要是设置些最上层的默认的参数,里面的东西最好不要动。

(3)编辑/var/named/chroot/var/named/ named.localhost
 

复制代码 代码如下:
$TTL 600
@ IN SOA localhost. root.localhost. (
20091102 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; default_ttl
)
@ IN NS localhost.
localhost. IN A 127.0.0.1

(4)、编辑/var/named/chroot/var/named/ named.jbxue.net
 

复制代码 代码如下:
$TTL 604800
@ IN SOA www.jbxue.net. www.jbxue.net.cn. (
2006080401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS www.jbxue.net.
@ IN MX 0 mail.jbxue.net.
@ IN A 192.168.9.21
www IN A 192.168.9.21

(5)/var/named/chroot/var/named/ name.jbxue.net
 

复制代码 代码如下:
$TTL 604800
@ IN SOA www.jbxue.net. www.jbxue.net.cn. (
2006080401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS www.jbxue.net.
@ IN MX 0 mail.jbxue.net.
@ IN A 192.168.1.221

(6)编辑/var/named/chroot/var/named/ name1.jbxue.net
 

复制代码 代码如下:
$TTL 604800
@ IN SOA www.jbxue.net. www.jbxue.net.cn. (
2006080401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS www.jbxue.net.
@ IN MX 0 mail.jbxue.net.
@ IN A 192.168.9.30
www IN A 192.168.9.30

重启named服务,同时将自己的DNS设置为自己搭建的DNS的ip,通过不同的ip访问,你就会发现,同样的域名会因来源ip的不同,解析至不同的ip上。
当你将网通、电信、教育网的网段都设置好之后,那么你的DNS服务器就可以向上层的域名服务商要求,将你的辖下的域名解析至你的DNS服务器上了。

什么也别说了,开始测试吧。