CentOS安装Bind搭建DNS服务的方法

作者:袖梨 2022-06-30

由于公司内部网络需要做测试,采用域名访问公司内网服务器。可是路由器不带有域名转发的功能,于是乎,就想到了采用DNS的方式。

背景:

公司内部服务器一台:

系统:CentOS6.5_x64
hostname:server.andy.local
IP:192.168.10.10

1、安装bind服务

yum -y install bind*
2、配置DNS Server,以下所有蓝色地方都是修改的。

vim /etc/named.conf

//
// 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 { 127.0.0.1; };
 listen-on port 53 { any; };
 listen-on-v6 port 53 { ::1; };
 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 { localhost; };
 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;
 };
};

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

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
———————————–

vim /etc/named.rfc1912.zones

// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

zone "localhost.localdomain" IN {
 type master;
 file "named.localhost";
 allow-update { none; };
};

zone "localhost" IN {
 type master;
 file "named.localhost";
 allow-update { none; };
};

zone "1.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.loopback";
 allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
 type master;
 file "named.loopback";
 allow-update { none; };
};

zone "0.in-addr.arpa" IN {
 type master;
 file "named.empty";
 allow-update { none; };
};

zone "andy.local" IN {
 type master;
 file "named.andy.local";
 allow-update { none; };
};

zone "xxxx.com" IN {
 type master;
 file "named.xxxx.com";
 allow-update { none; };
};
一定要注意每句后面都有个分号;

3、添加DNS本机正向解析文件

vim /var/named/named.andy.local

$TTL 86400
@ IN SOA server.andy.local. root.andy.local. (
    2015080700 ;(序号)每次更新都要+1
    3600 ;(更新频率)从服务器向主服务器要求更新时间
    1800 ;(失败重新尝试时间)通常为更新频率的一半
    604800 ;(失效时间)一直失败尝试时间限定
    86400 ;(快取时间)可以理解为默认TTL时间
)
@ IN NS server.andy.local.
@ IN A 192.168.10.10
server IN A 192.168.10.10
ns IN A 192.168.10.10
添加xxxx域名解析文件

vim /var/named/named.xxxx.com

$TTL 86400
@ IN SOA ns.andy.local. root.andy.local. (
    2015080700 ;(序号)每次更新都要+1
    3600 ;(更新频率)从服务器向主服务器要求更新时间
    1800 ;(失败重新尝试时间)通常为更新频率的一半
    604800 ;(失效时间)一直失败尝试时间限定
    86400 ;(快取时间)可以理解为默认TTL时间
)
@ IN NS ns.andy.local.
@ IN A 192.168.10.10
www IN A 192.168.10.10
user IN A 192.168.10.10
admin IN A 192.168.10.10
然后启动dns server

/etc/init.d/named start
// 开机启动
chkconfig named on
然后在路由器上配置第一个DNS 地址为:192.168.10.10

第二个DNS地址为正常的DNS地址。

这样,公司内部访问特定的xxxx.com域名,就会解析到内部服务器。同时还可以访问外网。

dig xxxx.com

; <<>> DiG 9.8.3-P1 <<>> xxxx.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61174
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;xxxx.com. IN A
;; ANSWER SECTION:
xxxx.com. 86400 IN A 192.168.10.10
;; AUTHORITY SECTION:
xxxx.com. 86400 IN NS ns.andy.local.
;; ADDITIONAL SECTION:
ns.andy.local. 86400 IN A 192.168.10.10
;; Query time: 30 msec
;; SERVER: 192.168.10.10#53(192.168.10.10)
;; WHEN: Thu Sep  3 18:04:09 2015
;; MSG SIZE  rcvd: 86
一般情况加,DNS服务器会做一个主/从模式,还需要反解析文件。这里主要公司内部测试使用,就没有做更多的东西。大家可以自行搜索。。。

相关文章

精彩推荐