您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

Centos 6.3 搭建DNS服务器

时间:2020-02-24 17:04:25  来源:  作者:

1.安装bind服务# yum install -y bind bind-chroot bind-utils

2.chroot 环境为了系统的安全性?虑,一般来说目前各主要 distributions 都已经自动的将你的 bind 相关程序给他 chroot 了

# cat /etc/sysconfig/namedROOTDIR=/var/named/chroot这一行将named根目录 变更为 /var/named/chroot

新版本的 centos 6.x 已经将 chroot 所需要使用到的目录,透过 mount --bind 的功能进行目录链接了 ,所以在 CentOS 6.x 当中,你根本无须切换至 /var/named/chroot/ 了!使用正规的目录操作

3.DNS服务器主要配置文件: /etc/named.conf

isten-on port 53 { any; };监听在这部主机系统上面的哪个网络接口。 所以这里要将大括号内的数据改写成 any。记得,因为可以监听多个接口,因此 any 后面得要加上分号才算结束喔! 另外,这个项目如果忘记写也没有关系,因为默认是对整个主机系统的所有接口进行监听的。

directory "/var/named";意思是说,如果此档案底下有规范到正、反解的 zone file 档名时,该档名预设应该放置在哪个目录底下的意思。预设放置到 /var/named/ 底下。由于 chroot 的关系,最终这些数据库档案会被主动链接到 /var/named/chroot/var/named/ 这个目录。

dump-file, statistics-file, memstatistics-file与 named 这个服务有关的许多统计信息,如果想要输出成为档案的话,预设的档名就如上所述。

allow-query { any; };这个是针对客户端的设定,到底谁可以对我的 DNS 服务提出查询请求的意思。原本的档案内容预设是针对 localhost 开放而已, 我们这里改成对所有的用户开放 (当然啦,防火墙也得放行才行)。不过,预设 DNS 就是对所有用户放行,所以这个设定值也可以不用写。

forward only ;这个设定可以让你的 DNS 服务器仅进行 forward,即使有 . 这个 zone file 的设定,也不会使用 . 的资料, 只会将查询权交给上层 DNS 服务器而已,是 cache only DNS 最常见的设定了!

forwarders { 8.8.8.8; } ;既然有 forward only,那么到底要对哪部上层 DNS 服务器进行转递呢?那就是 forwarders (不要忘记那个 s) 设定值的重要性了!由于担心上层 DNS 服务器也可能会挂点,因此可以设定多部上层 DNS 服务器喔!每一个 forwarder 服务器的 IP 都需要有『 ; 』来做为结尾!

IN 是internet记录 type 是类型 根的类型是hint file 区域文件

TTL是生存期,单位是秒 $TTL是全局定义的

SOA记录,@取代在/etc/named.conf中指定的域名。SOA段中的数字,分别为:序列号、刷新、重试、过期、生存期序列号:

序列号用于DNS数据库文件的版本控制。每当数据被改变,这个序列号就应该被增加。

刷新:从服务器向主服务器查询最新数据的间隔周期。每一次检查时从服务器的数据是否需要更改,则根据序列号来判别。

重试:一旦从服务器尝试连接主服务器失败,下一次查询主服务器的延迟时间。

过期:如果从服务器无法连通主服务器,则在经过此时间后,宣告其数据过期。

生存期:服务器回答 ‘无此域名’ 的间隔时间。

数字的默认单位为秒。否则:W= 周、D= 日、H= 小时、M= 分钟。

区域配置(zone )zone 语句作用是定义DNS 区域,在此语句中可定义DNS 区域选项zone区域设置,第一步,设置根区域当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询,所以在主配置文件named.conf文件中还要定义根区域。

# 常见的正解文件 RR 相关信息

[domain] IN [[RR type] [RR data]]

主机名. IN A IPv4 的 IP 地址

主机名. IN AAAA IPv6 的 IP 地址

领域名. IN NS 管理这个领域名的服务器主机名字.

领域名. IN SOA 管理这个领域名的七个重要参数(如上说明)

领域名. IN MX 顺序数字 接收邮件的服务器主机名字

主机别名. IN CNAME 实际代表这个主机别名的主机名字.

4.启动 关闭命令 /etc/init.d/named start #启动DNS服务器/etc/init.d/named restart #重启DNS服务器/etc/init.d/named stop #关闭DNS服务器 chkconfig named on #设为开机启动

5.配置实例 假设我们要添加域 test.web,当然这个现实中是没有的,所以我可以用来虽意测试

# vim /etc/named.conf

//

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

