RHCE培训笔记——DNS基础

DNS(Donmain Name Service)域名系统是一个分布式数据系统,其作用是将域名解析成IP地址。Linux DNS一般使用bind来完成,其中主要是对named服务的配置。

本文实验平台为CentOS 6.2。

DNS服务器

主机名:itpro        IP地址:192.168.1.53

辅助DNS服务器

主机名:itsec        IP地址:192.168.1.54

客户端测试机

主机名:itclient    IP地址:192.168.1.100

一、DNS服务器端配置

1.安装相关软件

bind是linux的DNS服务器程序,bind-chroot是bind的一个功能,使bind可以在一个chroot的模式下运行,也就是说bind运行时的/(根)目录并不是系统真正的/(根)目录,而是系统中的一个子目录,这样做的目的是为了提高安全性,因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升、进入到系统的其他目录中。

[root@itpro ~]# yum install bind bind-chroot

[root@itpro ~]# service named start

Stopping named:                                            [  OK  ]

Generating /etc/rndc.key:^C

[root@itpro ~]# rndc-confgen -r /dev/urandom -a

wrote key file "/etc/rndc.key"

[root@itpro ~]# service named start

Stopping named:                                            [  OK  ]

Starting named:                                            [  OK  ]

[root@ itpro ~]# chkconfig named on

(注:实验之初,安装完成bind及bind-chroot后,重启named服务时,rndc找不到key,等半天没反应,主要原因在于RHEL6上没有caching-named这个包。在网上查到,使用rndc-confgen -r /dev/urandom –a这条命令可以解决问题。另,记得将named设为开机启动。)

进入到伪目录/var/named/chroot,

[root@itpro ~]# cd /var/named/chroot/

[root@itpro chroot]# ls

dev  etc  usr  var

[root@itpro chroot]# ls etc/

localtime  named.conf        named.rfc1912.zones  pki

named      named.iscdlv.key  named.root.key      rndc.key

[root@itpro chroot]# ls var/named/

chroot  dynamic  named.empty      named.loopback

data    named.ca  named.localhost  slaves

注:在伪目录里,也有etc和var目录,从这里读到的配置及软件相关文件,其实是根目录下/etc和/var里面文件的一部分,但其他与named服务不相关的文件就看不到了,提高了操作的安全性。

实际操作建议在伪目录中进行,也可以root目录下进行。

为避免路径过长或因切换路径等而作多余的啰嗦,本文是在root目录下进行的,请注意。

2.修改主配文件/etc/named.conf

在RHEL 6中,安装完bind后,将会自动生成主配文件named.conf,现要对其进行修改。

修改后的内容如下

[root@itpro ~]# cat /etc/named.conf

1.options {

2.listen-on port 53 { any; }; //any表示监听所有客户端发来的信息

3.listen-on-v6 port 53 { any; }; //这个是针对IPv6的,当前环境下可以不改

4.directory "/var/named";

5.dump-file "/var/named/data/cache_dump.db";

6.statistics-file "/var/named/data/named_stats.txt";

7.memstatistics-file "/var/named/data/named_mem_stats.txt";

8.allow-query { any; }; //any表示允许所有客户端进行dns查询

9.recursion yes; //是否使用递归式DNS服务器,默认为yes

10.dnssec-enable yes;

11.dnssec-validation yes;

12.dnssec-lookaside auto;

13./* Path to ISC DLV key */

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

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

16.};

17.logging {

18.channel default_debug {

19.file "data/named.run";

20.severity dynamic;

21.};

22.};

23.zone "." IN {

24.type hint; //表示这个区被定义为启动时初始化高速缓存的域名服务器

25.file "named.ca";

26.};

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

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

(注:主配置文件 named.conf里面只有“.”区域,在最下面有个 named.rfc1912.zones定义,是一个named.conf的辅助区域配置文件。意思是除了根域外,其他所有的区域配置建议在named.rfc1912.zones文件中配置,主要是为了方便管理,不轻易破坏主配置文件named.conf。)

3.修改辅助区域配置文件/etc/named.rfc1912.zones

在文件最末添加正向解析和反向解析域(注:本实验,正向解析、反向解析一并实现),

