2015年3月24更新 添加了要加的配置域名解析器(否则会找不到域名)
 
 
一、创建该实验的的模型
 
配置完gate虚拟机的两张网卡后,就启动gate的转发
[root@localhost root]# vi /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
...
 
修改成以上的形式,net.ipv4.ip_forward=1是指表示转发,0表示不转发
 
vm1和vm2要添加到达对方的路由
vm1上:
# route add -net 192.168.128.0/24 gw 10.10.10.8
 
vm2上:
# route add -net 10.10.10.0/24 gw 192.168.128.8
 
通过ping命令互相ping通
 
 
二、开始BIND的设置:
 
1、打开/etc/name.conf
[root@localhost root]# vi /etc/named.conf

   
添加上了后面一段
zone "gr.org" IN {                    //指定一个域名为gr.org的正向区域
        type master;
        file "gr.org.db";                //指定文件名是gr.org.db
};
 
 
区域Type:
master: 主域服务
slave: 从域服务
stub: 只复制主域的NS记录,属于BIND特有功能.
hint: 设定初始化设置根域服务器所用的参数.
forward: 域转发设置
2、添加域名解析文件
添加一个gr.org的区域(zone),类型为主机(master,还有两种是slave和hint)
文件就在option定义的目录下/var/named
在该目录下创建gr.org.db文件
创建该文件,并插入以下的内容
[root@localhost root]# vi /var/named/gr.org.db
 
 
TTL
time to live 生存时间,默认为秒
@

表示相应的域名,表示一个域名定义的开始
这里代表gr.org

IN

表示后面的数据使用的是INTERNET标准

SOA

表示授权开始

ns.gr.org.

该域的主域名服务器

root.gr.org.

管理员邮件地址(这里的邮件地址中的用.来代替常见的邮件地址的@.)

20150317

serial(d. adams)表示配置文件的修改版本,格式是年月日当日修改的次数,每次修改时都应该修改这个数字,

要不然所做修改的不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你你的所配置

的DNS服务器数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就

不会反映出你的更新,也就对他们来说你更新是没意义的

6H

refresh,定义以单位(M分,H时,W周,默认是秒即不带单位)的刷新频率,即规定从域名服务器多长时间查

询一个主服务器,以服务器的数据的是最新的

30M

retry,以30分钟的时间间隔重试,即当从服务器试图在主服务器上查询更新时,而连接失败了,则这个值规定

了从服务器多长时间后重试

1W

expire,规定从服务器在向主服务器更新失败之后清除记录的时间

15M

minimum TTL,规定缓冲服务器不能与主服务器联系上的清除记录时间

NS

net server,表示该主机是域名服务器

A

address,定义了一条A记录,表示该主机名到IP地址的对应记录

MX

mail exchange,定义一条邮件记录

CNAME

定义了对应主机的一个别名

PTR

指一条反向域名解析PTR记录,类似A记录(PTR指针记录由IP地址提供商提供)

 (图表2016-11-02更新)
{
配置域名解析器
#cat > /etc/resolv.conf
nameserver 10.10.10.10
DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
resolv.conf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
此处是2015/3/24完善的}
 
3、测试设置是否完成
设置完成后,可用cat命令查看是否设置完整,确认后
使用命令
 
# service named start
启动服务,提示成功启动即可使用下面的命令来查看是否能连接到本机设置的DNS
{
如果要开机启动就是用下面的命令
chkconfig named on
此处是2015/3/24完善的}
(1)测试vm1上能否查询到该域名
# nslookup -sil www.gr.org
如果出现
**  server can't find www.gr.org: SERVFAIL
可以查看/etc/named.conf和/var/named/下的相关文件,这里是gr.org.db是否设置出错,一个地方出错都不会执行
 
(2)测试vm2上能否查询到该域名
成功之后,可以在vm2上查看是否存在
[root@localhost root]#  nslookup -sil www.gr.org
;; connection timed out; no servers could be reached
出现这个问题,很大程度上是由于gate机器上已经关掉该端口了,所以就使用关掉防火墙的简单方法开启该端口(53)。
在gate虚拟机上
# service iptables stop
 
(3)测试Windows上能否查询到该域名
使用Windows系统测试是否存在
先试试ping www.gr.org
看可不可以ping的通,一般可以的(应为我们也有这个网址被用了),那么如何判断是否是连我们的vm1的?
那就要断掉本地网络再试试ping命令
发现ping www.gr.org是不通的,而ping 10.10.10.10是通的,原因是没有设置DNS,设置方法如下:
1.关闭本地网络(以太网)
2.把vm1的DNS改为vm1的ip
再试试
>ping www.gr.org
 
4、在上面的基础上进行添加反向域名解析
(1)下面就要我们加上反向域名解析域区
# vi /etc/named.conf 
添加以下的语句(内容)
zone "10.10.10.in-addr.arpa" IN{                    //定义一个ip是10.10.10.*的反向域区
        type master;
        file "10.10.10.db";
};
注:如果在file下面加上一句allow-transfer {192.168.6.4;};
就是说指定从服务器,从服务器上面就要加上主服务器的ip即加上
master {192.168.6.3;};
 
(2)添加反向域名解析文件和配置
再用命令# vi /var/named/10.10.10.db
添加如下的配置信息
$TTL 86400
@       IN      SOA     ns.gr.org       root.gr.org.(
                20150317  6H  30M  1W  15M)
          IN      NS      ns.gr.org.
10      IN      PTR     ns.gr.org.
10      IN      PTR     www.gr.org.
11      IN      PTR     mail.gr.org.
 
