计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目

目录

DNS服务被攻击的方式:DNS域名劫持、DNS域名污染

DNS域名劫持:

DNS域名污染

CDN内容分发网络

CDN的工作原理:

CDN优点:

CDN部署拓扑图: 

CDN将用户的请求重新导向离用户最近的服务节点上将如何实现呢?

CDN的核心技术: 

CDN的工作流程:

详细步骤:

CDN与DNS是如何对接的 :

DNS的记录类型: 

查看某个域名对应的DNS服务器(NS)

DNS服务器的类型:

搭建DNS缓存域名服务器

步骤:

追踪域名解析的整个过程,我们可以使用到:dig +trace www.qq.com

搭建DNS主域名服务器

步骤:

DNAT-SNAT实验项目:计算机网络 SNAT/DNAT 部署(三种VMware网卡模式)_snat部署_Claylpf的博客-CSDN博客

实验拓扑图:


DNS服务被攻击的方式:DNS域名劫持、DNS域名污染

DNS服务器如果出现问题:

        1、导致大面积人上不了网,但是能登陆QQ,因为QQ自带DNS域名解析

DNS域名劫持:

DNS域名劫持(DNS hijacking)是一种恶意行为,指的是黑客或攻击者通过篡改DNS解析的方式,将特定域名的解析结果指向错误的IP地址或恶意服务器,从而将用户的合法请求重定向到攻击者控制的虚假网站或恶意网站上。

  1. 修改本地Hosts文件:攻击者可以修改用户设备上的Hosts文件,将某个域名映射到错误的IP地址,使用户访问该域名时被重定向到攻击者控制的网站。

  2. 攻击本地DNS缓存:攻击者可以利用一些漏洞或安全弱点,攻击用户设备或网络中的本地DNS缓存,修改其中的DNS记录,导致特定域名的解析结果被篡改。

  3. 攻击ISP的DNS服务器:攻击者可以针对互联网服务提供商(ISP)的DNS服务器进行攻击,篡改其中的DNS记录,从而影响ISP的用户的域名解析结果。

  4. 使用DNS劫持工具:攻击者可能使用专门的工具或恶意软件,如DNS劫持工具或恶意广告软件,通过篡改DNS解析来实施攻击。

DNS域名污染

网域服务器缓存污染(DNS cache pollution),又称域名服务器缓存投毒(DNS cache poisoning),是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的IP地址。

CDN内容分发网络

CDN是内容分发网络(Content Delivery Network)的缩写。它是一种用于在全球范围内提供网站、应用程序和其他互联网内容的高效网络架构。CDN的主要目的是通过将内容存储在多个地理位置的服务器上,并将内容交付给用户最接近他们地理位置的服务器,从而提高内容的访问速度和性能。

大厂才拥有CND服务器(因为需要大量的服务器,需要大量的钱):
    腾讯,阿里,华为,百度等 

CDN的工作原理:

  1. 内容复制:网站所有的静态资源(例如图片、CSS文件、JavaScript文件等)被复制到全球各地的CDN服务器上。

  2. 就近访问:当用户请求访问网站或应用程序时,CDN会根据用户的地理位置,将内容从离用户最近的CDN服务器上交付给用户,而不是直接从源服务器上请求。

  3. 负载均衡:CDN可以智能地选择最合适的服务器来处理用户请求,从而分担源服务器的负载,提高整体性能。

  4. 缓存和更新:CDN服务器会缓存内容,当内容发生变化时,CDN会定期更新缓存,以确保用户获取到最新的内容。

CDN优点:

  • 提高网站性能和加载速度:由于内容从离用户最近的服务器上交付,所以用户可以更快地获取内容,减少加载时间,提高用户体验。
  • 减轻源服务器负担:CDN可以缓存和分发内容,从而减轻源服务器的负担,减少源服务器的流量和响应时间。
  • 提高可靠性和容错性:CDN拥有分布式架构,当某个服务器不可用时,会自动转向其他可用的服务器,从而提高网站的可靠性和容错性。

CDN部署拓扑图: 

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第1张图片

