BIND简介

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

  BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows)

  BIND服务的名称称之为named

  DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控制使用)

BIND安装

  本例使用的环境是CentOS 7.0的Linux操作系统(非CentOS 7.0系统,安装会有所区别),所以直接采用命令:yum install -y bind bind-chroot bind-utils
  其中bind-chroot和bind-utils是bind的相关包。
  
  

BIND配置

  1、BIND配置文件保存在两个位置:
    /etc/named.conf  - BIND服务主配置文件
    /var/named/    - zone文件(域的dns信息)

  如果安装了bind-chroot(其中chroot是 change root 的缩写),BIND会被封装到一个伪根目录内,配置文件的位置变为:
    /var/named/chroot/etc/named.conf   - BIND服务主配置文件
    /var/named/chroot/var/named/    - zone文件
  chroot是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录

  2、BIND安装好之后不会有预制的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.9.4),BIND为我们提供了配置文件模板,我们可以直接拷贝过来:
    cp -r /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/
    cp -r /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/

  3、配置BIND服务的主配置文件(/var/named/chroot/etc/named.conf),命令:vim /var/named/chroot/etc/named.conf;
    内容很多使用简单配置,删除文件中logging以下的全部内容,以及option中的部分内容,得到如下配置

 /*
Sample named.conf BIND DNS server 'named' configuration file
for the Red Hat BIND distribution. See the BIND Administrator's Reference Manual (ARM) for details about the
configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
*/ options
{
// Put files that named is allowed to write in the data/ directory:
directory "/var/named"; // "Working" directory //listen-on port 53 { any; };
listen-on port 53 { 127.0.0.1; }; //listen-on-v6 port 53 { any; };
listen-on-v6 port 53 { ::1; }; };

  4、在主配置文件(/var/named/chroot/etc/named.conf )中加入,zone参数
    

  5、新建example.net.zone文件,example.net的域名解析文件,zone文件放在/var/named/chroot/var/named/下,zone文件可以已/var/named/chroot/var/named/named.localhost为模板。
    命令:cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/example.net.zone
    

    文件example.net.zone的内容如下:
    

  6、禁用bind默认方式启动,改用bind-chroot方式启动。命令如下:
    [root@iZ2806l73p6Z named]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
    [root@iZ2806l73p6Z named]# systemctl stop named
    [root@iZ2806l73p6Z named]# systemctl disable named
    [root@iZ2806l73p6Z named]# systemctl start named-chroot
    [root@iZ2806l73p6Z named]# systemctl enable named-chroot
    [root@iZ2806l73p6Z named]#

    图:
    

    注意:如果是CentOS 6.5的系统,这个步骤回有所区别,直接使用默认的service named start 启动服务,bind就直接运行在chroot包中,如下图:
    

  7、查看是否启动,命令:ps -ef|grep named
    

  8、测试DNS服务,本例在本机上测试,也可在其他电脑上测试,修改DNS服务的ip地址即可(命令:vim /etc/resolv.conf ),然后使用命令dig(命令:dig www.example.net)测试

    
    
内容如下:
    
    
测试结果:
    
    

    注:非本机测试需要修改主配置文件named.conf,允许任何ip访问,然后重启服务器
    
    

    

    

    
    

【Linux】DNS服务-BIND基础配置(二)的更多相关文章

  1. 【Linux】DNS服务-BIND基础配置

    1.BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Intern ...

  2. CentOS7.x的DNS服务的基础配置

    一.bind服务器安装 bind:开源.稳定.应用广泛的DNS服务.bind的软件包名bind,服务名称named. 查看是否安装bind, 安装bind包: rpm -qa bind yum -y ...

  3. 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)

    环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...

  4. Linux_配置主DNS服务(基础)

    [RHEL8]-DNSserver:[Centos7.4]-DNSclient !!!测试环境我们首关闭防火墙和selinux(DNSserver和DNSclient都需要) [root@localh ...

  5. 移植DNS服务bind

    移植DNS服务bind 标签: makefile工作linuxbuildgcc工具 先写用于DNS的bind. 一. 移植环境 1 .硬件环境: Host : X86 PC Target : MPC8 ...

  6. Linux DNS原理简介及配置

    Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...

  7. Linux_配置辅助DNS服务(基础)

    [RHEL8]-DNSserver1:[RHEL7]-DNSserver2:[Centos7]-DNSclient !!!测试环境我们首关闭防火墙和selinux(DNSserver1.DNSserv ...

  8. 【Linux】【Services】【DNS】bind基础

    1. 概念 1.1. DNS: Domain Name Service, 应用层协议,占用53/udp, 53/tcp 1.2. tld(顶级域):Top Level Domain 组织域:.com, ...

  9. dns服务的基本配置

    本文环境:CentOS 7 简介 DNS(Domain Name System)即域名服务系统,是Internet上用的最频繁的服务之一,它的本质是一个范围很广的分布式数据库,组织成域层次结构的计算机 ...

随机推荐

  1. java面试题:数据库mysql

    Web后端数据库一般用mysql. 数据库基础 Q:数据库三范式是什么? 第一范式:列不可再分 第二范式:行可以唯一区分,主键约束 第三范式:表的非主属性不能依赖与其他表的非主属性 外键约束 且三大范 ...

  2. codeblocks17.12 不能启动调试器

    调试器需要手动指定. settings->debugger->default->executable path.这里默认空的,需要指定.路径在安装目录下的CodeBlocks\Min ...

  3. opencv: Rotate image by 90, 180 or 270 degrees

    opencv2: void rotate_cw(const cv::Mat& image, cv::Mat& dest, int degrees) { ) { : dest = ima ...

  4. unity美少女动作RPG游戏源码Action-RPG Starter Kit v5.0a

    功能完整的ARPG游戏模板 Core Features!! - Combat System - Skill Tree - Enemy AI - Save-Load Game - Shop System ...

  5. CodeForces - 55D(数位dp,离散化)

    题目来源:http://codeforces.com/problemset/problem/55/D Volodya is an odd boy and his taste is strange as ...

  6. Day 04 列表,元祖,range

    列表: why: 1.字符串取值费劲 2.对字符串做任何操作,取出来的都是字符串 3.字符串有长度限制 基于以上原因,python提供了另一个数据类型,list 容器类数据类型. 列表页脚数组,可以存 ...

  7. check-versions.js和dev-client.js

    // 用于在控制台输出带颜色字体的插件var chalk = require('chalk') // 语义化版本检查插件(The semantic version parser used by npm ...

  8. 在微信小程序中调用本地接口

    1.点击详情,并勾选项目设置中最后一行. 2.用小程序请求本地的后台服务接口 wx.request({ url: 'http://localhost:8090/DemoProject/myTest.d ...

  9. windows7 Cygwin 下安装 YouCompleteMe 插件

    原创文章,欢迎指正!转载请注明~ 从上周就开始想在cygwin上安装YouCompleteMe插件,按照GITHUB上的官方教程安装,由于自己的理解失误,一直搞不清是按照在windows上安装还是按照 ...

  10. JFinal Model判断数据库某条记录的属性字段是否包含空值

    如果做报表,一条记录中有空值,使用FreeMarker渲染word会报错,并把错误日志输出到Word中.所以需要之前判断下当前记录中属性值是否有空值. package com.huijiasoft.u ...