在CentOS 6.5/6.4/6.3上使用BIND一步一步安装DNS服务器

  参考网址:http://www.unixmen.com/dns-server-installation-step-by-step-using-centos-6-3/  

  DNS(Domain Name System) 将主机名或者URLS翻译成IP地址。例如如果 "www.unixmen.com"在浏览器,
DNS server 将把这个域名翻译成和他关联的IP地址,DNS servers 用于将主机名类似 www.unixmen.com
翻译成 173.xxx.xxx.xxx 这样是为了方便人们记住域名,而不是IP地址。

方案

主(primary/master) DNS Server
环境配置:
操作系统 : CentOS 6.5 server
主机名 : masterdns.unixmen.local
IP地址 : 192.168.1.100/24

从(secondary/slave) DNS Server
环境配置:
操作系统 : CentOS 6.5 server
主机名 : secondarydns.unixmen.local
IP地址 : 192.168.1.101/24

客户端环境:
操作系统 : CentOS 6.5 Desktop
主机名 : Client.unixmen.local
IP地址 : 192.168.1.102/24

安装主(primary/master) DNS Server
[[email protected] ~]# yum install bind* -y
1.配置DNS Server
添加如下所示行到/etc/named.conf文件中
[[email protected] ~]# vi /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; 192.168.1.100; }; ### 主DNS 的 IP地址 ###
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; 192.168.1.0/24; }; ### 允许访问网络的IP范围 ,末尾的 /24 是网络掩码的缩写表示(在本例中为 255.255.255.0)###
allow-transfer{ localhost; 192.168.1.101; }; ### 从 DNS IP ###
recursion yes;   ###是否允许递归,有建议说应设置为no,为了是防止DDOS攻击###
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"unixmen.local" IN {
type master;
file "forward.unixmen"; //正向解析文件名
allow-update { none; };
};
zone"1.168.192.in-addr.arpa" IN {
type master;
file "reverse.unixmen";//反向解析文件名
allow-update { none; };
};

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

2.创建zone文件
以下文件已经在/etc/named.conf中定义

2.1 创建正向Zone
创建forward.unixmen 文件在 /var/named 目录下
[[email protected] ~]# vi /var/named/forward.unixmen
$TTL 86400
@ IN SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS masterdns.unixmen.local.
@ IN NS secondarydns.unixmen.local.
@ IN A 192.168.1.100
@ IN A 192.168.1.101
@ IN A 192.168.1.102
masterdns IN A 192.168.1.100
secondarydns IN A 192.168.1.101
client IN A 192.168.1.102

2.2创建反向Zone
创建reverse.unixmen 文件在 /var/named 目录下
[[email protected] ~]# vi /var/named/reverse.unixmen
$TTL 86400
@ IN SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS masterdns.unixmen.local.
@ IN NS secondarydns.unixmen.local.
@ IN PTR unixmen.local.
masterdns IN A 192.168.1.100
secondarydns IN A 192.168.1.101
client IN A 192.168.1.102
100 IN PTR masterdns.unixmen.local.
101 IN PTR secondarydns.unixmen.local.
102 IN PTR client.unixmen.local.

3.启动DNS服务
[[email protected] ~]# service named start
Starting named: [ OK ]
[[email protected] ~]# chkconfig named on

