DNS是Internet上使用最普遍,也是最重要的服务之一,通过DNS我们才可以访

问丰富多彩的网络,而DNS服务器就是为了实现域名解析功能而搭建的。

域名系统采用层次结构,按地理区域或机构区域进行分层。在书写时,采用圆点(.)

将各个层次域隔开。从右到左依次为顶级域名、第二层域名等,最左的一个字段为主机

名。

在Red Hat Linux 9下建立DNS服务器,使用了BIND(Berkeley Internet Name

Domain,伯克利因特网名字域系统)软件。BIND采用客户机/服务器架构,它的客户

机方面称为转换程序(resolver)负责产生域名查询的信息,并将这类信息发送给服务

器。它的服务器方面是一个称为named的守护进程,负责处理和回送查询

(1) 安装域名服务器

进入软件目录

[root@lab root]# cd /root/labsoft

安装bind软件

[root@lab labsoft]# rpm -ivh bind-utils-9.2.1-16.i386.rpm

[root@lab labsoft]#rpm -ivh bind-9.2.1-16.i386.rpm

[root@lab labsoft]# rpm -ivh caching-nameserver-7.2-7.noarch.rpm

(2) named.conf文件的配置

进入/etc目录

[root@lab labsoft]# cd /etc

编辑bind的配置文件named.conf

[root@lab etc]# vi named.conf

// generated by named-bootconf.pl

options {

directory "/var/named";  #指定解析文件的目录

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

};

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; };

};

zone "." IN {  #设置根域正向解析文件位置

type hint;

file "named.ca";

};

zone "localhost" IN {  #设置本地域正向解析文件位置

type master;

file "localhost.zone";

allow-update { none; };

};

zone "0.0.127.in-addr.arpa" IN {  #设置本地反向解析文件位置

file "named.ca";

};

zone "test.com" IN {  #设置正向解析文件位置

type master;

file " test.com.zone";

};

zone "100.168.192.in-addr.arpa" IN {  #设置反向解析文件位置

type master;

file "100.168.192.in-addr.arpa.zone";

};

include "/etc/rndc.key";

按照网络的具体情况修改以上配置文件。

(3) 正向解析文件的配置

创建test.com.zone,并进行编辑

[root@lab etc]# vi /var/named/test.com.zone

$TTL 86400

test.com.  IN SOA  dns.test.com.  root.test.com. (

2005081501 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ; TTL

)

test.com.    IN NS dns.test.com.

dns. test.com.    IN   A  192.168.100.253  #域名服务器的地址

www1. test.com.    IN   A 192.168.100.1  #域名解析

ftp. test.com.    IN   A 192.168.100.2

www. test.com.  CNAME www1  #别名

根据网络的实际情况配置此文件,不要忘记域名最后不能缺少“。” 。

(4) 反向解析文件的配置

建立反向解析文件100.168.192.in-addr.arpa.zone

[root@lab root]# vi /var/named/100.168.192.in-addr.arpa.zone

$TTL 86400

@ IN SOA @ root.test.com. (

2005081501 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ; Minimum

)

@ IN NS dns.test.com.

1IN PTR www1.test.com.

2 IN PTR ftp.test.com.

这个文件根据你的正向解析文件来配置。

(5) resolv.conf文件的配置

这个文件用来设定本机的nameserver

nameserver   IP地址

在相应位置填写你的本机dns服务地址(一般就是本机地址)

(6) 启动服务器

启动域名服务

[root@lab etc]# cd /etc/init.d/named start

启动DNS服务后,机器将监听53端口,等待解析请求,可以使用以下命令查询:

[root@lab root]# netstat -an | grep 53

(7) 服务器测试

<1>在本机上使用nslookup命令测试

[root@lab root]# nslookup

如能正常查询解析文件中的地址,则服务器正常工作

<2>选取一台客户机(windows),将其DNS服务器地址设置为你建立的DNS服务器

地址;在命令窗口(windows中使用运行-cmd)中使用nslookup命令进行域名解析,若可

以查询到解析文件中的地址,则服务器正常工作。

(8) 停止服务器:

停止域名服务

[root@lab root]# /etc/init.d/named stop

更改配置后,需要重新启动服务器,使用命令为:

[root@lab root]# /etc/init.d/named restart

(9) 实验结束

实验结束后,将实验过程保存下来,将软件卸载,清除,使用如下命令:

