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. jmeter报告分析工具

    一直以来做性能测试都是用jmeter和LR,当然还有一些自己写测试脚本,LR不用说,分析结果那个组件杠杠的!但是jmeter毕竟是开源的,所以分析查看结果不像LR那样自带图形神马的,虽然可以自己写脚本 ...

  2. spring boot单元测试之MockMvc

    spring单元测试之MockMvc,这个只是模拟,并不是真正的servlet,所以session.servletContext是没法用的. @RunWith(SpringRunner.class) ...

  3. Quartz.Net实现作业定时调度详解

    1.Quartz.NET介绍 Quartz.NET是一个强大.开源.轻量的作业调度框架,你能够用它来为执行一个作业而创建简单的或复杂的作业调度.它有很多特征,如:数据库支持,集群,插件,支持cron- ...

  4. 原创-使用pywinauto进行dotnet的winform程序控制(一)

    pywinauto自动化控制win32的ui的程序,网上有好多的教程.但是操作dotnet写的winform教程,就少之又少.今天我就来分享我的pywinauto操作dotnet的winform的研究 ...

  5. ThreadLocal使用原理、注意问题、使用场景

    想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理.首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码 ...

  6. 前后端开发(2):浏览器与PHP程序的交互

    上一节介绍怎么在mac电脑上启用PHP程序,并且演示了一个简单的例子,这个例子运行时,涉及了浏览器.apache以及PHP程序的交互,这三者的关系大概是这样的: 一般来说,浏览器(或者类似功能的程序) ...

  7. http协议之状态码

    =================状态码,状态文字======================== 状态码:用来反应服务器的响应状态 状态文字:是用来说明状态码的. 状态码:可以分为这5个大的部分 - ...

  8. vSphere克隆虚机重启网卡报错

    使用VMware vSphere克隆虚机,修改IP重启网卡报错: 解决报错: 修改 /etc/udev/rules.d/70-persistent-net.rules 文件,克隆后会多出eth2和et ...

  9. Ruby系列文章

    安装Ruby.多版本Ruby共存.Ruby安装慢问题 Ruby语言的一些杂项 Ruby中的常量:引号.%符号和heredoc Ruby中的数值 Ruby字符串(1):String基本用法 Ruby字符 ...

  10. Windows使用Python统一设置解析器路径

    碰到的问题: .py文件放在cgi-bin文件夹下面,这个.py文件都要设置"#!python.exe路径"来告诉CGI如何找解析器解析这个.py的文件,我是想知道这个路径可否统一 ...