CDN将用户的请求重新导向离用户最近的服务节点上将如何实现呢?

  1. DNS解析当用户在浏览器中输入网址或点击链接时,浏览器首先需要将域名解析成IP地址,这个过程称为DNS解析。CDN提供商在DNS解析层面进行优化,通过返回离用户最近的CDN节点的IP地址,将用户的请求导向最近的节点。

  2. 基于地理位置的负载均衡CDN提供商会根据用户的地理位置来选择最近的服务器,从而实现负载均衡。这通常通过全球分布的服务器群集来实现,每个服务器群集都位于不同的地理位置,CDN根据用户的IP地址判断用户的位置,并将请求转发到最近的服务器。

  3. 缓存和内容复制CDN服务器会缓存静态内容,将其复制到多个节点。当用户请求访问特定内容时,CDN会优先从离用户最近的节点上提供内容,避免从源服务器获取。这样可以减少网络延迟,加快内容加载速度。

CDN的核心技术: 

CDN的核心技术:

  1. 内容缓存和分发(缓存技术):CDN的主要目标是提供高效的内容分发。为此,CDN使用缓存技术,在全球各地的服务器上存储静态和动态内容的副本。当用户请求访问某个内容时,CDN会将内容从离用户最近的缓存服务器上交付,从而加快内容加载速度,减少网络延迟。

  2. DNS优化:CDN利用DNS(域名系统)来将用户请求导向离用户最近的服务器。CDN提供商会在DNS解析层面进行优化,通过返回离用户最近的CDN节点的IP地址,将用户的请求导向最近的节点,从而实现就近访问。

  3. Anycast(调度系统):Anycast是一种网络寻址技术,允许多个服务器在不同地理位置拥有相同的IP地址。CDN使用Anycast技术,将相同的IP地址分配给全球不同地区的服务器节点,用户请求将导向离用户最近的服务器,从而实现高效的内容交付。

  4. 负载均衡(大量的服务器 ):CDN使用负载均衡技术来确保服务器资源的合理分配。当多个用户请求访问同一内容时,CDN会智能地将请求分发到不同的服务器,以避免单一服务器过载,提高整体性能和可靠性。

  5. 动态内容加速:除了静态内容,CDN还可以加速动态内容的交付。CDN会在边缘节点上缓存动态内容的副本,并与源服务器进行实时同步,以确保用户获取最新的内容。

  6. 安全防护:CDN通常配备安全防护措施,用于抵御DDoS攻击、恶意请求和其他网络威胁。CDN可以在全球范围内分布请求流量,使其更容易应对大规模攻击。

CDN的工作流程:

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第2张图片

详细步骤:

当我们本地的浏览器需要访问某个网站(www.sc.com),首先需要请求本地缓存(如浏览器缓存和hosts文件和操作系统缓存),如果没有,则会请求最近的DNS服务器(本地DNS服务器),本地DNS服务器就会进行DNS系统的查询,一路查下去,最后会查找到该域名对应的DNS记录(CNAME别名记录),返回CDN的DNS记录,然后本地DNS服务器就回去查找CDN专用的DNS调度系统,然后它会帮助我们返回离用户最近的CDN节点(www.sc.com)的IP地址(因为它在全国各地都布置了许多的CDN节点),最后本地DNS就会告诉我们的宿主机它从CDN服务器得到的CDN节点的IP地址,最后我们的宿主机就会通过该IP地址访问到最近的CDN节点,从而得到资源。

CDN与DNS是如何对接的 :

CDN与DNS之间的对接是CDN技术实现就近访问的关键步骤。当用户发起访问某个网站或应用程序的请求时,DNS起到了将域名解析成IP地址的作用。CDN利用DNS优化来将用户请求导向离用户最近的CDN节点。

下面是CDN与DNS之间的对接过程:

  1. 域名解析:当用户在浏览器中输入网址或点击链接时,浏览器会向本地DNS服务器发送一个DNS解析请求,询问目标域名对应的IP地址。

  2. CDN加速DNS:如果网站或应用程序使用了CDN服务,DNS服务器的配置中通常会包含CDN提供商的加速DNS信息。这样,本地DNS服务器就知道要通过CDN服务来解析目标域名。

  3. 返回CDN节点IP地址:本地DNS服务器会将DNS解析请求发送给CDN加速DNS,并由CDN加速DNS返回离用户最近的CDN节点的IP地址,而不是源服务器的IP地址。

  4. Anycast技术:CDN中的服务器通常采用Anycast技术,这意味着多个CDN节点具有相同的IP地址。因此,当本地DNS服务器收到CDN节点的IP地址后,它会将请求导向离用户最近的CDN节点,这是通过网络路由决策实现的。

  5. 用户请求导向:最终,用户的请求将被导向离他们最近的CDN节点,CDN节点将从缓存中提供内容,或者根据需要从源服务器获取内