options {

listen-on port 53 { any; };//改为any

// 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 { any; }; //改为 any

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;

/﹡ Path to ISC DLV key */

bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

zone "." IN {

type hint;

file "named.ca";

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

创建zone文件

# vim /etc/named.rfc1912.zones //添加正反向区域

// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

// and http://www.ietf.org/internet-dra ... -local-zones-02.txt

// (c)2007 R W Franks

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

zone "localhost.localdomain" IN {

type master;

file "named.localhost";

allow-update { none; };

};

zone "localhost" IN {

type master;

file "named.localhost";

allow-update { none; };

};

注释以下几行

//zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

// type master;

// file "named.loopback";

// allow-update { none; };

//};

//zone "1.0.0.127.in-addr.arpa" IN {

// type master;

// file "named.loopback";

// allow-update { none; };

//};

zone "0.in-addr.arpa" IN {

type master;

file "named.empty";

allow-update { none; };

}

//添加正反向

zone "test.web" IN { // 这个 zone 的名称

type master; // 是什么类型

file "test.web.zone"; // zone文件名

};

zone "1.168.192.in-addr.arpa" IN {

type master;

file "1.168.192.zone";

};

#vim /var/named/test.web.zone

$TTL 86400

@ IN SOA ns.test.web. root.test.web. ( # ns.test.web. 是DNS服务器的名称 root 是管理员的邮箱地址, root.test.web.等价于 root@test.web

42 ; serial (d. adams) 仅作为序列号而已

3H ; refresh 服务器的更新时间

15M ; retry 重新更新时间间隔

1W ; expiry 多久之后宣布失败

1D ) ; minimum 相当于缓存记忆时间

@ IN NS ns.test.web.

@ IN MX 10 mail.test.web.

ns IN A 192.168.1.8

www IN A 192.168.1.8

mail IN A 192.168.1.8

#vim /var/named/1.168.192.zone

$TTL 86400

@ IN SOA ns.test.web. root.test.web. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

@ IN NS ns.test.web.

8 IN PTR ns.test.web.

8 IN PTR www.test.web.

8 IN PTR mail.test.web.

启动一下 DNS

# /etc/init.d/named start

测试

[root@localhost ~]# dig www.test.web @127.0.0.1

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> www.test.web @127.0.0.1

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29660

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;www.test.web. IN A

;; ANSWER SECTION:

www.test.web. 86400 IN A 192.168.1.8

;; AUTHORITY SECTION:

test.web. 86400 IN NS ns.test.web.

;; ADDITIONAL SECTION:

ns.test.web. 86400 IN A 192.168.1.8

;; Query time: 1 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sun Mar 31 20:19:25 2013

;; MSG SIZE rcvd: 79

[root@localhost ~]# dig -x 192.168.1.8 @127.0.0.1

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> -x 192.168.1.8 @127.0.0.1

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30336

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;8.1.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:

8.1.168.192.in-addr.arpa. 86400 IN PTR ns.test.web.

8.1.168.192.in-addr.arpa. 86400 IN PTR www.test.web.

;; AUTHORITY SECTION:

1.168.192.in-addr.arpa. 86400 IN NS ns.test.web.

;; ADDITIONAL SECTION:

ns.test.web. 86400 IN A 192.168.1.8

;; Query time: 2 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sun Mar 31 20:19:33 2013

;; MSG SIZE rcvd: 115

[root@localhost ~]# dig -t mx test.web @127.0.0.1

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> -t mx test.web @127.0.0.1

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10324

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; QUESTION SECTION:

;test.web. IN MX

;; ANSWER SECTION:

test.web. 86400 IN MX 10 mail.test.web.

;; AUTHORITY SECTION:

test.web. 86400 IN NS ns.test.web.

;; ADDITIONAL SECTION:

mail.test.web. 86400 IN A 192.168.1.8

ns.test.web. 86400 IN A 192.168.1.8

;; Query time: 1 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sun Mar 31 20:19:39 2013

;; MSG SIZE rcvd: 96

[root@localhost ~]# dig -t soa www.test.web @127.0.0.1

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> -t soa www.test.web @127.0.0.1

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40157

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:

;www.test.web. IN SOA

;; AUTHORITY SECTION:

test.web. 86400 IN SOA ns.test.web. root.test.web. 42 10800 900 604800 86400

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sun Mar 31 21:14:54 2013

;; MSG SIZE rcvd: 74

从服务器设置

[root@localhost ~]# dig www.test.web @127.0.0.1

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> www.test.web @127.0.0.1

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40694

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;www.test.web. IN A

;; ANSWER SECTION:

www.test.web. 86400 IN A 192.168.1.8

;; AUTHORITY SECTION:

test.web. 86400 IN NS ns.test.web.

;; ADDITIONAL SECTION:

ns.test.web. 86400 IN A 192.168.1.8

;; Query time: 2 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sat May 11 21:34:14 2013

;; MSG SIZE rcvd: 79

[root@localhost ~]# dig -t mx test.web @127.0.0.1

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> -t mx test.web @127.0.0.1

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51522

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; QUESTION SECTION:

;test.web. IN MX

;; ANSWER SECTION:

test.web. 86400 IN MX 10 mail.test.web.

;; AUTHORITY SECTION:

test.web. 86400 IN NS ns.test.web.

;; ADDITIONAL SECTION:

mail.test.web. 86400 IN A 192.168.1.8

ns.test.web. 86400 IN A 192.168.1.8

;; Query time: 2 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sat May 11 21:34:34 2013

;; MSG SIZE rcvd: 96

[root@localhost ~]# dig -x 192.168.1.8 @127.0.0.1

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> -x 192.168.1.8 @127.0.0.1

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60651

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;8.1.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:

8.1.168.192.in-addr.arpa. 86400 IN PTR ns.test.web.

8.1.168.192.in-addr.arpa. 86400 IN PTR www.test.web.

;; AUTHORITY SECTION:

1.168.192.in-addr.arpa. 86400 IN NS ns.test.web.

;; ADDITIONAL SECTION:

ns.test.web. 86400 IN A 192.168.1.8

;; Query time: 1 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sat May 11 21:35:00 2013

;; MSG SIZE rcvd: 115

6.防火樯相关

使用bind服务器需要防火墙开放以下端口

UDP 53

TCP 53

TCP 953

vi /etc/sysconfig/iptables #配置防火墙端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT

service iptables restart #重启防火墙,使规则生效

7.查看日志

tail -n 40 /var/log/messages |grep named



Tags:Centos 服务器   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(40)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条