DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用。

1、高速缓存DNS

一台主机通过DNS服务器询问域名解析IP是需要一定的时间的,如果再次询问这个域名,同样需要之前的时间,这无疑延长了解析时间以及增加了服务器的负担,如果DNS服务器能够记住并且分享询问过的域名,那么其他主机在询问这个域名时就会快很多。这就是高速缓存DNS。

配置高速缓存,需要在DNS服务器上做如下配置:

a、"yum install bind -y",安装named服务,DNS的高速缓存服务就是由这个服务提供的。安装完成后输入"systemctl start named"开启服务。

b、配置防火墙。输入"firewall-config",在"Permanent"下开启"public"里的"dns",使得防火墙允许dns服务。完成后输入"firewall-cmd --list-all"查看是否开启。

c、"vim /etc/resolv.conf"。输入"nameserver DNSip",配置DNS。

d、输入"vim /etc/named.conf"。配置named服务的配置文件,将第11行改为"listen-on port 53 { any; };",这是将所有网络的53号端口打开。将第17行改为"allow-query     { any; };",这是允许所有人询问。在第18行添加"forwarders {172.25.254.250; };",这是在DNS服务器不知道域名解析的时候询问这个IP的主机,这个IP的主机必须联网。完成后重启服务。

在另一台主机上做测试,需先将这台主机的DNS设置为DNS服务器的IP。然后输入两次"dig 域名"来测试两次域名解析所需要的时间,如下图所示,输入"dig www.taobao.com",第一次解析所用时间为"145 msec",而第二次用"0 msec",由此可见,高速缓存能记录询问过的域名解析,在重复询问时可以大大减少反应时间。

2、DNS的正向解析

DNS的正向解析是询问域名,然后解析出IP。在做正向解析时,需要注释掉之前配置的"/etc/named.conf"下的第18行。

DNS的正向解析的配置如下所示:

a、"vim /etc/named.rfc1912.zones"。在这个配置文件的第24行后,输入以下内容:

zone "we.com"  IN {

type master;

file "we.com.zone";

allow-update { none; };

};

其中,"we.com"为需要解析的域名,可以自己编写,"we.com.zone"为记录域名解析IP的文件,名字可以自己编写。

b、"cp -p /var/named/named.localhost /var/named/we.com.zone"。为"we.com.zone"文件复制模版,权限也必须复制。

c、"vim /var/named/we.com.zone"。编辑这个文件,内容如下图所示。其中"root.we.com."为管理员邮箱,"NS"下的"A"代表正向解析,"music"和"www"代表域名,设置后域名为"music.we.com"和"www.we.com",后面输入对应的IP。完成后重启named服务。

配置完成后,用另一台主机进行测试,例如,输入"dig www.we.com"和"dig music.we.com"后即可看到之前配置的域名对应的IP。

在配置解析IP的文件"we.com.zone"也可以加入"CANME",即别名记录,就是将一个域名指向另一个域名。如下图,将"wps.we.com"的域名指向"music.we.com",重启服务后在测试主机上输入"dig wps.we.com"就会出现这个指向域名以及IP。

DNS配置还可以使用轮询技术来达到负载均衡,即一个域名对应多个IP,这个可以减轻主机在被访问时的负担。在"wps.we.com"中再编辑一个同样域名对应不同IP即可,如下图所示,重启服务后,查看这个域名就会出现两个对应IP。

3、DNS的反向解析

DNS的反向解析就是询问IP,解析对应的域名。反向解析的配置如下:

a、"vim /etc/named.rfc1912.zones"。在这个文件中编辑以下内容,如下图所示:

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

type master;

file "we.com.ptr";

allow-update { none; };

};

其中的"254.25.172"为反向解析的IP网段,这个网络必须反着写,即这个网段是"172.25.254",则要写成"254.25.172"。"we.com.ptr",为记录IP对应的域名解析的文件,名字可以自己编写。

b、"cp -p /var/named/named.loopback /var/named/we.com.ptr"。复制"named.loopback"的模版,并复制权限。

c、"vim var/named/we.com.ptr"。在文件中编入如下图所示内容,"202"和"101"为询问的IP,"PTR"代表反向解析,后面的为解析的域名。需要注意的是,反向解析和正向解析是两种不同的解析,IP和域名不必要对应。完成后重启服务。

用测试主机输入"dig -x 172.25.254.202"和"dig -x 172.25.254.102"对IP进行解析,则可以看到对应的域名。

4、DNS的双向解析

在DNS的使用中,有时候需要局域网内和网外的IP询问DNS域名解析不同的IP,这时就需要用到双向解析了,双向解析就是使局域网内解析域名得到和局域网外解析域名不同的IP。

DNS双向解析的步骤如下所示:

a、"vim /etc/named.conf"。使用"/*"注释掉下图所示内容。

b、"vim /etc/named.conf"。在其中编写下图中第61行至第83行内容:

view localnet {

match-clients { 172.25.254.2; };

zone "." IN {

type hint;

file "named.ca";

};

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

};