4.调整防火墙允许DNS Server 访问外部网络
添加以下内容到 /etc/sysconfig/iptables 文件中
[[email protected] ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

#添加DNS Server
-A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

5.重启防火墙
[[email protected] ~]# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]

6.设置当前的DNS服务器
添加以下内容到 /etc/resolv.conf 文件中
[[email protected] ~]# vim /etc/resolv.conf
nameserver 192.168.1.131

7.测试DNS配置和zone文件是否有语法错误
[[email protected] ~]# named-checkconf /etc/named.conf
[[email protected] ~]# named-checkzone unixmen.local /var/named/forward.unixmen
zone unixmen.local/IN: loaded serial 2011071001
OK
[[email protected] ~]# named-checkzone unixmen.local /var/named/reverse.unixmen
zone unixmen.local/IN: loaded serial 2011071001
OK

8.测试DNS Server
[[email protected] ~]# dig masterdns.unixmen.local
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.6 <<>> masterdns.unixmen.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49834
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;masterdns.unixmen.local.INA
;; ANSWER SECTION:
masterdns.unixmen.local. 86400INA192.168.1.100
;; AUTHORITY SECTION:
unixmen.local.86400INNSsecondarydns.unixmen.local.
unixmen.local.86400INNSmasterdns.unixmen.local.
;; ADDITIONAL SECTION:
secondarydns.unixmen.local. 86400 INA192.168.1.101
;; Query time: 6 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Thu Mar 7 13:07:56 2013
;; MSG SIZE rcvd: 114

[[email protected] ~]# nslookup unixmen.local
Server:192.168.1.100
Address:192.168.1.100#53
Name:unixmen.local
Address: 192.168.1.102
Name:unixmen.local
Address: 192.168.1.100
Name:unixmen.local
Address: 192.168.1.101

现在主DNS Server 已经可以使用了

安装从(Secondary/Slave) DNS Server
[[email protected] ~]# yum install bind* -y
1.配置从DNS Server
添加如下所示行到/etc/named.conf文件中
[[email protected] ~]# vi /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; 192.168.1.101; };
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; 192.168.1.0/24; };
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"unixmen.local" IN {
type slave;
file "slaves/unixmen.fwd";
masters { 192.168.1.100; };
};
zone"1.168.192.in-addr.arpa" IN {
type slave;
file "slaves/unixmen.rev";
masters { 192.168.1.100; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

2.启动DNS服务
[[email protected] ~]# service named start
Generating /etc/rndc.key: [ OK ]
Starting named: [ OK ]
[[email protected] ~]# chkconfig named on

现在主DNS server上的正向和反向zone文件,被自动复制到了从 DNS Server 的 /var/named/slaves/ 目录下
[[email protected] ~]# ls /var/named/slaves/
unixmen.fwd unixmen.rev

[[email protected] ~]# cat /var/named/slaves/unixmen.fwd
$ORIGIN .
$TTL 86400; 1 day
unixmen.localIN SOAmasterdns.unixmen.local. root.unixmen.local. (
2011071001 ; serial
3600 ; refresh (1 hour)
1800 ; retry (30 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS masterdns.unixmen.local.
NS secondarydns.unixmen.local.
A192.168.1.100
A192.168.1.101
A192.168.1.102
$ORIGIN unixmen.local.
clientA192.168.1.102
masterdnsA192.168.1.100
secondarydnsA192.168.1.101

[[email protected] ~]# cat /var/named/slaves/unixmen.rev
$ORIGIN .
$TTL 86400; 1 day
1.168.192.in-addr.arpaIN SOAmasterdns.unixmen.local. root.unixmen.local. (
2011071001 ; serial
3600 ; refresh (1 hour)
1800 ; retry (30 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS masterdns.unixmen.local.
NS secondarydns.unixmen.local.
PTRunixmen.local.
$ORIGIN 1.168.192.in-addr.arpa.
100PTRmasterdns.unixmen.local.
101PTRsecondarydns.unixmen.local.
102PTRclient.unixmen.local.
clientA192.168.1.102
masterdnsA192.168.1.100
secondarydnsA192.168.1.101

3.添加DNS Server到所有系统中
[[email protected] ~]# vi /etc/resolv.conf
# Generated by NetworkManager
search ostechnix.com
nameserver 192.168.1.100
nameserver 192.168.1.101
nameserver 8.8.8.8

4.测试DNS Server
[[email protected] ~]# dig masterdns.unixmen.local
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.6 <<>> masterdns.unixmen.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21487
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;masterdns.unixmen.local.INA
;; ANSWER SECTION:
masterdns.unixmen.local. 86400INA192.168.1.100
;; AUTHORITY SECTION:
unixmen.local.86400INNSmasterdns.unixmen.local.
unixmen.local.86400INNSsecondarydns.unixmen.local.
;; ADDITIONAL SECTION:
secondarydns.unixmen.local. 86400 INA192.168.1.101
;; Query time: 15 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Thu Mar 7 13:27:57 2013
;; MSG SIZE rcvd: 114

[[email protected] ~]# dig secondarydns.unixmen.local
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.6 <<>> secondarydns.unixmen.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20958
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;secondarydns.unixmen.local.INA
;; ANSWER SECTION:
secondarydns.unixmen.local. 86400 INA192.168.1.101
;; AUTHORITY SECTION:
unixmen.local.86400INNSmasterdns.unixmen.local.
unixmen.local.86400INNSsecondarydns.unixmen.local.
;; ADDITIONAL SECTION:
masterdns.unixmen.local. 86400INA192.168.1.100
;; Query time: 4 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Thu Mar 7 13:31:53 2013
;; MSG SIZE rcvd: 114

[[email protected] ~]# nslookup unixmen.local
Server:192.168.1.100
Address:192.168.1.100#53
Name:unixmen.local
Address: 192.168.1.101
Name:unixmen.local
Address: 192.168.1.102
Name:unixmen.local
Address: 192.168.1.100

client配置
添加DNS Server到所有客户端的 /etc/resolv.conf 文件中
[[email protected] unixmen]# vi /etc/resolv.conf
# Generated by NetworkManager
search unixmen.local
nameserver 192.168.1.100
nameserver 192.168.1.101
nameserver 8.8.8.8

测试DNS Server

[[email protected] unixmen]# dig masterdns.unixmen.local
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> masterdns.unixmen.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19496
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;masterdns.unixmen.local.INA
;; ANSWER SECTION:
masterdns.unixmen.local. 86400INA192.168.1.100
;; AUTHORITY SECTION:
unixmen.local.86400INNSmasterdns.unixmen.local.
unixmen.local.86400INNSsecondarydns.unixmen.local.
;; ADDITIONAL SECTION:
secondarydns.unixmen.local. 86400 INA192.168.1.101
;; Query time: 30 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Thu Mar 7 13:47:55 2013
;; MSG SIZE rcvd: 114

[[email protected] unixmen]# dig secondarydns.unixmen.local
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> secondarydns.unixmen.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14852
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;secondarydns.unixmen.local.INA
;; ANSWER SECTION:
secondarydns.unixmen.local. 86400 INA192.168.1.101
;; AUTHORITY SECTION:
unixmen.local.86400INNSsecondarydns.unixmen.local.
unixmen.local.86400INNSmasterdns.unixmen.local.
;; ADDITIONAL SECTION:
masterdns.unixmen.local. 86400INA192.168.1.100
;; Query time: 8 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Thu Mar 7 13:48:38 2013
;; MSG SIZE rcvd: 114

[[email protected] unixmen]# dig client.unixmen.local
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> client.unixmen.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14604
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;client.unixmen.local.INA
;; ANSWER SECTION:
client.unixmen.local.86400INA192.168.1.102
;; AUTHORITY SECTION:
unixmen.local.86400INNSmasterdns.unixmen.local.
unixmen.local.86400INNSsecondarydns.unixmen.local.
;; ADDITIONAL SECTION:
masterdns.unixmen.local. 86400INA192.168.1.100
secondarydns.unixmen.local. 86400 INA192.168.1.101
;; Query time: 5 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Thu Mar 7 13:49:11 2013
;; MSG SIZE rcvd: 137

[[email protected] unixmen]# nslookup unixmen.local
Server:192.168.1.100
Address:192.168.1.100#53
Name:unixmen.local
Address: 192.168.1.102
Name:unixmen.local
Address: 192.168.1.100
Name:unixmen.local
Address: 192.168.1.101

现在主从DNS Server已经可以使用了

时间: 2024-08-25 10:18:23

在CentOS 6.5/6.4/6.3上使用BIND一步一步安装DNS服务器的相关文章

CentOS:[6]安装VPN服务器pptpd

一.检查服务器是否有必要的支持.如果检查结果没有这些支持的话,是不能安装pptp的,执行指令: #modprobe ppp-compress-18 && echo ok 这条执行执行后,显示"ok"则表明通过.不过接下来还需要做另一个检查,输入指令: #cat /dev/net/tun 如果这条指令显示结果为下面的文本,则表明通过: cat: /dev/net/tun: File descriptor in bad state 上述两条均通过,才能安装pptp.否则就只

在CentOS 7中安装nginx服务器

简要地介绍一下,如何在CentOS 7中安装nginx服务器  下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm  建立nginx的yum仓库 # rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm  下载并安装nginx # yum inst

CentOS 7 DNS服务器架设

CentOS 7 DNS服务器部署 项目背景和要求 要保证即能够解析内网域名linuxidc.local的解析,又能解析互联网的域名. 主DNS服务器:ZZYH1.LINUXIDC.LOCAL 辅助DNS服务器:ZZYH2.LINUXIDC.LOCAL 包含以下域的信息: 1.linuxidc.local域的信息: FQDN IP地址 备注 zzyh1.linuxidc.local 192.168.188.15 DNS1服务器 zzyh2.linuxidc.local 192.168.188.1

CentOS 安装DHCP服务器

一.安装环境: CentOS 7  Linux version 3.10.0-229.el7.x86_64 二.安装及配置步骤: 2.1 背景网络知识 网络拓扑如下 两台服务器的IP为172.18.0.61,172.18.0.62: 用户网段为172.18.6.0/24,172.18.7.0/24: 68:F7:28:37:8E:3B 设固定IP 172.18.6.20: 服务器172.18.0.61分配IP 从30-131,172.18.0.62分配IP从131-230: 两台服务器不做主从,

在CentOS 7上安装Nginx服务器

下面我就我在CentOS上安装Nginx经验做简单的记录,以备后查. 1.下载nginx-release包 以CentOS 7为例,下载nginx软件包:http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 其它Linux发行版的软件包下载地址:http://nginx.org/en/linux_packages.html 2.以普通用户登录终端,然后导入GPG sig

CentOS 7 配置DNS服务器

一.配置环境 CentOS 7 Linux version 3.10.0-229.el7.x86_64 二.配置目标 搭建DNS服务器 搭建主从DNS服务器 三. 搭建DNS服务器 3.1 基础配置,关才防火墙及SElinux [[email protected] dhcp]# systemctl stop firewalld.service [[email protected] dhcp]# systemctl disable firewalld.service rm '/etc/system

CentOS 7运维管理笔记(4)----安装ftp服务器

在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的FTP软件除了vsftp外,主要有proftpd.pureftpd和 wu-ftpd等.本篇随笔记录vsftp的安装与配置. 注意:本随笔所有操作均在VMware workstations虚拟机中安装的CentOS7 中进行,在进行操作前最好设置快照,这样某一步出错了还可以退回原来的状态: 1.安装

【新手出发】从搭虚拟机开始,一步一步在CentOS上跑起来.Net Core程序

文章背景 微软6月26号发布core 1.0版本后,园子里关于这方面的文章就更加火爆了,不管是从文章数量还是大家互动的热情来看,绝对是最热门的技术NO.1.我从去年底开始接触.net core到现在也大半年了,一直停留在浏览各种帖子上,偶尔新建个项目敲几行代码练习一下.可是对于core最大的卖点——跨平台,一直没法实际体验一回,因为压根没接触过Linux,完全不会那些命令,甚至虚拟机都没玩过?,想在Linux上实战操作一下可想有多困难.虽然园子里很多文章都有教程,但大神们一开始直接就上各种命令代

烂泥:centos安装及配置DNS服务器

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要在centos配置DNS服务器,要先安装DNS软件BIND.当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod. 在此我们以通过DNS软件BIND为例,进行实验. 本次实验:OS centos6.5 64bit 安装DNS软件,使用如下命令: yum -y install bind bind-chroot bind-utils BIND配置文件保存在两个主要位置: /etc/named.conf 这个是BIND服务主配置文件