导读 Linux下架设DNS服务器通常是使用Bind程序来实现的。Bind是一款实现DNS服务器的开放源码的软件。DNS即域名系统,主要功能是将人们易于记忆的Domain Name(域名)与不易记忆的IP地址进行转换。下面由我给大家简单介绍一下Linux下架设DNS服务器。

Linux下DNS服务器常规操作
软件包安装

Red Hat Linux的各个版本已经包含DNS服务器的软件--Bind,一般不需要用户另行安装,如果用户需要安装最新版本,可以到Bind官网http://www.bind.com/浏览最新消息。也可以到其它网站下载。 源码软件包:https://www.isc.org/downloads/ 例如,在其它网站中下载源码包软件包bind-9.10.4-P1.tar.gz 以下是安装过程中的一些指令:

[root@localhost root]# tar xzvf bind-9.10.4-P1.tar.gz
[root@localhost root]# cd bind-9.10.4-P1
[root@localhost bind-9.10.4-P1]# ./configure
[root@localhost bind-9.10.4-P1]# make
[root@localhost bind-9.10.4-P1]# make install

其中各参数含义如下:

tar xzvf bind-9.10.4-P1.tar.gz

:解压缩软件包

./configure

:针对机器做安装的检查和设置,大部分工作由机器自动完成

make

:编译

make install

:安装

软件包的功能

Bind:提供了域名服务的主要程序以及相关文件。 Bind-utils:提供了对DNS服务器的测试工具程序(nslookupdup、dig等) Bind-chroot:为Bind提供了一个伪装的根目录以增强安全性 Caching-namserver:为配置Bind作为缓存域名服务器提供必要的默认配置文件,用于参考

DNS常规操作

1.启动DNS服务器:

/etc/init.d/named start

2.停止DNS服务器:

/etc/init.d/named stop

3.重新启动DNS服务器:

/etc/init.d/named restart
DNS配置文件
与DNS相关的两个特殊文件

1./etc/resolv.conf 该文件用来指定系统中DNS服务器的IP地址和一些相关信息,格式如下:

search abc.com.cn
nameserver 10.1.6.250
nameserver 192.168.1.254

2./etc/host.conf 该文件决定进行域名解析时查找host文件和DNS服务器的顺序,其格式如下:

order hosts,bind
Bind的配置文件

Bind的主配置文件是etc/name.conf,该文件是文本文件,一般需手动生成。除了主配置文件外,/var/named目录下的所有文件都是DNS服务器的相关配置文件,下面详细讲述这些文件的配置。 1.name.conf文件详解

options {
listen-on port 53 { 127.0.0.1; }; //设置named服务器监听端口及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; }; //允许DNS查询客户端
allow-query-cache { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients      { any; };
match-destinations { any; };
recursion yes; //设置允许递归查询
include "/etc/named.rfc1912.zones";
};

2.区域配置文件/etc/named.rfc1912.zones

zone "." IN {    //定义了根域
type hint; //定义服务器类型为hint
file "named.ca"; //定义根域的配置文件名
}; zone "localdomain" IN { //定义正向DNS区域
type master; //定义区域类型
file "localdomain.zone"; //设置对应的正向区域地址数据库文件
allow-update { none; }; //设置允许动态更新的客户端地址(none为禁止)
}; zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
}; zone "0.0.127.in-addr.arpa" IN { //设置反向DNS区域
type master;
file "named.local";
allow-update { none; };
};

3.根域配置文件named.ca 根域配置文件设定根域的域名数据库,包括根域中13台DNS服务器的信息。几乎所有系统的这个文件都是一样的,用户不需要进行修改。 4.正向域名解析数据库文件

$TTL 600
@ IN SOA dns.cwlinux.com dnsadmin.cwlinux.com. (//SOA字段
2015031288 //版本号 同步一次 +1
1H //更新时间
2M // 更新失败,重试更新时间
2D // 更新失败多长时间后此DNS失效时间
1D //解析不到请求不予回复时间
)
IN NS dns //有两域名服务器
IN NS ns2
IN MX 10 mial // 定义邮件服务器,10指优先级 0-99 数字越小优先级越高
ns2 IN A 192.168.1.113 //ns2域名服务器的ip地址
dns IN A 192.168.1.10 //dns域名服务器的ip地址
mail IN A 192.168.1.111 //邮件服务器的ip地址
www IN A 192.168.1.112 //www.cwlinux.com的ip地址
pop IN CNAME mail //pop的正式名字是mail
ftp IN CNAME www //ftp的正式名字是www

5.反向域名解析数据库文件

$TTL 600
@ IN SOA dns.cwlinux.com. dnsadmin.cwlinux.com. (
2014031224
1H
2M
2D
1D
)
IN NS dns.cwlinux.com.
10 IN PTR dns.cwlinux.com. //反向解析PTR格式
111 IN PTR mail.cwlinux.com.
112 IN PTR www.cwlinux.com.
// 声明域的时候已经有了,192.168.1 所以我们只需要输入10既代表192.168.1.10jc
DNS客户端的配置文件