DNS的记录类型: 

DNS的记录类型:
A记录  :域名对应一个ip  address(IPv4)

AAAA : 域名对应一个IPv6的地址
NS: 某个域名里的dns server 服务器  name  server  --》dns服务器记录
CNAME: 别名记录,一个域名指向另外一个名字     ---->CDN  --》 www.baidu.com  ---> www canonical name(www.a.shifen.com.)  
MX: 执行本公司的邮件服务器  mail  exchange  -->邮件交换记录--》可以知道某个域名里的邮件服务器的地址
TXT : 如果希望对域名进行标识和说明,可以使用 TXT 记录, TXT 记录多用来做 SPF 记录(反垃圾邮件)。

CNAME:

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第3张图片

查看某个域名对应的DNS服务器(NS)

root@aliyun-sz:~# nslookup
> set type=ns
> taobao.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
taobao.com	nameserver = ns5.taobao.com.
taobao.com	nameserver = ns6.taobao.com.
taobao.com	nameserver = ns7.taobao.com.
taobao.com	nameserver = ns4.taobao.com.

Authoritative answers can be found from:
> qq.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
qq.com	nameserver = ns3.qq.com.
qq.com	nameserver = ns2.qq.com.
qq.com	nameserver = ns1.qq.com.
qq.com	nameserver = ns4.qq.com.

Authoritative answers can be found from:
> didi.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
didi.com	nameserver = ns32.domaincontrol.com.
didi.com	nameserver = ns31.domaincontrol.com.

Authoritative answers can be found from:
> 

DNS服务器的类型:

1、缓存域名服务器   ---》路由器 ---》就是域名提篮子

    也称为 唯高速缓存服务器
    通过向其他域名服务器查询获得域名->IP地址记录
    将域名查询结果缓存到本地,提高重复查询时的速度
2、主域名服务器  --》写和读数据  --》保存了DNS数据
    特定DNS区域的官方服务器,具有唯一性,权威性
    负责维护该区域内所有域名->IP地址的映射记录
3、从域名服务器   ---》提供查询服务  --》到主域名服务器里拿数据
    也称为 辅助域名服务器
    其维护的 域名->IP地址记录 来源于主域名服务器

搭建DNS缓存域名服务器

步骤:

准备工作:关闭防火墙服务和selinux

[root@nameserver ~]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@nameserver ~]# systemctl disable firewalld
root@nameserver ~]# iptables -L  查看iptables防火墙规则
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@nameserver ~]#
[root@nameserver ~]# getenforce 
Disabled
[root@nameserver ~]# 
[root@nameserver ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled  修改disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

[root@nameserver ~]# setenforce 0  临时修改selinux策略

1.安装软件bind,bind是历史非常悠久,而且性能非常好的dns域名系统的软件

[root@nameserver ~]# yum install bind* -y

2、设置named服务开机启动,并且立马启动DNS服务

name deamon  --》named 提供域名服务的进程的名字
守护进程: 一直在内存里运行的,除非人为的停止

named 是dns的服务的名字  name daemon

[root@nameserver ~]# systemctl enable named  设置named服务开机启动
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@nameserver ~]# 
[root@nameserver ~]# systemctl start named  立马启动named进程

3、检查DNS服务是否开启(看端口,看进程)

[root@nfs ~]# ps aux|grep named
named     10472  0.1  3.0 168300 57532 ?        Ssl  08:51   0:00 /usr/sbin/named -u named -c /etc/named.conf
root      10478  0.0  0.0 112824   988 pts/0    R+   08:52   0:00 grep --color=auto named
[root@nfs ~]# netstat -anpult|grep named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      10472/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      10472/named         
tcp6       0      0 ::1:53                  :::*                    LISTEN      10472/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      10472/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           10472/named         
udp6       0      0 ::1:53                  :::*                                10472/named         
[root@nfs ~]# 

