linux初学者-DNS配置篇
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配置篇的更多相关文章
- linux初学者-DDNS配置篇
linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...
- linux初学者-DNS集群篇
linux初学者-DNS集群篇 DNS服务器一般在使用时,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个DNS集群. 在DNS主服务器配置好后,需要另 ...
- linux初学者-虚拟机联网篇
linux初学者-虚拟机联网篇 在虚拟机的使用过程中,本机可以连接WIFI直接上网,但是有时候需要用到虚拟机的联网,那么在本机联网的情况下,虚拟机怎么联网呢?接下来将介绍如何在本机已经连接到WIFI的 ...
- RedHat Linux AS4 DNS 配置
RedHat Linux AS4 DNS配置 检查当前系统中安装 DNS功能组件bind情况 [root@svr01 /]# rpm -qa|grep bind* ypbind-1.17.2 ...
- linux初学者-squid代理篇
linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...
- linux初学者-系统启动故障篇
linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...
- linux初学者-网络桥接篇
linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的 ...
- linux初学者-磁盘加密篇
linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...
- linux初学者-磁盘配额篇
linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...
随机推荐
- qtablewidget qss加上这个,QHeaderView::section
qtablewidget qss加上这个,QHeaderView::section { color: white; padding: 4px; height:24px; b ...
- Hadoop 三剑客之 —— 分布式计算框架 MapReduce
一.MapReduce概述 二.MapReduce编程模型简述 三.combiner & partitioner 四.MapReduce词频统计案例 4.1 项目简介 ...
- vue2.0父子组件以及非父子组件通信传参详解
1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: <parent> <child :child-msg="msg" ...
- scikit-learn学习笔记-bili莫烦
bilibili莫烦scikit-learn视频学习笔记 1.使用KNN对iris数据分类 from sklearn import datasets from sklearn.model_select ...
- string类总结第二部分实战练习
第二部门:实战练习 昨天由于时间原因,这个部分应该在同一个文章中的,无奈只能今天再开一个了,今天主要是讲一些面试题 一:equals和==的区别 最简单的面试题,也是最基础的,我估计每个学习java的 ...
- 【设计模式】结构型02装饰模式(Decorator Pattern)
装饰模式(Decorator Pattern) 意图:动态地给一个对象添加一些额外的职责.就增加功能来说,装饰器模式相比生成子类更为灵活. 主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由 ...
- yii中获取当前模块,控制器,方法
在控制器里 $name = $this->getModule()->id; // module $name = $this->getId(); // controller $nam ...
- Singleton and Prototype Bean Scope in Spring
Scope描述的是Spring容器如何新建Bean的实例的. 1> Singleton: 一个Spring容器只有一个Bean的实例,此为Spring的默认配置,全容器共享一个实例. 2> ...
- python函数之enumerate()
enumrate 语法: # enumerate(sequence, [start=]) 参数:# sequence -- 一个序列.迭代器或其他支持迭代对象.# start -- 下标起始位置. 使 ...
- 关于火狐浏览器设置cookie的一个问题
最近发现我一个项目的网页,里面的cookie无法添加了,急的我瞪着我的PHP代码沉思了好久,我默认用的火狐浏览器,然而我默默的打开另一个叫360的浏览器,发现它的cookie是正常添加的. ... 难 ...