修改后的内容为:

[root@itpro ~]# cat /etc/named.rfc1912.zones

1.…………省略部分输出…………

2.zone "88181.com" IN { //这个是正向解析区域,区域名一般使用需要被解析的域名

3.type master; //master表示这个区被定义为主域名服务器

4.file "88181.com.zone"; //定义正向解析域的文件,名字随意,一般标记为:域名+.zone

5.allow-update { none; };

6.};

7.zone "1.168.192.in-addr.arpa" IN { //这个是正向解析区域,这里遵循一般的命名格式

8.type master;

9.file "88181.com.local"; //定义反向解析域的文件, ,名字随意,一般标记为:域名+.local

10.allow-update { none; };

11.};

4.创建解析文件

在/var/named中,以named.localhost为模板,创建正向和反向解析文件,

这两个文件的文件名,要以/etc/named.rfc1912.zones 文件中定义的一致,即88181.com.zone和88181.com.local

[root@itpro ~]# ls /var/named/

chroot dynamic named.empty named.loopback

data named.ca named.localhost slaves

[root@itpro named]# cp -p /var/named/named.localhost /var/named/88181.com.zone

[root@itpro named]# cp -p /var/named/named.localhost /var/named/88181.com.local

[root@itpro named]# ll /var/named/

total 44

drwxr-x---. 6 root named 4096 Mar 18 02:04 chroot

drwxrwx---. 2 named named 4096 Mar 18 02:12 data

drwxrwx---. 2 named named 4096 Mar 22 06:11 dynamic

-rw-r-----. 1 root named 1892 Feb 18 2008 named.ca

-rw-r-----. 1 root named 152 Dec 15 2009 named.empty

-rw-r-----. 1 root named 152 Jun 21 2007 named.localhost

-rw-r-----. 1 root named 168 Dec 15 2009 named.loopback

drwxrwx---. 2 named named 4096 Feb 23 14:26 slaves

-rw-r-----. 1 root named 175 Mar 22 07:05 88181.com.local

-rw-r-----. 1 root named 175 Mar 22 06:59 88181.com.zone

(注:使命cp命令时,要使用-p选项,以保留文件的权限属性。通过ll查看,可以看到这里的文件都是属于named用户组的,如果cp时不加-p选项,生成的文件将会属root用户组,不符合要求)

88181.com.zone文件内容为正向域名解析记录,修改后内容如下:

[root@itpro ~]# cat /var/named/88181.com.zone

1.$TTL 1D

2.@ IN SOA ns.88181.com root ( //@表示当前域,IN指internet ,SOA起始授权机构,

3.//root管理员邮箱地址,也可写作root.88181.com.,相当于root@88181.com.

4.0 ; serial

5.1D ; refresh

6.1H ; retry

7.1W ; expire

8.3H ) ; minimum

9.NS ns.88181.com. // ns指定域名服务器,只是个名称

10.ns A 192.168.1.53 //指定域名服务器IP地址

11.//以下增加目标解析文件,可以是www、ftp等

12.www A 192.168.1.100 //A指定域名对应IP,这里表示www.88181.com

13.ftp A 192.168.1.101 //如果还有其他服务,依次添加映射,如ftp

(注:输入的内容中,“ns.88181.com.”后面有一个“.”,表示根域,不能漏掉,如果不加,则表示nd.88181.com域还有后缀.88181.com, named会重启失败)

88181.com.local文件内容为反向域名解析记录,修改后内容如下:

[root@itpro ~]# cat /var/named/88181.com.local

1.$TTL 1D

2.@ IN SOA ns.88181.com. root (

3.0 ; serial

4.1D ; refresh

5.1H ; retry

6.1W ; expire

7.3H ) ; minimum

8.NS ns.88181.com.

9.ns A 192.168.1.53

10.100 PTR www.88181.com. //反向解析是PTR

11.101 PTR ftp.88181.com.

5.重启dns服务

[root@itpro ~]# service named restart

Stopping named: . [ OK ]

Starting named: [ OK ]

(如果重启报错,请检查设置是否正确)

二、客户端配置及测试

这里使用的客户端是Linux系统,需要修改resolv.conf文件,