[root@lab root]# /etc/init.d/named stop

[root@lab root]# rpm -e caching-nameserver

[root@lab root]# rpm -e redhat-config-bind-1.9.0-13

[root@lab root]# rpm -e bind-9.2.1-16

[root@lab root]# rpm -e bind-utils-9.2.1-16

[root@lab root]# rm -f /var/named/test.com.zone

[root@lab root]# rm -f /var/named/100.168.192.in-addr.arpa.zone

Linux--DNS服务器的更多相关文章

  1. Ubuntu Linux DNS服务器 BIND9配置文件命令介绍

    BIND9配置方法 转载▼     配置语法 named.conf acl 定义访问控制列表 controls 定义rndc命令使用的控制通道,若省略,则只允许经过rndc.key认证的127.0.0 ...

  2. 11.linux dns服务器建立和安装apache

    dns服务器建立 1.安装bind建立dns服务器     yum install bind -y 2.安装好修改配置文件:vim /etc/named.conf 修改:      listen-on ...

  3. linux DNS 服务器 配置

    1:named.conf 2:正向区域配置文件 3:反向域名解析文件

  4. Linux DNS 服务器安装、配置和维护

    每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相对直观有意义的主机名就行了.这就是 DNS ...

  5. Linux下dns服务器搭建

    Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...

  6. Linux 学习之DNS服务器

    概念: DNS:Domain Name System 域名系统 FQDN:Fully Qualified Domain Name 完整主机名 正向解析:由主机名查IP地址 SOA:开始验证(Start ...

  7. Linux下搭建Oracle11g RAC(2)----配置DNS服务器,确认SCAN IP可以被解析

    从Oracle 11gR2开始,引入SCAN(Single Client Access Name) IP的概念,相当于在客户端和数据库之间增加一层虚拟的网络服务层,即是SCAN IP和SCAP IP  ...

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

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

  9. Kali Linux桥接模式配置DNS服务器

    操作环境: 虚拟机操作系统: Kali Linux 2017.2 虚拟化软件: VMWare Workstation 14 pro 操作前的准备: 在设置里将Kali的上网模式设置成"桥接模 ...

  10. Linux 自动化部署DNS服务器

    Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...

随机推荐

  1. [HNOI 2013]游走

    Description 题库链接 一个无向连通图,顶点从 \(1\) 编号到 \(N\) ,边从 \(1\) 编号到 \(M\) . 小Z在该图上进行随机游走,初始时小Z在 \(1\) 号顶点,每一步 ...

  2. [USACO17FEB]Why Did the Cow Cross the Road II S

    题目描述 The long road through Farmer John's farm has  crosswalks across it, conveniently numbered  (). ...

  3. 51nod 1486 大大走格子(容斥原理)

    1486 大大走格子 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题   有一个h行w列的棋盘,里面有一些格子是不能走的,现在要 ...

  4. Educational Codeforces Round 18

    A. New Bus Route 题目大意:给出n个不同的数,问差值最小的数有几对.(n<=200,000) 思路:排序一下,差值最小的一定是相邻的,直接统计即可. #include<cs ...

  5. 【NOIP 2017】逛公园

    Description 策策同学特别喜欢逛公园.公园可以看成一张N个点M条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口,N号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要 ...

  6. [BZOJ]2017省队十连测推广赛1 T2.七彩树

    题目大意:给你一棵n个点的树,每个点有颜色,m次询问,每次询问一个点x的子树内深度不超过depth[x]+d的节点的颜色数量,强制在线.(n,m<=100000,多组数据,保证n,m总和不超过5 ...

  7. Python Django缓存,信号,序列化,文件上传,Ajax登录和csrf_token验证

    本节内容 models操作 Django的缓存 请求方式 序列化 Form 配合Ajax实现登录认证 上传文件 Ajax  csrf_token验证方式 1 models操作 单表查询: curd(增 ...

  8. 如何导入python中的模块

    作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包.但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活.在本文中,我们将探讨以下 ...

  9. final、finally与finalize的区别

    1. final  在java中,final可以用来修饰类,方法和变量(成员变量或局部变量).下面将对其详细介绍. 1.1 修饰类 当用final修饰类的时,表明该类不能被其他类所继承.当我们需要让一 ...

  10. js去掉最后一个字符

    console.log(("0,1,2,3,4,5,".slice(0,-1)))