使用BIND安装智能DNS服务器(一)---基本的主从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
[root@masterdns ~]# yum install bind* -y
1.配置DNS Server
添加如下所示行到/etc/named.conf文件中
[root@masterdns ~]# 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 目录下
[root@masterdns ~]# 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 目录下
[root@masterdns ~]# 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服务
[root@masterdns ~]# service named start
Starting named: [ OK ]
[root@masterdns ~]# chkconfig named on
4.调整防火墙允许DNS Server 访问外部网络
添加以下内容到 /etc/sysconfig/iptables 文件中
[root@masterdns ~]# 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.重启防火墙
[root@masterdns ~]# 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 文件中
[root@masterdns ~]# vim /etc/resolv.conf
nameserver 192.168.1.131
7.测试DNS配置和zone文件是否有语法错误
[root@masterdns ~]# named-checkconf /etc/named.conf
[root@masterdns ~]# named-checkzone unixmen.local /var/named/forward.unixmen
zone unixmen.local/IN: loaded serial 2011071001
OK
[root@masterdns ~]# named-checkzone unixmen.local /var/named/reverse.unixmen
zone unixmen.local/IN: loaded serial 2011071001
OK
8.测试DNS Server
[root@masterdns ~]# 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
[root@masterdns ~]# 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
[root@secondarydns ~]# yum install bind* -y
1.配置从DNS Server
添加如下所示行到/etc/named.conf文件中
[root@secondarydns ~]# 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服务
[root@secondarydns ~]# service named start
Generating /etc/rndc.key: [ OK ]
Starting named: [ OK ]
[root@secondarydns ~]# chkconfig named on
现在主DNS server上的正向和反向zone文件,被自动复制到了从 DNS Server 的 /var/named/slaves/ 目录下
[root@secondarydns ~]# ls /var/named/slaves/
unixmen.fwd unixmen.rev
[root@secondarydns ~]# 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
[root@secondarydns ~]# 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到所有系统中
[root@secondarydns ~]# 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
[root@secondarydns ~]# 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
[root@secondarydns ~]# 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[root@secondarydns ~]# 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 文件中
[root@client 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
[root@client 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
[root@client 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
[root@client 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
[root@client 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已经可以使用了
转载于:https://www.cnblogs.com/etangyushan/p/4309014.html
使用BIND安装智能DNS服务器(一)---基本的主从DNS服务器搭建相关推荐
- 基于Bind实现的DNS正反向解析及主从DNS的配置
一.什么是DNS? 1.1 简单的理解,Domain Name System,是互联网一项核心的服务,他作为一个桥梁可以将域名和IP地址相互因素的一个分布式数据库,能够使人更加方便的访问互联网,而不用 ...
- DNS正反向域名解析与主从切换 服务搭建
一.正向域名解析 1.DNS服务器:192.168.75.161 解析的域名/ip映射 192.168.75.163 -- www.xingyun.com 搭建DNS服务器 1:修改/etc/nam ...
- CentOS7.4下DNS服务器软件BIND安装及相关的配置(一)
(一)DNS简介: DNS,全称Domain Name System,即域名解析系统.域名是通过DNS来实现的,每个域名代表一个IP,DNS就是用来在ip地址与域名之间进行转换的服务. DNS帮助用户 ...
- 服务器DNS服务是否自动安装,DNS服务器之一:DNS简介及BIND安装与基本配置 | 旺旺知识库...
1.什么是DNS? 域名系统(英文:Domain Name System,DNS)是因特网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网.DNS 使用TCP和 ...
- dns辅助服务器的配置时,主dns配置的区域文件不能复制过来,使用bind部署DNS主从服务器...
说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建主从DNS服务器的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查看相关软件版 ...
- CentOS7.6域名服务器配置(一)使用Bind配置主从DNS服务器
CentOS7.6 使用Bind配置主从DNS服务器 一.环境信息说明 1.1 实现场景 配置实现在一个服务器上配置多域名解析(多区域文件) 配置域名反向解析(这个如果不配置邮件服务器,则不是很重要, ...
- Linux-dns基础知识和BIND的简单配置-3(主从DNS服务器及转发)
rndc的相关知识: 1.什么是rndc: Remote Name Domain Controller,远程名称域控制器 rndc 通过一个 TCP 连接与名字服务器通信,发送经过数字签名认证的命令. ...
- 查看linux糸统dns是否运行,探查Linux系统DNS服务器运行状况
第一页 在Linux环境下,也提供了广泛流行的BIND服务器,它是构建DNS服务器最常用的服务器软件.介绍BIND的安装的文章现在很多,现在我们就一起来谈一下维护的话题.我们如何才能够了解DNS服务器 ...
- bind安装配置以及应用
实验环境:两台centos6.6服务器,主DNS服务器IP为172.26.249.29,从DNS服务器IP为172.16.249.98,解析域名为stu07.com 一.主DNS服务器搭建 1. 检 ...
最新文章
- My excellent 2018
- 分布式系统设计注意点
- java gui拖拽_Java Swing拖放
- python getopts_getopts用法
- 高清摄像头MIPI接口与ARM连接【转】
- 华为怎么改输入法皮肤_微信和QQ个性键盘皮肤
- pythonguitkinter编程入门_Python Tkinter GUI编程入门介绍
- Oracle基础 10 表 table
- UNIX文件系统结构
- coreseek添加新词库
- 左耳朵耗子的技术书籍建议
- 戴尔DELLEMC服务器重装CentOS 7系统
- js动态时钟,倒计时,去掉数组中重复的元素,抽奖系统随机抽取5名不能重复
- 假设检验及在机器学习中的应用
- js禁止鼠标右键的菜单事件
- 什么是SEO,新手SEO须知!
- 软件工程师——计算机组成原理
- sublime text3安装python插件和flake8_让你用sublime写出最完美的python代码--windows环境-搜云库...
- Thinkphp中的assign() 和 display()
- C#字符串转换为ASCII码