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"。