一.BIND

现今使用最晚广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早由伯克利大学的一名学生编写,现在最新的版本是9,由ISC(Internet Systems Consortium)编写和维护。

  1.BIND支持现今绝大多数的操作系统(Linux、UNIX、Mac、Windows)

  2.BIND服务的名称称之为named

  3.我们可以通过以下命令安装BIND:

    yum install -y bind bind-chroot bind-utils

DNS默认使用UDP、TCP协议,使用端口号为53(domain),953(rndc)

二.BIND配置文件

BIND配置文件保存在两个主要位置:

  /etc/named.conf - BIND服务主配置文件

  /var/named/ - zone文件

如果安装了bind-chroot,BIND会被封装到一个伪根目录内,配置文件的位置变为:

  /var/named/chroot/etc/named.conf -BIND服务主配置文件

  /var/named/chroot/var/named/ -zone文件

chroot是通过将相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦该程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录

不同于其他服务,BIND在安装后不会有预置的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.8.2),BIND为我们提供了配置文件模板,我们可以直接拷贝过来:

  cp -rv /usr/share/doc/bind-9.8.2/sample/etc/* /var/named/chroot/etc

  cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var

示例中的主配置文件内容较多,实验环境哦我们可以删减掉不需要的内容,最小化配置如下:

  

 options{

       listion-on port {127.0.0.1; };

       directory "/var/named";

       };

三.域主服务器

一个域的主服务器(master)是这个域的信息的权威服务器,所以这个域的信息都是由域的主服务器控制,配置一个域的主服务器需要以下几个步骤:

  1.在bind的主配置文件中添加该域的定义

  3.在/var/named/chroot/var/named中创建该域的zone文件

  5.编辑zone文件,添加需要的信息

  7.启动bind服务或使bind刷新配置

  9.使用host或dig命令检测域信息是否正常

四.配置域主服务器

在bind的主配置文件中添加域linuxcast.net的定义:

  1.配置文件位置:

  /var/named/chroot/etc/named.conf

  2.在主配置文件中添加一行域的zone的定义:

 zone "linuxcast.net"{
type master;
file "linuxcast.net.zone";
};

为定义的域添加zone配置文件:

  1.zone文件的位置:

  /var/named/chroot/var/named/linuxcast.net.zone

  2.zone文件内容:

  zone文件内容比较复杂,手工输入极容易输错,所以一般使用默认的named.localhost配置文件作为模版:

    cp named.localhost  linuxcast.net.zone

    添加一个资源记录(RR):

    www IN A 192.1.1.1

    1.启动bind服务或刷新配置:

     service named start

     service named reload

    2.将本机的dns配置指向本机:

     /etc/resolv.conf:

     nameserver 127.0.0.1

    3.使用命令host或dig验证dns配置是否成功:

     host www.linuxcast.net

     dig www.linuxcast.net

五.错误排查

DNS配置因为语法规则较为晦涩,所以极为容易出现配置错误,bind为我们提供了两个语法检测工具:

  1.命令named-checkconf 可以查看bind主配置文件的错误:

    named-checkconf /var/named/chroot/etc/named.conf

  2.命令named-checkzone 可以用来查看zone配置文件的错误:

    named-checkzone linuxcast.net linuxcast.net.zone

2.BIND服务基础及域主服务器配置的更多相关文章

  1. centos BIND服务基础及域主服务器配置

    系统信息: Linux localhost.localdomain -.el6.i686 # SMP Tue Dec :: GMT i686 i686 i386 GNU/Linux 因为看的是linu ...

  2. Spring-cloud微服务 Eureka学习教程-单服务器配置之快速搭建EurekaServer、EurekaClient(基础)

    以下实例代码下载地址:https://github.com/wades2/EurekaDemo Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现, ...

  3. linux服务基础之DNS正反向解析、主从同步、子域授权及视图

    关键词: 正向解析 反向解析 主从复制 自域授权 视图 一.DNS基本原理 1.1 什么是DNS?BIND又是什么? DNS:Domain Name Service,它是一个基于应用层的协议,是C/S ...

  4. 邮件服务配置(虚拟域&虚拟用户)

    邮件服务配置(虚拟域&虚拟用户) 现在我做的是: Linux + httpd + php + mariadb + postfix + dovecot + phpMyAdmin + postfi ...

  5. 配置域主DNS服务器

    一.DNS服务器的类型 ①Primary DNS Server(Master) 一个域的主服务器保存着该域的zone配置文件,该域所有的配置.更改都是在该服务器上进行,本篇随笔要讲解的也是如何配置一个 ...

  6. 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)

    (借鉴请改动)  第十二章收尾  12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在  /etc/export  写入格式:共享目录    允许的客户端(参数)  ro        ...

  7. DNS服务基础原理介绍

    FQDN 全称域名 localhost(主机名或者是别名).localdomain(域名)    FQDN=主机名.域名 根域               . 顶级域名       .com   .n ...

  8. linux web服务基础知识,dns

    #web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx   >   web  server  服务端浏览器  >    web  client  客户端 #dns解析 ...

  9. Ajax请求WCF服务以及跨域的问题解决

    Ajax请求WCF服务以及跨域的问题解决 这两天准备重构一下项目,准备用纯html+js做前台,然后通过ajax+WCF的方式来传递数据,所以就先研究了一下ajax访问的wcf的问题,还想到还折腾了一 ...

随机推荐

  1. Python中什么是变量

    在Python中,变量的概念基本上和初中代数的方程变量是一致的. 例如,对于方程式 y=x*x ,x就是变量.当x=2时,计算结果是4,当x=5时,计算结果是25. 只是在计算机程序中,变量不仅可以是 ...

  2. nRF52832定时器

    1概述 定时器能够被配置为两种模式:定时模式和计数模式,nrf52832有五个定时器,timer0--timer4 . 2常用得函数 函数功能:初始化定时器 ret_code_t nrf_drv_ti ...

  3. winfrom 动态添加控件,以及删除

      private void btnadd_Click(object sender, EventArgs e)         {             int fileCount = 0;     ...

  4. 动态规划-子数组乘积小于k的总个数 Subarray Product Less Than K

    2018-09-01 23:02:46 问题求解: 问题求解: 最开始的时候,一眼看过去就是一条 dp 嘛,保存每个数字结尾的长度和,最后求和就好,至于长度如何求,本题中需要用滑动窗口来维护. 很好的 ...

  5. python中的异常处理tryexcept

    1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! 2.异常种类 names = ['张三','李四 ...

  6. Canvas画板

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA6QAAAGgCAIAAAAy0z21AAAgAElEQVR4nO3dfYwkZ30n8JqZfcNex8

  7. Confluence 6 创建你的个人空间

    作为一个项目中的新手,你可能希望将一些工作保存为你自己可见,直到你准备将你的工作分享出去.同时你可能会收到任务指挥中心发送的只针对你的任务,你也希望这些任务能存储在一个安全的地方. 针对类似这样任务需 ...

  8. Django的form组件

    forms组件 forms组件,是一个类.在视图函数中创建一个类,类需要继承forms.Form from django import  forms 1.校验数据 步骤和语法: 1. 创建一个form ...

  9. pytorch初步学习(一):数据读取

    最近从tensorflow转向pytorch,感受到了动态调试的方便,也感受到了一些地方的不同. 所有实验都是基于uint16类型的单通道灰度图片. 一开始尝试用opencv中的cv.imread读取 ...

  10. 安卓——Handler延迟跳转

    //声明控制对象 Handler handler =new Handler(){ @Override public void handleMessage(Message msg) { super.ha ...