如何搭建DNS服务(转)
继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述。
试验环境:
1. Red Hat 6.3
2. IP 192.168.1.128
3. 欲搭建的域名 being.com
一、安装DNS软件
[root@hello ~]# yum install bind* -y
查询相关软件包:
[root@localhost ~]# yum search bind
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
====================================================================================== N/S Matched: bind ======================================================================================
PackageKit-device-rebind.i686 : Device rebind functionality for PackageKit
bind.i686 : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
bind-chroot.i686 : A chroot runtime environment for the ISC BIND DNS server, named(8)
bind-utils.i686 : Utilities for querying DNS name servers
其中各软件包的作用如下:
bind: 提供域名服务的主要程序及相关文件。
bind-chroot:为bind提供一个伪装的根目录以增强安全性。
bind-utils:提供对DNS服务器测试的工具程序(如nslookup、dig等)。
安装BIND软件包#yum install *bind*
http://zhidao.baidu.com/link?url=GKW3_J4Dnygm2WMk71aftHPkiy9_7Av-DjvblzKVvm-vKmdwMOnWrv6QQryT5OFs0xPjDFq1FyGhLOpv8hc22jaTcysNcMNamp3npw7X0LS
二、修改配置文件
[root@hello ~]# vim /etc/named.conf

options {
listen-on port 53 { 127.0.0.1; }; -->>将127.0.0.1改为any,代表所有主机可以对本机的DNS服务进行查询
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; }; -->>将localhost改为any,指定谁可以对我的DNS服务进行查询
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";
};
include "/etc/named.rfc1912.zones"; -->>include代表该文件是子配置文件
include "/etc/named.root.key";

三、将需要添加的域的信息写在子配置文件里 -->>记录域和域相对应的数据文件在哪里
[root@hello ~]# vim /etc/named.rfc1912.zones -->>添加到最后
zone "being.com" IN {
type master;
file "data/master.being.com.zone";
};
四、建立数据文件 -->>记录域名与IP的对应
[root@hello ~]# vim /var/named/data/master.being.com.zone -->>注意,这个文件名必须和上面子配置文件中的信息相同

$TTL 3600
@ IN SOA dns1 victor.mail (
20140324
30
60
90
3600 )
@ IN NS 192.168.1.128. -->>注意这里有个点
node1 IN A 1.1.1.1
node2 IN A 2.2.2.2

在这里,因为不是做主从DNS,SOA后面的七个参数可以随便写,具体解释见下文。
其中:NS代表Name Server,A(即Address)代表后面的IP是IPv4
node1指的是主机名,倘若后面加上域名,则后面必须加个点,即node1.being.com. IN A 1.1.1.1
五、重启服务,进行测试
[root@hello ~]# /etc/init.d/named restart
[root@hello ~]# nslookup node1.being.com
Server: 192.168.1.128
Address: 192.168.1.128#53
Name: node1.being.com
Address: 2.2.2.2
正向DNS解析OK!
现在开始搭建反向DNS解析
一、在子配置文件中添加反向解析数据文件的信息
[root@hello ~]# vim /etc/named.rfc1912.zones
zone "1.168.192.in-addr.arpa" IN {
type master;
file "data/master.1.168.192.in-addr.arpa.zone";
};
二、 建立数据文件
[root@hello ~]# vim /var/named/data/master.1.168.192.in-addr.arpa.zone

$TTL 86400
@ IN SOA hello world (
20140312
30
40
50
86400 )
IN NS 192.168.1.128.
11 IN PTR hello.world.com.

三、重启服务,进行测试
[root@hello ~]# /etc/init.d/named restart
[root@hello ~]# nslookup 192.168.1.11
Server: 192.168.1.128
Address: 192.168.1.128#53
11.1.168.192.in-addr.arpa name = hello.world.com.
至此,反向解析OK!
正向解析和反向解析基本OK,后面的主要是DNS其它应用的补充及相关参数的说明。

$TTL 3600
@ IN SOA dns1 victor.mail (
20140324
30
60
90
3600 )
@ IN NS 192.168.1.128.
node1 IN A 1.1.1.1
node2 IN A 2.2.2.2
hello.being.com. IN CNAME node3.being.com.
node3.being.com. IN A 3.3.3.3