127.0.0.1 代表本机的地址,任何机器都有 ---》我
本地回环接口地址  lookback

LAN: 接局域网里的电脑接口 local area network  --》内网
WAN: wide area network  外面的区域的网络  --》外网

路由器: 转发数据的,把数据从一个网络转发到另外一个网络 --》路由  router路由器
修改本机的dns解析文件,增加我们自己的dns服务器地址
resolve  解析

4、修改我们的DNS服务器(源:114.114.114.114),修改为本机的DNS服务(127.0.0.1)

[root@sanchuang ~]# vim /etc/resolv.conf 
# Generated by NetworkManager
#nameserver 114.114.114.114
nameserver 127.0.0.1

 5、测试查询

[root@sanchuang ~]# nslookup 
> www.qq.com
Server:		127.0.0.1
Address:	127.0.0.1#53

Non-authoritative answer:
www.qq.com	canonical name = ins-r23tsuuf.ias.tencent-cloud.net.
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 121.14.77.201
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 121.14.77.221
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 2402:4e00:1020:1404:0:9227:71a3:83d2
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 2402:4e00:1020:1404:0:9227:71ab:2b74
> www.baidu.com
Server:		127.0.0.1
Address:	127.0.0.1#53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 14.215.177.38
Name:	www.a.shifen.com
Address: 14.215.177.39
> scecs.sanchuangedu.cn
Server:		127.0.0.1
Address:	127.0.0.1#53

Non-authoritative answer:
Name:	scecs.sanchuangedu.cn
Address: 59.110.14.42
> 

6、进入dns服务的数据存放目录,并查看其中的文件

[root@sc-server named]# cd /var/named/  进入dns服务的数据存放目录
[root@sc-server named]# ls
chroot      data     dyndb-ldap  named.empty      named.loopback
chroot_sdb  dynamic  named.ca    named.localhost  slaves
[root@sc-server named]# cat named.ca    存放了根服务器信息的文件

; <<>> DiG 9.11.3-RedHat-9.11.3-3.fc27 <<>> +bufsize=1200 +norec @a.root-servers.net
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46900
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	i.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	m.root-servers.net.

;; ADDITIONAL SECTION:
a.root-servers.net.	518400	IN	A	198.41.0.4
b.root-servers.net.	518400	IN	A	199.9.14.201
c.root-servers.net.	518400	IN	A	192.33.4.12
d.root-servers.net.	518400	IN	A	199.7.91.13
e.root-servers.net.	518400	IN	A	192.203.230.10
f.root-servers.net.	518400	IN	A	192.5.5.241
g.root-servers.net.	518400	IN	A	192.112.36.4
h.root-servers.net.	518400	IN	A	198.97.190.53
i.root-servers.net.	518400	IN	A	192.36.148.17
j.root-servers.net.	518400	IN	A	192.58.128.30
k.root-servers.net.	518400	IN	A	193.0.14.129
l.root-servers.net.	518400	IN	A	199.7.83.42
m.root-servers.net.	518400	IN	A	202.12.27.33
a.root-servers.net.	518400	IN	AAAA	2001:503:ba3e::2:30
b.root-servers.net.	518400	IN	AAAA	2001:500:200::b
c.root-servers.net.	518400	IN	AAAA	2001:500:2::c
d.root-servers.net.	518400	IN	AAAA	2001:500:2d::d
e.root-servers.net.	518400	IN	AAAA	2001:500:a8::e
f.root-servers.net.	518400	IN	AAAA	2001:500:2f::f
g.root-servers.net.	518400	IN	AAAA	2001:500:12::d0d
h.root-servers.net.	518400	IN	AAAA	2001:500:1::53
i.root-servers.net.	518400	IN	AAAA	2001:7fe::53
j.root-servers.net.	518400	IN	AAAA	2001:503:c27::2:30
k.root-servers.net.	518400	IN	AAAA	2001:7fd::1
l.root-servers.net.	518400	IN	AAAA	2001:500:9f::42
m.root-servers.net.	518400	IN	AAAA	2001:dc3::35

;; Query time: 24 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Thu Apr 05 15:57:34 CEST 2018
;; MSG SIZE  rcvd: 811

[root@sc-server named]# 

