Linux学习基础必备技能之DNS——反向解析缓存服务器主从服务器分离解析
Posted 28线不知名云架构师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习基础必备技能之DNS——反向解析缓存服务器主从服务器分离解析相关的知识,希望对你有一定的参考价值。
一、反向解析
1.1 反向解析定义
反向域名解析系统(Reverse DNS)的功能确保适当的邮件交换记录是生效的。这是一个最常见的问题(尤其是国外的 邮件系统更是如此)。更多的 电子邮件提供商是使用反向域名解析系统查找来确认信息是从哪里来的。由于这种方式的使用变得更广泛,那些没有正确地发布反向域名解析系统信息的域可能更常发生邮件的退回,当正向域名解析完成后还应当的线路接入商(ISP)申请做反向 地址解析。
1.2 实际操作
①下载bind软件包
yum -y install bind
②编辑主配置文件
vim /etc/named.conf
options {
listen-on-v6 poet 53 { 192.168.184.10; }; #监听53端口,IP地址使用提供服务的本地IP,也可用any代表所有
# listen-on-v6 port 53 { : :1; }; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位 置
dump- file "/var/ named/data/cache_ dump . db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named_ mem_ stats. txt"; #内存统计文件的位置
allow-query { any; }; #允许使用本DNS解析服务的网段,也可用any代表所有
③编辑区域配置文件
vim /etc/named. rfc1912. zone #文件里有模版,可复制粘贴后修改
zone "80.168.192. in-addr.arpa" IN { #反向解析的地址倒过来写,代表解析192.168.80段的地址
type master;
file "benet. com. zone. local"; #指定区域数据文件为benet.com.zone.local
allow-update { none; } ;
④备份指定区域数据配置文件,然后编辑指定区域数据配置文件
cd /var/ named/
cp -p named. localhost benet. com. zone. local
vim /var/ named/ benet. com. zone. local
$TTL 1D
@ IN SOA benet. com. admin. benet. com. ( #这里的“@"代表192.168.80段地
0 ; serial
1D ; refresh
1H ; retry
1W ; expi re
3H ) ; minimum
NS benet. com.
A 192.168.80.10
200 IN PTR WWW . benet. com. #PTR为反向指针,反向解析192.168.80.200地址结果为www . benet. com.
⑤关闭防火墙,关闭linux安全机制,打开dns域名解析服务:named,然后修改服务器dns,完成后:wq保存并退出,最后进行验证
systemctl restart named
host 192.168.80.200
ns1ookup 192.168.80. 200
二、缓存服务器
2.1 概念
缓存服务器(cache server),即用来存储网络上的其他用户需要的网页、文件等等信息的专用服务器。这种服务器不仅可以使用户得到他们想要的信息,而且可以减少网络的交换量。缓存服务器往往也是代理服务器。对于网络的用户,缓存服务器和代理是不可见的,在用户看来所有的信息都来自访问的网站。
2.2 实际操作
①缓存服务器建立在正向解析的基础上,在此不做重复
②新建一台虚拟机作为备,手动更改ip地址为:192.168.35.20
③编辑主配置文件
vim /etc/named.conf
删除只剩余以下两行
directory “/var/named”;
allow-query { localhost; };
然后加一行 forwarders #转发
allow-query以下配置内容全部删除
④开启服务
systemctl start named
三、主从服务器
3.1概念
①主域名服务器
- 特定DNS区域的权威服务器,具有唯一性
- 负责维护该区域内所有域名->IP地址的映射记录
- 需要自行建立所负责区域的地址数据文件
②从域名服务器
- 也称为辅助域名服务器,是对主域名服务器的热备份
- 其维护的域名->IP地址记录来源于主域名服务器
- 需要从主域名服务器自动同步区域地址数据库
主从服务器均是为了实现备份和冗余
3.2 具体操作
①修改主域名服务器的区域配置文件,修改正、反向区域配置
vim /etc/ named. rfc1912. zone
zone "benet.com" IN {
type master; #类型为主区域
file "benet. com. zone";
allow-transfer { 192.168.80.11; } ; #允许从服务器下载正向区域数据,这里添从服务器的IP地址
};
zone "80.168.192. in-addr.arpa" IN {
type master;
file "benet. com. zone.local";
allow-transfer { 192. 168.80.11; } ;
};
②修改区域配置文件
vim /etc/ named. rfc1912. zone
zone "benet. com" IN {
type slave; #类型为从区域
masters { 192.168.80.10; } ; #指定主服务器的IP地址
file "slaves/benet. com. zone"; #下载的区域数据文件保存到slaves/目录下
};
zone "80.168.192. in-addr.arpa" IN {
type slave;
masters { 192.168.80.10; } ;
file "slaves/benet. com. zone. local" ;
};
四、分离解析
4.1分离解析概念
分离解析的域名服务器实际也是主域名服务器,这里主要是根据不同的客户端提供不同的域名解析记录。例如分别来自内网和外网的两个不同网段地址区域的客户机请求解析同一域名时,DNS分离解析将为它们提供不同的解析结果,从而得到不同的IP地址
4.2具体操作
4.2.1网关服务器配置
①服务器准备:下载好bind,添加两块网卡,一块为内网网卡VMnet1仅主机模式,一块为VMnet2仅主机模式
[root@localhost slaves]# yum install -y bind //先在有网的情况下下载bind并设置DNS各配置文件
[root@localhost slaves]# vim /etc/named.conf //设置bind主配置文件
[root@localhost slaves]# vim /etc/named.rfc1912.zones //设置区域配置文件
[root@localhost slaves]# cd /var/named
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp -p named.localhost whd.com.zone.wan
[root@localhost named]# cp -p named.localhost whd.com.zone.lan
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves whd.com.zone.lan whd.com.zone.wan
[root@localhost named]# vim whd.com.zone.lan
[root@localhost named]# vim whd.com.zone.wan
[root@localhost named]# systemctl start named
[root@localhost named]# netstat -anup | grep 53 //查看named是否开启成功
udp 0 0 60.0.0.1:53 0.0.0.0:* 83381/named
udp 0 0 192.168.122.1:53 0.0.0.0:* 83381/named
udp 0 0 192.168.40.66:53 0.0.0.0:* 83381/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 83381/named
udp 0 0 192.168.122.1:53 0.0.0.0:* 7795/dnsmasq
udp 0 0 0.0.0.0:5353 0.0.0.0:* 6095/avahi-daemon:
udp6 0 0 ::1:53 :::* 83381/named
添加网卡,并更改VMnet
[root@localhost slaves]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //配置VMnet1的网卡
[root@localhost slaves]# vim /etc/sysconfig/network-scripts/ifcfg-ens36 //配置VMnet2的网卡
[root@localhost slaves]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.40.66 netmask 255.255.255.0 broadcast 192.168.40.255
inet6 fe80::5fa0:eef1:92e9:a987 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:62:71:0f txqueuelen 1000 (Ethernet)
RX packets 631681 bytes 930033670 (886.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 284477 bytes 17361367 (16.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 60.0.0.1 netmask 255.0.0.0 broadcast 60.255.255.255
inet6 fe80::7c2c:db53:1f27:113c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:62:71:19 txqueuelen 1000 (Ethernet)
RX packets 70 bytes 11517 (11.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 151 bytes 23664 (23.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost named]# iptables -L -t nat //查看iptables防火墙规则
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
[root@localhost named]# iptables -F -t nat //关闭防火墙限制
[root@localhost named]# vim /etc/sysctl.conf //添加路由转发功能
[root@localhost named]# sysctl -p //刷新修改的配置
net.ipv4.ip_forward = 1
4.2.2、Web服务器配置:(在有网的情况下载httpd后,采用VMnet1仅主机模式,)
[root@localhost named]# yum install -y httpd
[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost named]# cd /var/www/html
[root@localhost html]# vim index.html //编辑网页内容
<h1>hello wold</h1>
[root@localhost html]# systemctl start httpd
[root@localhost html]# netstat -antp | grep httpd
tcp6 0 0 :::80 :::* LISTEN 24898/httpd
[root@localhost html]# curl 127.0.0.1 //检测网页是否创建成功
<h1>hello wold</h1>
[root@localhost named]# iptables -t nat -A PREROUTING -d 60.0.0.1 -i ens36 -j DNAT --to-destination 192.168.40.100
4.2.3、win10外网客户端用VMnet2仅主机模式
设置win10外网客户端的VMnet
最后关闭防火墙
4.2.4、linux内网客户端用VMnet1仅主机模式
[root@AIDEBOY ~]# systemctl stop firewalld.service 关闭防火墙
[root@AIDEBOY ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
ot@localhost html]# vim /etc/resolv.conf //设置DNS服务器IP地址
4.2.5实验结果
在win10上测试DNS解析
在linux客户端上测试DNS解析,并用浏览器搜寻域名
在这里插入代码片[root@localhost html]# nslookup www.whd.com
Server: 192.168.40.66
Address: 192.168.40.66#53
Name: www.whd.com
Address: 192.168.40.100
在外网客户端win10上访问域名
以上是关于Linux学习基础必备技能之DNS——反向解析缓存服务器主从服务器分离解析的主要内容,如果未能解决你的问题,请参考以下文章
linux[基础]-33-[dns服务器]-[正反向域名解析]-[01]
linux DNS反向解析,缓存服务器,主从域名服务器和DNS分离解析
linux的DNS反向解析,DNS缓存服务器,DNS主从域名服务的设置,DNS的分离解析
Linux----DNS服务器构建(反向解析,缓存服务器,主从服务器)!