如果是Windows客户端直接在本地连接属性窗口里改就可以了。

1.修改resolv.conf文件

使DNS指向域名服务器(192.168.1.53)

[root@ itclient ~]# cat /etc/resolv.conf

nameserver 192.168.1.53

2.使用nslookup测试

[root@ itclient ~]# nslookup www.88181.com

Server: 192.168.1.53

Address: 192.168.1.53#53

Name: www.88181.com

Address: 192.168.1.100

[root@ itclient ~]# nslookup 192.168.1.100

Server: 192.168.1.53

Address: 192.168.1.53#53

100.1.168.192.in-addr.arpa name = www.88181.com.

[root@ itclient ~]# nslookup ftp.88181.com

Server: 192.168.1.53

Address: 192.168.1.53#53

Name: ftp.88181.com

Address: 192.168.1.101

客户端能解析正常,说明DNS服务器的配置顺利完成。

三、辅助DNS服务器配置

辅助DNS服务器(Slave DNS),也可以向客户机提供域名解析服务,但是它的数据不是直接输入的,而是从其他Master或Slave DNS服务器中复制过来的。

1.安装相关软件

首先也是要安装bind及bind-chroot;然后启动,并在chkconfig中设为开机启动。

2.修改主配文件/etc/named.conf

同主DNS服务器的配置,就是将listen-on port 53、allow-query大括号中的值改为any。

3.修改辅助区域配置文件/etc/named.rfc1912.zones

在文件最末添加正向解析和反向解析域(注:本实验,正向解析、反向解析一并实现),

修改后的内容为:

[root@itpro ~]# cat /etc/named.rfc1912.zones

1.…………省略部分输出…………

2.zone "88181.com" IN { //这个是正向解析区域

3.type slave; //slave表示这个区被定义为辅助域名服务器

4.file "slaves/88181.com.zone";

5.masters { 192.168.1.53; }; //指明主DNS,可以是多个,

6.allow-update { none; };

7.};

8.zone "1.168.192.in-addr.arpa" IN { //这个是反向解析区域

9.type slave;

10.file "slaves/88181.com.local";

11.masters { 192.168.1.53; };

12.allow-update { none; };

13.};

4.重启DNS

[root@itsec ~]# service named restart

Stopping named: . [ OK ]

Starting named: [ OK ]

重启后,在/var/named/slaves/目录下会生成一个88181.com.zone文件和一个88181.com.local文件,里面的内容是分别从主DNS服务器上的88181.com.zone和88181.com.local中读过来的。

[root@itsec ~]# cat /var/named/slaves/88181.com.zone

1.$ORIGIN .

2.$TTL 86400 ; 1 day

3.88181.com IN SOA ns.88181.com.88181.com. root.88181.com. (

4.0 ; serial

5.86400 ; refresh (1 day)

6.3600 ; retry (1 hour)

7.604800 ; expire (1 week)

8.10800 ; minimum (3 hours)

9.)

10.NS ns.88181.com.

11.$ORIGIN 88181.com.

12.ftp A 192.168.1.101

13.ns A 192.168.1.53

14.www A 192.168.1.100

[root@itsec ~]# cat /var/named/slaves/88181.com.local

1.$ORIGIN .

2.$TTL 86400 ; 1 day

3.1.168.192.in-addr.arpa IN SOA ns.88181.com. root.1.168.192.in-addr.arpa. (

4.0 ; serial

5.86400 ; refresh (1 day)

6.3600 ; retry (1 hour)

7.604800 ; expire (1 week)

8.10800 ; minimum (3 hours)

9.)

10.NS ns.88181.com.

11.$ORIGIN 1.168.192.in-addr.arpa.

12.100 PTR www.88181.com.

13.101 PTR ftp.88181.com.

14.ns A 192.168.1.53

至此,从DNS服务器设置完成。比主DNS服务器的设置简单多了。

1.修改客户端的resolv.conf文件

增加一条指向从DNS服务器的记录,修改后内容如下:

[root@ itclient ~]# cat /etc/resolv.conf

nameserver 192.168.1.53

nameserver 192.168.1.54

2.在客户端使用nslookup命令测试

