红联Linux门户
Linux帮助

Linux DNS服务器搭建

发布时间:2014-07-05 11:05:35来源:红联作者:velcbo
环境:CentOS 6.3

需求:建立example.com域用于内部和外部查询,内网环境192.168.88.0/24,10.1.0.0/16

1.安装

yum install bind //没安装chroot

2.主配置文件

/etc/named.conf //主配置文件

vi /etc/named.conf

options {
listen-on port 53 { any; };
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; };
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;
};
};


view "internal" { //建立内部查询视图

match-clients { 192.168.0.0/16; 10.1.0.0/16; }; //指定允许查询主机
recursion yes;

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

zone "example.com" IN {
type master;
file "example.com.zone.internal";
};

zone "88.168.192.in-addr.arpa" IN { //注意反向区域的命名写法,我之前就错误的写成0.88168.192.in-addr.arpa
type master;
file "88.168.192.zone";
};

include "/etc/named.rfc1912.zones"; //如果有include的话,要包括在每个view里
include "/etc/named.root.key";
};

view "external" {

match-clients { any; };
recursion yes;

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

zone "example.com" IN {
type master;
file "example.com.zone.external";
};

zone "1.100.202.in-addr.arpa" IN {
type master;
file "1.100.202.zone";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};


3.建立区域配置文件

cp -p /var/named/named.empty /var/named/example.com.zone.internal

cp -p /var/named/named.empty /var/named/example.com.zone.external

cp -p /var/named/named.empty /var/named/88.168.192.zone

cp -p /var/named/named.empty /var/named/1.100.202.zone //注意带上-p保持文件属性



example.com.zone.internal //internal view的正向区域文件
$TTL 3H
@ IN SOA ns1.example.com. root.example.com. (
2013051501 ; serial //序列号注意修改配置后增加此值
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.example.com.

IN MX 5 mail.example.com.
ns1 IN A 192.168.88.110

mail IN A 192.168.88.111

www IN A 192.168.88.112

bbs IN CNAME www


example.com.zone.external //external view正向区域文件
$TTL 3H
@ IN SOA ns1.example.com. root.example.com. (
2013051501 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.example.com.
ns1 IN A 202.100.1.110

88.168.192.zone //internal view的反向区域文件
$TTL 3H
@ IN SOA ns1.example.com. root.example.com. (
2013051501 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.example.com.
110 IN PTR ns1.example.com.

1.100.202.zone //external view的反向区域文件
$TTL 3H
@ IN SOA ns1.example.com. root.example.com. (
2013051501 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.example.com.
110 IN PTR ns1.example.com.



4.配置检查

named-checkconf /etc/named.conf

named-checkzone example.com /var/named/example.com.zone.internal

named-checkzone example.com /var/named/example.com.zone.external

named-checkzone 88.168.192.in-addr.arpa 88.168.192.zone

named-checkzone 1.100.202.in-addr.arpa 1.100.202.zone



5.启动服务

service named start

6.打开防火墙

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT //注意UDP一定也要打开

7.注册系统服务

chkconfig -level 35 named on

8.修改本机DNS配置 //注意不要直接修改/etc/resolver

vi /etc/sysconfig/network-script/ifcfg-eth0

DNS1=127.0.0.1

9.重启network服务

service network restart



测试

C:\>nslookup
Default Server: ns1.example.com
Address: 192.168.88.110

> example.com
Server: ns1.example.com
Address: 192.168.88.110

Name: example.com

> 192.168.88.110
Server: ns1.example.com
Address: 192.168.88.110

Name: ns1.example.com
Address: 192.168.88.110

来源:Linux社区
文章评论

共有 0 条评论