1. 所有设定数据一定要从行首开始,前面不可有空格符。若有空格符,代表延续前一个domain的意思
2. @代表zone的意思,在本例中,即代表being.com
3. "hello.being.com."后面的点代表一个完整主机名,即hostname.domain。如果没有这个点,则仅代表hostname
4. CNAME代表别名
5. TTL是time to live的缩写,即当这笔记录被其它DNS服务器查询到后,保存在这些服务器中的时间,单位秒
6. SOA是Start Of Authority(开始验证)的意思,与域有关,后面共会接7个参数,这7个参数的意义依次是:
1> Master DNS 服务器主机名,即在这个域中哪个DNS作为主服务器,在本例中,即dns1.being.com
2> 管理员的Email。即出现问题可给管理员发邮件。在本例中,是victor@mail.being.com
3> 序号。这个序号代表这个数据库档案的陈旧,序号越大,代表越新。当slave要判断是否主动下载新的数据库时,就以序号是否比slave上的还有新来判断
4> 更新频率(Refresh)。即slave向master要求数据更新的频率
5> 失败重新尝试时间(Retry)。如果因为某些因素,导致slave无法对master达成联机,那么在多久的时间内,slave会尝试重新联机到master
6> 失效时间(Expire)。如果一直失败尝试时间,持续联机到达这个设定值时限,那么slave将不再继续尝试联机
7> 快取时间(Minimum TTL)。如果在这个数据库zone file中,每笔记录都没有显性设定TTL快取时间的话,那么就以这个值为主
http://www.cnblogs.com/ivictor/p/3623096.html
如何搭建DNS服务(转)的更多相关文章
- 如何搭建DNS服务
继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述. 试验 ...
- centos搭建dns服务
原文:(https://www.myjinji.top/articles/2020/04/02/1585800289945.html)[https://www.myjinji.top/articles ...
- 一文详解CentOS6.5搭建DNS服务
本文详细介绍DNS服务在Linux Operation System 中的搭建过程 一.DNS服务器的工作原理 客户机提出域名解析请求,并将该请求发送给本地的域名服务器.当本地的域名服务器收到请求后, ...
- 搭建DNS服务
author:JevonWei 版权声明:原创作品 修改/var/named/下的数据库文件的数据时,需手动修改serial序列号 UDP协议53端口用于用户DNS查询,TCP协议53端口用于主从DN ...
- 使用unbound在RHEL7上搭建DNS服务
1.概念:DNS (Domain Name Server)域名解析服务,使用TCP&UDP的53号端口(主从DNS之间用TCP,客户端查询使用UDP).它可以完成域名与IP地址的互换,可以通过 ...
- Windows server 2008 搭建DNS服务
现在用Windows搭建DNS的已经很少了,感觉也只有一些公司的某块部分能用上,最近在捣鼓这个,索性直接写下来,以后可以看了直接用. 开始: ★★★配置静态IP地址 老样子,有关服务器功能的建立,都是 ...
- 使用Bind搭建DNS服务
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...
- Bind搭建DNS服务
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...
- DNSMAQ 搭建 DNS 服务
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能.自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度. 相比较 ...
随机推荐
- Mac下显示隐藏文件 以及修改 hosts文件内容
修改hosts 文件内容: 进入etc 文件夹,找到hosts 文件,把该文件复制出来,修改完里面的内容后,先把etc中的hosts 文件删除,然后在把修改后的文件脱机去 可能需要管理员的密码,你输入 ...
- 类作为返回类型 ,具有java特点-封装等 而且应用起来很方便。
public class StudentDao { public Student getStudent(){ Student stu = new Student(); stu.setName(&quo ...
- MPMoviePlayerController导致statusBar消失,导致内存泄露leak
1.MPMoviePlayerController使statusBar消失 同事写项目时,运行程序总导致statusBar状态条消失,然后就是界面会上移20个像素,导致最下面空白界面,找原因一直不知道 ...
- 日积月累:ScrollView嵌套ListView只显示一行
在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: & ...
- Android应用开发学习笔记之BroadcastReceiver
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 一.BroadcastReceiver机制概述 Broadcast Receiver是Android的一种“广播发布 ...
- 组件接口(API)设计指南[4]-通知(Notifications)
*返回文件夹阅读其它章节: http://blog.csdn.net/cuibo1123/article/details/39894477 通知(Notifications) 通知是托付协议的还有一半 ...
- Qt布局管理
原地址:http://blog.csdn.net/lastsoup/article/details/7028243 设计软件中各个部件的位置排列,有两种方法: 1.设置widget的在父窗体中的坐标和 ...
- 《UNIX环境高级编程》笔记--read函数,write函数,lseek函数
1.read函数 调用read函数从文件去读数据,函数定义如下: #include <unistd.h> ssize_t read(int filedes, void* buff, siz ...
- Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录
基于Claim的身份标识是处理网站与 Web 服务的身份认证和访问一种简单而强大的方式,无论您是在本地工作还是面向云工作.您可以通过减少自定义实施和使用基于Claim的单一简化标识模型,创建更安全的应 ...
- Ubuntu 14.04LTS Gnome GUI初体验及163更新源配制
Ubuntu 14.04 LTS于前天(2014.4.17)公布, 我今天将我的系统升级到最新, 体验了下最新的UI系统. 我选择了Ubuntu Gnome 的GUI界面.我曾经的系统是12.04lt ...