注:
PTR        指一条反向域名解析PTR记录,类似A记录(PTR指针记录由IP地址提供商提供)
 
注:这里刚好是对称的,不容易看出,其实就比如192.168.133.0/24(就是用133.168.192的特殊域),后面的10,11就类似于用192.168.133.0/24的来表示就是10.133.168.192.in-addr.arpa(也就是192.168.133.10),这里是10.10.10.10.in-addr.arpa和11.10.10.10.in-addr.arpa
 
(3)测试配置是否完成
使用命令# rndc reload重启域名服务
通过# nslookup -sil 10.10.10.10
(在vm2也可以看到一样的信息)
就可以看到了信息
Server:         10.10.10.10
Address:        10.10.10.10#53

10.10.10.10.in-addr.arpa        name = www.gr.org.
10.10.10.10.in-addr.arpa        name = ns.gr.org.

有两条,证明我们的反向域名解析也配置好了
 
注:有什么意见或建议可以在评论区回复

(一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.conf、/var/named)设置实现和解释的更多相关文章

  1. (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理

    继第三部分的DHCP服务器的设置成功,我们来做一个中继代理服务器的配置吧. 我们的虚拟机结构如图: 具体参考: (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.con ...

  2. 今晚,玩一玩linux上的DNS

    老哥遇到的问题, 我先按正规方式操作一波. 一,安装dns服务 yum install bind bind-utils -y 二,修改/etc/named.conf文件 options { liste ...

  3. (二)跟我一起玩Linux网络服务:BIND的自动部署(附上完整的代码)

    2015-03-24   如果看了我之前写的文章 DNS服务——BIND(/etc/named.conf./var/named)设置实现和解释,再来看这篇文章,你会发现部署BIND是件很简单的事情 如 ...

  4. LINUX中的DNS服务---DNS集群

    一.DNS集群的理解 在使用DNS的时候,为了缓解服务器的压力,会使用多个辅助DNS服务器来分担主DNS的工作.这些DNS就叫做DNS集群. 二.配置过程 1)在辅DNS中操作如下:(主机号为172. ...

  5. LINUX中的DNS服务---DNS正向、反向和双向解析

    一.DNS的正向解析 也就是域名解析为IP地址进行访问! 1)vim  /etc/named.conf   ---->  删除forwarders所在行 2)vim  /etc/named.rf ...

  6. LINUX中的DNS服务---高速缓存DNS

    一.什么是DNS     Domain Name System,域名系统.     万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网.他主要负责把域名和IP的相互转换 ...

  7. Postfix 邮件服务 - DNS服务

    DNS 服务 (系统需要配置静态 IP 地址) yum install bing* -y 一.配置 NDS 域名解析: 直接添加以下内容: [root@mail ~]# cat /etc/named. ...

  8. (三)跟我一起玩Linux网络服务:DHCP服务配置之主服务器配置

    我们今天来做DHCP服务器的配置,我们的前提示要实现用一台虚拟机做DHCP服务器 1.首先,我们要有DHCP软件,我们用到下面两个软件(可以使用其他方法从网上直接安装,具体方法网络搜索) dhcp-3 ...

  9. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

随机推荐

  1. MySQL数据库MyISAM和InnoDB存储引擎的比较(转)

    MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种.这里介绍关于这两种引擎的一些基本概念(非深入介绍). MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索 ...

  2. iOS全景

    一张鱼眼图或者6方图,展现出来的全景影像效果图 PanoramaGL PanoramaGL是世界上第一个开源的实现360度全景图像的iOS.Android类库.基于OpenGL 支持球,立方体,圆柱. ...

  3. Android——Cocosd2d-x手机游戏开发学习思路

    手机APP应用如雨后春笋般冒了出来,而在众多的APP应用中,游戏占据了半壁江山.它丰富着人们的业余生活,增进了人们之间的沟通交流.也有许多开发的朋友对游戏开发情有独钟,他们不止是享受着有很多的人们去下 ...

  4. SqlCommand对象

    SqlCommand对象以及如何使用它与数据库交互 1.什么是command对象2.如何使用ExecuteReader方法查询数据3.如何使用ExecuteNonQuery方法插入和删除对象4.如何使 ...

  5. 【python自动化第六篇:面向对象】

    知识点概览: 面向对象的介绍 面向对象的特性(class,object)实例变量,类变量 面型对象编程的介绍 其他概念 一.面向对象介绍 编程范式:面向对象,面向过程,函数式编程 面向过程:通过一组指 ...

  6. mysql2redis

    mysql2redis这个项目主要解决mysql数据跟redis数据同步的问题 目前在测试环境研究这方面的应用,以下是git上面的介绍 git入口    git安装入口 Dependencies pl ...

  7. C# winform如何在textbox中判断输入的是字母还是数字?

    1.用正规式using System.Text.RegularExpressions; string pattern = @"^\d+(\.\d)?$";if(Text1.Text ...

  8. SystemTimeToFileTime、FileTimeToLocalFileTime、LocalFileTimeToFileTime三函数的跨平台实现

    // test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdlib.h>   #include & ...

  9. ViewPager的用法实例

    前言:最近在做一个项目,文件管理器,能够在主界面通过滑动选择:手机,内存卡,云端的不同界面,因此就用到了ViewPager. 起步阶段,ViewPager写好了,对应的Adapter也写好了,测试通过 ...

  10. IOS8开发之实现App消息推送

    第一部分 Apple Push Notification Service 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. ...