view any {

match-clients { any; };

zone "." IN {

type hint;

file "named.ca";

};

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

};

第61行至第71行编写的是局域网内主机的配置,为了测试方便将局域网主机写为"172.25.254.102",'include "/etc/named.rfc1912.zones"',表示上面网段的主机在询问域名时访问"/etc/named.rfc1912.zones"这个文件。

第73行至第83行编写的是其他网段配置,'include "/etc/named.rfc1913.zones"'表示其他网段的主机询问域名时访问"/etc/named.rfc1913.zones"这个文件。

c、"cp -p /etc/named.rfc1912.zones /etc/named.rfc1913.zones" 。

d、"vim /etc/named.rfc1913.zones"。在其中编辑下图内容,只需要把第27行的"file "we.com.zone""改为其他文件。

e、"cp -p /var/named/we.com.zone /var/named/we.com.any"。

f、"vim /var/named/we.com.any"。在这个文件中设置其他网段的主机在访问时DNS服务器想要反应给其的IP。例如下图所示,此IP只是为了举例方便编辑,无关合理性。

上述配置完成后,在不同网段的主机访问时就会访问不同的文件,从而得到不同的IP。如上述设置后,测试时,在"172.25.254.102"主机上测试"www.we.com",显示IP为"172.25.254.101"。在其他IP的主机上测试时,显示IP为"1.1.1.2"。

linux初学者-DNS配置篇的更多相关文章

  1. linux初学者-DDNS配置篇

    linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...

  2. linux初学者-DNS集群篇

    linux初学者-DNS集群篇 DNS服务器一般在使用时,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个DNS集群. 在DNS主服务器配置好后,需要另 ...

  3. linux初学者-虚拟机联网篇

    linux初学者-虚拟机联网篇 在虚拟机的使用过程中,本机可以连接WIFI直接上网,但是有时候需要用到虚拟机的联网,那么在本机联网的情况下,虚拟机怎么联网呢?接下来将介绍如何在本机已经连接到WIFI的 ...

  4. RedHat Linux AS4 DNS 配置

     RedHat Linux AS4 DNS配置   检查当前系统中安装 DNS功能组件bind情况 [root@svr01 /]# rpm -qa|grep bind* ypbind-1.17.2 ...

  5. linux初学者-squid代理篇

     linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...

  6. linux初学者-系统启动故障篇

    linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...

  7. linux初学者-网络桥接篇

    linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的 ...

  8. linux初学者-磁盘加密篇

    linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...

  9. linux初学者-磁盘配额篇

    linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...

随机推荐

  1. oracle11g安装时出现程序未找到文件解决办法

    在安装的最后可能会出现如下问题 解决办法如下 将win64_11gR2_database_2of2中的\win64_11gR2_database_2of2\database\stage\Compone ...

  2. C#最新功能(6.0、7.0)

    一直用C#开发程序,.NET的功能越来越多,变化也挺大的,从最初的封闭,到现在的开源,功能不断的增加,一直在进步.作为C#的强烈支持者,C#的变化,我不能不关注,这篇文章主要介绍,C#6.0和C#7. ...

  3. 缩放手势 ScaleGestureDetector 源码解析,这一篇就够了

    其实在我们日常的编程中,对于缩放手势的使用并不是很经常,这一手势主要是用在图片浏览方面,比如下方例子.但是(敲重点),作为 Android 入门的基础来说,学习 ScaleGestureDetecto ...

  4. 《linux内核设计与实现》阅读笔记-进程与调度

      一.进程 process: executing program code(text section) data section containing global variables open f ...

  5. UI-grid 表格内容可编辑(enableCellEdit可指定列编辑)

    在网上搜索了很多关于UI-Grid的问题 很遗憾好少啊啊啊 不过有API还是比较欣慰的 官方API:UI Grid 还有一位大佬的翻译的中文API:angularjs ui-grid中文api 行编辑 ...

  6. sed命令和find命令的结合的使用

    linux中查找当前目录及其子目录下的所有test.txt文件,并将文件中的oldboy替换成oldgirl 首先查找出当前目录及其子目录下的所有的test.txt文件 [root@zxl zxl]# ...

  7. SkyWorking基础:6.2版本安装部署

    就在今天,SkyWorking发布了6.2版本. 概述 什么是SkyWorking SkyWalking是观察性分析平台和应用性能管理系统. 提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化解 ...

  8. Spark学习之路(十四)—— Spark Streaming 基本操作

    一.案例引入 这里先引入一个基本的案例来演示流的创建:获取指定端口上的数据并进行词频统计.项目依赖和代码实现如下: <dependency> <groupId>org.apac ...

  9. Linux嵌入式GDB调试环境搭建

    ======================= 我的环境 ==========================PC 端: CPU:x86_64, 系统:Ubuntu,IP:172.16.2.212开发 ...

  10. 鼠标滑至某位置,在鼠标旁边出现详情弹窗div

    首先效果如下: 代码如下: //这个是一个循环,循环所有name为xx的td标签(也就是给tdname为XXX的添加事件)$("td[name='strGoodsSKU']").e ...