可以看到此时是通过主DNS服务器(192.168.1.53)解析域名的,

[root@itclient ~]# nslookup www.88181.com

Server: 192.168.1.53

Address: 192.168.1.53#53

Name: www.88181.com

Address: 192.168.1.100

3.在主DNS服务器上关闭dns服务

[root@itpro ~]# service named stop

Stopping named: . [ OK ]

4.再在客户端使用nslookup命令测试

可以看到此时是通过辅助DNS服务器(192.168.1.54)解析域名的,

[root@itclient ~]# nslookup www.88181.com

Server: 192.168.1.54

Address: 192.168.1.54#53

Name: www.88181.com

Address: 192.168.1.100

[root@itclient ~]# nslookup 192.168.1.101

Server: 192.168.1.154

Address: 192.168.1.154#53

101.1.168.192.in-addr.arpa name = ftp.88181.com.

5.在客户端使用dig命令可以查看到更详细的信息

[root@itclient ~]# dig www.88181.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6.3 <<>> www.88181.com

;; global options: +cmd

;; Got answer:

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

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

;; QUESTION SECTION:

;www.88181.com. IN A

;; ANSWER SECTION:

www.88181.com. 86400 IN A 192.168.1.100

;; AUTHORITY SECTION:

88181.com. 86400 IN NS ns.88181.com.

;; ADDITIONAL SECTION:

ns.88181.com. 86400 IN A 192.168.1.53

;; Query time: 2 msec

;; SERVER: 192.168.1.54#53(192.168.1.54)

;; WHEN: Tue Mar 26 05:39:07 2013

五、主辅DNS服务器数据同步问题

主DNS服务器修改记录,辅助DNS同步不过去,或者需要很长时间。这在现实生活中,会造成各地访问的结果不同。

通过修改主DNS服务器上的配置文件,是可以做到将数据快速同步到其他辅助DNS服务器的。这里用到一个also-notify字段。

1.在主DNS服务器的主配文件/etc/named.conf的options{ }里,增加一条记录:

also-notify { 192.168.1.54; }; //这里指通知的对象是192.168.1.54辅助DNS

2.主DNS数据变更,这里以修改区域88181.com为例,

删除里面的“ftp A 192.168.1.101”记录,同时将序列号数值加1,

[root@itpro ~]# cat /var/named/88181.com.zone

1.$TTL 1D

2.@ IN SOA ns.88181.com root (

3.1 ; serial //这里由0改为1

4.1D ; refresh

5.1H ; retry

6.1W ; expire

7.3H ) ; minimum

8.NS ns.88181.com.

9.ns A 192.168.1.53

10.www A 192.168.1.100

修改完成后,重启DNS

[root@itpro ~]# service named restart

Stopping named: . [ OK ]

Starting named: [ OK ]

3.在辅助DNS上查看88181.com的信息,可以看到,主DNS上该区域的信息已经同步过来了,

[root@itsec ~]# cat /var/named/slaves/88181.com.zone

1.$ORIGIN .

2.$TTL 86400 ; 1 day

3.88181.com IN SOA ns.88181.com.88181.com. root.88181.com. (

4.1 ; serial

5.86400 ; refresh (1 day)

6.3600 ; retry (1 hour)

7.604800 ; expire (1 week)

8.10800 ; minimum (3 hours)

9.)

10.NS ns.88181.com.

11.$ORIGIN 88181.com.

12.ns A 192.168.1.53

13.www A 192.168.1.100

(注:序列号的值务必要改大,辅助DNS收到主DNS的通知后,会先检查序列号,如果主DNS发过来的信息,序列号的值小于辅助DNS中序号的值,辅助DNS是会将新信息丢弃的。)

also-notify这个字段可以在named.conf中options里声明,也可以在单个区域文件中声明。不过我在单个文件区域,比如本实验中主DNS的/etc/named.rfc1912.zones中zone "88181.com" IN { }里声明时,并不生效。未解决。

转载于:https://blog.51cto.com/captain8/1273074