Linux系统中,DNS客户端的配置文件是/etc/resolv.conf,该文件记录了DNS服务器的地址和域名。 一般格式如下:

#more /etc/resolv.conf
nameserver 10.1.6.250
domainname abc.com.cn

其中,关键字nameserver记录该域中DNS服务器的IP地址,domainname记录所在域的名称。

搭建DNS服务器的更多相关文章

  1. 第一次搭建dns服务器

    CentOS 7 搭建DNS服务器 主要参考的是小左先森的一篇博客:https://blog.51cto.com/13525470/2054121. 1.搭建过程中遇到的几个问题说一下: a.在重启服 ...

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

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

  3. [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器

    转自:http://blog.it985.com/8958.html DNS 数据库的记录:正解,反解, Zone 的意义 通过DNS解析过程详解这篇文章,我们知道了要想访问www.zmit.cn,最 ...

  4. Centos7 搭建DNS服务器与原理配置详解

    在搭建我们自己DNS服务器之前,先必须了解下DNS服务器的作用和原理. DNS是在互联网上进行域名解析到对应IP地址的服务器,保存互联网上所有的IP与域名的对应信息,然后将我们对网址的访问,解析成IP ...

  5. Windows Server 2008 R2 搭建DNS服务器(转)

    Windows Server 2008 R2 搭建DNS服务器将本机IP设为首选DNS服务器的地址在dos 下分别输入 nslookup www.mydns.com 和 nslookup 192.16 ...

  6. centos搭建dns服务器

    前言:搭建dns服务器,dns服务器我就不多说什么了,大家都懂,就是域名解析,就将ip装换为域名,域名就可以理解为类似这样的www.baidu.com网址,接下来我就直接上图了.这里面最重要的是修改u ...

  7. Linux系统下搭建DNS服务器——DNS原理总结

    2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...

  8. 快速搭建 DNS 服务器: skydns + etcd

    参考: [ skynetservice github ] [ skydns 测试记录 CSDN ] etcd 安装配置 安装 yum install etcd 配置 sed -i 's@ETCD_LI ...

  9. Centos7.3搭建DNS服务器--BIND

    1.系统环境说明 [root@dns-server etc]# cat /etc/redhat-release CentOS Linux release (Core) 防火墙和Selinux关闭 [r ...

  10. CentOS 7下简答搭建DNS服务器

    一.DNS相关介绍 DNS(Domain Name System)域名系统协议,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用挨个记住IP地址.通过主机名,最终得到 ...

随机推荐

  1. Bootstrap系列 -- 28. 下拉菜单状态

    下拉菜单项的默认的状态(不用设置)有悬浮状态(:hover)和焦点状态(:focus). 下拉菜单项除了上面两种状态,还有当前状态(.active)和禁用状态(.disabled).这两种状态使用方法 ...

  2. mongo里面根据对象字段的ID查询 db.Photo.find({'owner.$id':ObjectId('xxxx')}) , 并且使用forEach循环修改查询的数据

    var ones = db.Photo.find({'owner.$id':ObjectId("5344f0dab7c58e8e098b4567")}) db.Photo.find ...

  3. js中模仿接口继承

    一般情况下我们会这样写,但是这样写的话,不够美化或者直观. 如果我们可以这样写的话,感觉更好: 但是样子的话,我们没有考虑原型覆盖之类的,因为我们通常的情况,我们继承只有一层,在通常情况下,我们原型覆 ...

  4. Javascript基础系列之(三)数据类型 (数值 Number)

    javascript中想限定一个数的数值,无需限定它是整数还是浮点数型 var num1 = 80 ; var num2 = 55.51; var num3 = -34; var num4 = 9e5 ...

  5. “耐撕”团队 2016.04.08 站立会议

    1. 时间 : 15:20--15:40 2. 人员 : Z 郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客:http://ww ...

  6. new-nav-js

    'use strict';define([ 'jquery'], function($) { var nav = { init : function() { $("#burger-menu& ...

  7. Java 工程师的学习线路图。

    今天了一个超级好用的工具,思维导图 FreeMind,于是顺道试用了一下,照着画了一张 Java 工程师的学习线路图.

  8. Android Studio能干什么

    建立系统工具包可以用来生成,测试,运行您的应用程序和软件包.构建系统是独立于Android的工作室,所以你可以调用它的Android的工作室或从命令行.在你写你的应用程序,你可以使用编译系统的特点: ...

  9. 【poj2226】 Muddy Fields

    http://poj.org/problem?id=2226 (题目链接) 题意 给出一个只包含‘.’和‘*’的矩阵,用任意长度的宽为1的木板覆盖所有的‘*’而不覆盖‘.’,木板必须跟矩形的长或宽平行 ...

  10. vim下使用ctags+taglist

    好几年前用过,但是后来就生疏了,好其次都没法鼓起勇气再捡起来...今天不得不用,那既然捡起来了,就好好的记录一下. 简介及安装 ctags是一个应用程序,可以用它来生产当前目录下所有c文件中变量和函数 ...