但是现在我们的DNS服务器只能让我们自己的机器进行域名解析,因为他只监听在127.0.0.1:53端口上,因此我们需要修改一下DNS的配置文件

7、修改配置文件,重启服务器允许其他电脑能过来查询dns域名

[root@nameserver ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };  修改  #机器上的任何一个端口,都可以监听53号端口
        listen-on-v6 port 53 { any; }; 修改  #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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; }; 修改 #允许任何一台机器来查询DNS记录

8、重启named服务,并查看效果:

[root@nameserver ~]# service named restart 重启named服务
Redirecting to /bin/systemctl restart named.service
[root@nameserver ~]# netstat -anplut|grep named
tcp        0      0 192.168.0.180:53        0.0.0.0:*               LISTEN      16137/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      16137/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      16137/named         
tcp6       0      0 :::53                   :::*                    LISTEN      16137/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      16137/named         
udp        0      0 192.168.0.180:53        0.0.0.0:*                           16137/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           16137/named         
udp6       0      0 :::53                   :::*                                16137/named         
[root@nameserver ~]# 
# 其中192.168.0.180为我的网卡

9、找一台客户机测试dns服务器的效果(将该客户机的DNS网关改为该DNS服务器的内网卡的IP地址)

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第4张图片

测试:(前提是你的机器能上网)

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第5张图片

通过在DNS服务器上进行抓包也可知道是哪一台客户机访问的DNS服务器

[root@sc-server named]# tcpdump  -i ens33 dst port 53  and udp -nn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes


14:46:49.552984 IP 192.168.50.1.45110 > 192.168.50.254.53: 46291+ A? www.qq.com. (28)
14:46:49.888700 IP 192.168.50.1.39710 > 192.168.50.254.53: 62114+ AAAA? ins-r23tsuuf.ias.tencent-cloud.net. (52)

追踪域名解析的整个过程,我们可以使用到:dig +trace www.qq.com

搭建DNS主域名服务器

步骤:

1、修改配置文件,告诉named为lpf.com提供域名解析

[root@nameserver named]# vim /etc/named.rfc1912.zones 

zone "lpf.com" IN {
        type master;
        file "lpf.com.zone";
        allow-update { none; };
};
#添加上面的配置,建议在localhost的后面

详细信息:(排列格式) 

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第6张图片

2、/var/named/ 存放dns域名解析的数据文件的  --》创建lpf.com的数据文件

[root@nfs named]# pwd
/var/named
[root@nfs named]# ls
chroot  chroot_sdb  data  dynamic  dyndb-ldap  named.ca  named.empty  named.localhost  named.loopback  slaves
#named.ca 存放13台根服务器的ip地址
[root@nfs named]# cp -a named.localhost lpf.com.zone  #复制产生一个lpf.com的数据文件
[root@nfs named]# ls
chroot  chroot_sdb  data  dynamic  dyndb-ldap  lpf.com.zone  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@nfs named]# 

3、修改lpf.com.zone文件:

[root@nfs named]# cat lpf.com.zone 
$TTL 1D   ; 表示缓存的时间为1天
@   IN SOA  ns1.lpf.com.   ns1.lpf.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    
@   NS  ns1.lpf.com.         ; 域名服务器记录
    IN MX 10 mail.lpf.com.   ; 邮件交换记录
ns1 IN  A  192.168.1.188    
mail IN  A  192.168.1.3

www IN  A  192.168.1.1     ;主机名对应主机的IP地址,集群记录
www IN  A  192.168.1.2 
www IN  A  192.168.1.8

ftp IN  A  192.168.1.3
web IN  CNAME www         ; 是web指向www  ,所以我们说web是www的别名
* IN A 192.168.1.80   ;  泛域名解析记录 
@ IN A 192.168.1.80   ;  只是lpf.com的域名解析
[root@nfs named]# 

泛域名解析记录 :就是当输入上面不存在的主机名如clay.lpf.com的时候,他就会跳转到泛域名解析上去。

只是lpf.com的域名解析: 当我们只输入lpf.com的这个域名的时候,我们的IP地址就会跳转到192.168.1.80来。

4、重启DNS服务器,并检查配置