RHCE培训笔记——DNS基础相关推荐

  1. RHCE培训笔记——Samba

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 以下通过两个基础实验来学习samba,实验平台为Centos 6.2,环境为: Samba服务器 主机 ...

  2. RHCE培训笔记之Vim的使用

    2019独角兽企业重金招聘Python工程师标准>>> 一.介绍vim 1.vim是vi的新版本,是unix的标准文本编辑器,默认情况下执行vi运行的是vim 2.优点:速度.简便. ...

  3. RHCE培训笔记——GRUB

    GRUB是linux中最主要的多系统引导程序,如果grub.conf文件丢失或被破坏,但内核文件等没有丢失,在开机时,可以通过grub界面引导启动系统. 以下实验平台为CentOS 6.2.操作步骤如 ...

  4. RHCE培训笔记——Squid

    代理服务是一种特殊的服务,允许客户端通过它与另一个网络服务进行非直接的连接,也称网络代理.提供代理服务的计算机或其他类型的网络节点称为代理服务器,代理服务器中实现网络代理的软件称为代理软件.Linux ...

  5. 二级VB培训笔记08:公共基础知识

    二级VB培训笔记08:公共基础知识 一.公共基础思维导图

  6. 《Linux就该这么学》培训笔记_ch00_认识Linux系统和红帽认证

    <Linux就该这么学>培训笔记_ch00_认识Linux系统和红帽认证 文章最后会post上书本的笔记照片. 文章主要内容: 认识开源 Linux系统的种类及优势特性 认识红帽系统及红帽 ...

  7. 《Linux就该这么学》培训笔记_ch01_部署虚拟环境安装Linux系统

    <Linux就该这么学>培训笔记_ch01_部署虚拟环境安装Linux系统 文章最后会post上书本的笔记照片. 文章主要内容: 在虚拟机中安装红帽RHEL7系统 在Linux系统中找回r ...

  8. 二级VB培训笔记10:知识点串讲

    二级VB培训笔记10:知识点串讲 一.对象概述 1.三大特性:封装性.继承性.多态性 参看<VB讲课笔记1202. 二级公共基础 - 程序设计基础> 2.对象的属性 了解VB对象的常用属性 ...

  9. 团部培训笔记-设计模式-《2013-11-27 代理模式》

    按:本文为ATIP团内部培训笔记,主讲人:winters1224,记录人:yp_811,转载请注明出处: 一.代理模式的概念: 代理模式:为其他对象提供一种代理以控制对这个对象的访问. 用一个代理类, ...

最新文章

  1. 函数的重载 - C++快速入门06
  2. linux centos7 开机自动登录
  3. VC++在两个按钮之间连直线和折线
  4. 11个笑话让你领悟人生
  5. Android插件化技术调研
  6. 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
  7. 【debug】mount: unknown filesystem type ‘nfs’
  8. Spring Boot源码:SpringBootExceptionReporter
  9. 平面设计素材|现代色彩风格的海报设计
  10. python中bd是什么属性_python数据类型及其特有方法
  11. 字节码指令之同步控制指令
  12. Keli Proteus 8 的使用教程
  13. 微信小程序调用app.js里的函数
  14. MACD、KDJ、DMA等常用技术指标的python实现
  15. Visio流程图模具:国标1526-89(V2.0.5)
  16. R语言 REmap安装以及城市信息获取失败问题
  17. Python初学(2)—— 基本数据类型
  18. 智能手环guard日志获取-兔盯云
  19. Typro使用以及安装教程来啦
  20. 【原创】从BZOJ2683 简单题中 整 CDQ分治解决三维偏序

热门文章

  1. fre740变频器参数_三菱FR-E740变频器简介.doc
  2. 海康威视DS-K56A0人证设备集成(1)
  3. 工业互联网安全建设发展趋势
  4. 汉诺塔递归问题的分析与Python实现
  5. 2021年中质协六西格玛通过率年度总结
  6. python的使用涉及侵权吗_只要不用于商业用途就不算侵权吗
  7. 火狐浏览器书签工具栏图标_将您的书签工具栏缩小为工具栏按钮
  8. 抄书问题2 (复制书稿) 单调性优化dp + 序列划分模型
  9. pgpool-II读写分离
  10. 清华师姐网盘大曝光(整整400集python学习资料,真香)