[root@nfs named]# service named restart
Redirecting to /bin/systemctl restart named.service
[root@nfs named]# named-checkzone  lpf.com  /var/named/lpf.com.zone --》检查配置是否出现问题
zone lpf.com/IN: loaded serial 0
OK
[root@nfs named]# 

当服务启动不了的时候,如何排错?
1.看日志
2.使用检测工具:
    检测配置文件和数据文件

/var/log/messages 日志文件
[root@nameserver data]# tail -f /var/log/messages

5、最后将DNS服务器的网关配置成指向自己的(可以填写127.0.0.1 也可以填写自己网卡的IP)

[root@nfs named]# cat /etc/resolv.conf
# Generated by NetworkManager
#nameserver 114.114.114.114
#nameserver 192.168.2.1
nameserver 127.0.0.1
[root@nfs named]# 

6、测试:

[root@nfs named]# nslookup www.lpf.com
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:	www.lpf.com
Address: 192.168.1.2
Name:	www.lpf.com
Address: 192.168.1.1
Name:	www.lpf.com
Address: 192.168.1.8

[root@nfs named]# host www.lpf.com   --》集群,轮询算法,可用于负载均衡
www.lpf.com has address 192.168.1.8
www.lpf.com has address 192.168.1.2
www.lpf.com has address 192.168.1.1
[root@nfs named]# 
[root@nfs named]# nslookup web.lpf.com
Server:		127.0.0.1
Address:	127.0.0.1#53

web.lpf.com	canonical name = www.lpf.com.  --》指定别名
Name:	www.lpf.com 
Address: 192.168.1.8
Name:	www.lpf.com
Address: 192.168.1.1
Name:	www.lpf.com
Address: 192.168.1.2

[root@nfs named]# 

7、我们能通过ping命令来测试该DNS的负载均衡的效果。

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第7张图片

当然我们如果还需要添加其他的域名如feng.com这个域名,我们就需要如下所示添加配置文件信息

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第8张图片

然后再添加feng.com的配置文件feng.com.zone (如lpf.com.zone文件一样)

[root@sc-server named]# cd /var/named/
[root@sc-server named]# ls
chroot      data     dyndb-ldap  named.empty      named.loopback  slaves
chroot_sdb  dynamic  named.ca    named.localhost  sc.com.zone
[root@sc-server named]# cp -a sc.com.zone feng.com.zone
[root@sc-server named]# 

[root@sc-server named]# cat feng.com.zone 
$TTL 1D
@	IN SOA	ns1.feng.com.   ns1.feng.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
@	NS	ns1.feng.com.
    IN MX 10 mail.feng.com.
ns1 IN  A  192.168.1.188
mail IN  A  192.168.1.3
www IN  A  192.168.1.1
www IN  A  192.168.1.2
www IN  A  192.168.1.8

ftp IN  A  192.168.1.3
web.feng.com IN  CNAME www
* IN A 192.168.1.80
@ IN A 192.168.1.1

[root@sc-server named]# 

 检查配置,并重新启动DNS服务

[root@sc-server named]# named-checkzone  feng.com   /var/named/feng.com.zone
zone feng.com/IN: loaded serial 0
OK
[root@sc-server named]# 
[root@sc-server named]# service named restart
Redirecting to /bin/systemctl restart named.service
[root@sc-server named]# 

至此完成feng.com域名的配置

DNAT-SNAT实验项目:计算机网络 SNAT/DNAT 部署(三种VMware网卡模式)_snat部署_Claylpf的博客-CSDN博客

实验拓扑图:

计算机网络 day14 DNS域名劫持、DNS域名污染 - CDN的工作流程 - DNS的记录类型 - 搭建DNS缓存/主域名服务器 - DNAT-SNAT实验项目_第9张图片

项目名称:基于SNAT和DNAT的服务器(ssh、dns、web)发布项目--》发布内网的服务器项目
项目描述: 使用了什么技术,实现了哪些功能,做了什么事情
项目环境: 使用了centos7的系统  多少台服务器  
项目步骤:
        1.web服务的构建: flask/go
        2.跳板机的构建:
        3.dns/dhcp的构建
        4.MySQL服务器的构建
        5.SNAT和DNAT的实现
        6.测试
项目心得:
        遇到的问题,有哪些收获
 

你可能感兴趣的:(计算机网络,服务器,网络)