WEBVTT

00:00.290 --> 00:01.920
杰森：这节课, 我们将讨论域名系统,

00:01.920 --> 00:04.920
或称DNS｡

00:04.920 --> 00:12.720
DNS协议用于帮助您的网络客户端使用人类可读的主机名而不是数字IP地址来查找网站｡

00:12.720 --> 00:15.360
例如, 如果我告诉你访问我的网站, 我可以简单地说, “嘿,

00:15.360 --> 00:23.310
去diontraining｡ com, ”这比你记住它是66容易得多｡

00:23.310 --> 00:23.310
123. 45. 237,

00:26.280 --> 00:29.670
或者我的网络服务器的IP地址｡

00:29.670 --> 00:39.420
毕竟, 作为电视广告的一部分, 说出所有这些数字并不像告诉你的消费者访问diontraining那样吸引人或令人难忘｡

00:39.420 --> 00:39.420
com或可口可乐｡  com或微软｡

00:39.420 --> 00:41.760
com, 对吗？

00:41.760 --> 00:47.220
那么, 计算机如何知道如何从这些不同的域名中找到Web服务器的IP地址呢？

00:47.220 --> 00:51.720
这就是DNS的作用, 域名系统｡ 

00:51.720 --> 00:57.660
DNS的工作方式是, 用户的计算机被告知去某个地方, 如diontraining｡

00:57.660 --> 00:57.660
com,

00:57.660 --> 01:02.139
所以它会联系DNS服务器并说, “嘿, 谁是diontraining｡

01:02.139 --> 01:02.139
com？ 然后DNS服务器会回复说,

01:02.139 --> 01:07.140
“哦, 我知道diontraining｡

01:07.140 --> 01:07.140
com.

01:07.140 --> 01:09.900
它的IP地址是66点什么,

01:09.900 --> 01:17.370
点什么, 点什么｡ 然后, 客户端使用他们的路由器和连接方式重定向到Web服务器,

01:17.370 --> 01:19.170
因为他们现在知道正确的IP地址用作目的地,

01:19.170 --> 01:30.660
所有这些都发生在您的用户和计算机的后台, 而无需任何人实际要求它, 因为DNS是我们网络和系统的嵌入式部分｡

01:30.660 --> 01:33.360
现在, 我们大多数家庭用户都不会运行自己的DNS服务器,

01:33.360 --> 01:38.820
而是依赖于我们的互联网服务提供商为我们做这件事｡

01:38.820 --> 01:40.770
但是, 如果您正在运行自己的网站或我们的大型企业网络,

01:40.770 --> 01:53.303
您可能也会在您的网络中拥有自己的DNS服务器, 并且您将负责设置自己的DNS记录, 这些记录指示哪些服务器位于哪些IP地址以及用于哪些目的｡

01:53.303 --> 01:55.620
这允许您运行自己的域名和主机解析,

01:55.620 --> 02:00.120
将这些域名转换为IP地址｡

02:00.120 --> 02:01.380
如果你想这样想,

02:01.380 --> 02:04.440
这类似于在你的手机上有一个联系人列表｡

02:04.440 --> 02:07.380
如今, 你能记住多少电话号码？

02:07.380 --> 02:09.120
可能不是很多, 对吧？

02:09.120 --> 02:11.490
因为通常情况下, 你会拿出你的智能手机,

02:11.490 --> 02:13.800
滚动到这个人的名字, 然后用手指点击他们的名字,

02:13.800 --> 02:16.350
然后手机就会拨通他们的电话｡

02:16.350 --> 02:19.500
例如, 如果我想打电话给我的妻子, 我滚动到她的名字,

02:19.500 --> 02:21.480
我把她的脸的照片在我的手机上,

02:21.480 --> 02:24.600
然后我的手机立即拨打她的号码｡

02:24.600 --> 02:27.390
我不需要记住她电话号码的所有10位数字,

02:27.390 --> 02:29.400
因为我的手机会帮我记住｡

02:29.400 --> 02:31.020
这是因为作为人, 我们记住数字比记住名字更难,

02:31.020 --> 02:39.000
所以我们使用联系人列表来进行这种面孔或名字到数字的转换｡

02:39.000 --> 02:40.800
这对计算机来说也是一样的,

02:40.800 --> 02:42.808
除了计算机实际上更喜欢数字而不是名字,

02:42.808 --> 02:49.410
所以我们想把对我们来说更容易的域名转换成对计算机来说更容易路由的IP地址,

02:49.410 --> 02:54.330
这就是DNS真正为我们做的｡

02:54.330 --> 02:57.510
它将名称转换为数字, 将数字转换为名称｡ 

02:57.510 --> 03:00.810
现在, 我们需要讨论的DNS概念之一是所谓的完全限定域名（fully-qualified

03:00.810 --> 03:04.590
domain name）｡

03:04.590 --> 03:08.040
这是当一个域名是在顶级提供商｡ 

03:08.040 --> 03:16.200
例如, 最常见的顶级提供程序是｡  com, 但我们也有类似的东西｡

03:16.200 --> 03:16.200
米尔,  edu, . org, . net.

03:16.200 --> 03:18.360
让我们以迪翁训练为例｡ 

03:18.360 --> 03:21.210
在Dion培训, 我们有很多不同的服务器｡ 

03:21.210 --> 03:23.220
我们的服务器之一是我们的网络服务器,

03:23.220 --> 03:27.750
它位于www｡ diontraining｡  com.

03:27.750 --> 03:30.660
这里的顶级域名是｡  com.

03:30.660 --> 03:33.420
我使用的域名是Dion Training｡ 

03:33.420 --> 03:37.650
为了完全合格, 我必须在它前面加上WWW｡ 

03:37.650 --> 03:41.910
这使它成为www｡  diontraining｡  com.

03:41.910 --> 03:43.770
现在, 如果你想去我的网络服务器,

03:43.770 --> 03:45.840
这就是你要输入到你的浏览器,

03:45.840 --> 03:49.890
www｡ diontraining｡  com, 现在你将被重定向到我的Web服务器,

03:49.890 --> 03:57.900
因为DNS知道它应该如何使用该完全限定的域名来旋转我的Web服务器的IP地址｡

03:57.900 --> 04:03.660
现在, 如果你想去我的文件服务器, 你必须输入ftp｡

04:03.660 --> 04:03.660
diontraining｡  com,

04:03.660 --> 04:05.820
因为这是我在那里运行的服务器｡

04:05.820 --> 04:10.140
如果你想去我的邮件服务器, 你可以输入mail｡

04:10.140 --> 04:10.140
diontraining｡  com.

04:10.140 --> 04:14.910
所有这三个都是完全限定域名或CDN的示例｡

04:14.910 --> 04:17.790
从本质上讲, 有一个服务, 一个点,

04:17.790 --> 04:22.830
一个域名, 一个点和一个顶级域名, 无论您在互联网上查看哪个域名,

04:22.830 --> 04:25.680
其工作方式都是一样的｡

04:25.680 --> 04:28.830
现在, DNS将被设置为层次结构｡ 

04:28.830 --> 04:31.050
这发生在五个不同的层面｡ 

04:31.050 --> 04:33.750
我们有路由级别､ 顶级域､

04:33.750 --> 04:37.260
二级域､ 子域和主机｡

04:37.260 --> 04:40.800
路由级别是DNS层次结构树中的最高级别,

04:40.800 --> 04:44.550
路由名称服务器将应答路由区域中的请求｡

04:44.550 --> 04:46.320
这些服务器包含所有顶级域的全局列表,

04:46.320 --> 04:49.867
例如｡ com, . net, . org, . 米尔和其他人｡ 

04:49.867 --> 04:53.190
第二个级别将是顶级域｡ 

04:53.190 --> 04:56.700
这些被分为两类, 组织层次结构,

04:56.700 --> 05:03.300
如｡ com, . net, . org等, 然后是地理层次结构,

05:03.300 --> 05:06.000
如｡ uk代表联合王国｡  法国的FR｡  意大利和其他类似的国家｡ 

05:06.000 --> 05:10.447
第三个级别被称为二级域名｡ 

05:10.447 --> 05:13.620
这些域位于顶级域的正下方｡ 

05:13.620 --> 05:20.160
例如, 我的域名Dion Training是一个二级域名｡

05:20.160 --> 05:20.160
com顶级域｡ 

05:20.160 --> 05:23.130
的. com位于路由域下面｡ 

05:23.130 --> 05:30.900
这就是这些东西作为层次结构的一部分一起升级的方式｡

05:30.900 --> 05:37.830
第四层是子域名, 所以如果我想在第二级域名diontraining下创建一个新服务器｡

05:37.830 --> 05:37.830
com,

05:37.830 --> 05:39.720
我可以用一个子域名来做｡

05:39.720 --> 05:45.330
在我的情况下, 我有很多不同的子域用于不同的目的｡

05:45.330 --> 05:48.870
我有我的主网站托管在www子域, 所以你在www类型｡

05:48.870 --> 05:48.870
diontraining｡  com,

05:48.870 --> 05:56.070
这会把你带到我的Web服务器, 但我也有一个叫做支持的服务器｡

05:56.070 --> 05:59.910
现在, 支持子域位于支持｡

05:59.910 --> 05:59.910
diontraining｡  com.

05:59.910 --> 06:01.740
我还有一封信, 信｡  diontraining｡  com.

06:01.740 --> 06:04.320
这些都是不同的子域｡ 

06:04.320 --> 06:07.620
现在, 第五层也是最后一层是宿主层｡ 

06:07.620 --> 06:09.660
这是DNS层次结构中最低和最详细的级别,

06:09.660 --> 06:14.760
它指的是网络上的特定机器或服务器｡

06:14.760 --> 06:21.870
现在, 当我们想到DNS时, 我们大多数人都会想到一个完全限定的域名,

06:21.870 --> 06:28.710
比如www｡ diontraining｡  com, 它包含一个子域､ 一个二级域和一个顶级域｡

06:28.710 --> 06:32.940
现在, 如果我想更进一步, 我可以从URL的角度来看待它,

06:32.940 --> 06:34.920
它被称为统一资源定位器｡

06:34.920 --> 06:37.170
同样, 让我们以我的Web服务器为例,

06:37.170 --> 06:40.110
www｡ diontraining｡  com.

06:40.110 --> 06:45.540
这是我的完全限定域名, 但它没有告诉你如何访问它｡

06:45.540 --> 06:47.700
你想安全地还是不安全地做这件事？

06:47.700 --> 06:50.460
好吧, 你得通过URL来告诉我｡ 

06:50.460 --> 06:53.100
好吧, 如果你想给我你的用户名和密码,

06:53.100 --> 06:56.610
你应该这样做的安全｡

06:56.610 --> 07:00.720
所以你要在www前面加上HTTPS：//｡

07:00.720 --> 07:00.720
diontraining｡  com,

07:00.720 --> 07:09.660
这就变成了一个URL, 一个统一资源定位器, 因为它告诉你如何访问diontraining｡

07:09.660 --> 07:09.660
com的Web服务器｡ 

07:09.660 --> 07:12.450
这就是为什么我们一开始就使用HTTPS｡ 

07:12.450 --> 07:16.200
这是超文本传输协议的安全,

07:16.200 --> 07:19.170
这是访问它的方法｡

07:19.170 --> 07:25.650
现在, 如果你想访问我的网站, 并且不安全, 你可以通过在网址的开头添加HTTP：//来实现｡

07:25.650 --> 07:28.110
现在, 如果你想使用FTP连接,

07:28.110 --> 07:32.430
你可以使用FTP：//FTP｡ diontraining｡  com作为你的URL, 所以有很多不同的方法来做这件事, 因为你告诉系统要做什么,

07:32.430 --> 07:43.860
这将创建一个URL和一个完全合格的域名｡

07:43.860 --> 07:47.670
接下来, 我们需要讨论DNS服务器中存在的不同类型的DNS记录｡

07:47.670 --> 07:49.470
在DNS服务器内部, 您将创建不同的记录,

07:49.470 --> 07:55.200
这些记录根据您的用例保存不同类型的信息｡

07:55.200 --> 07:58.170
这些记录被称为A记录､ AAAA记录､ CNAME记录､ MX记录､

07:58.170 --> 07:59.760
TXT记录和NS记录｡

07:59.760 --> 08:08.520
让我们快速浏览一下这些不同的记录类型｡

08:08.520 --> 08:09.600
首先, 我们有一个A记录,

08:09.600 --> 08:11.610
它代表一个地址记录｡

08:11.610 --> 08:15.210
A记录用于将主机名链接到IPv4地址｡

08:15.210 --> 08:19.350
例如, 有一个A记录为www｡  diontraining｡  com, 并将其链接到45的IP地址｡

08:19.350 --> 08:19.350
79. 184. 180.

08:19.350 --> 08:24.000
除此之外, 您还可以为@ host设置A记录,

08:24.000 --> 08:31.650
这表示路由域的记录｡

08:31.650 --> 08:34.350
在Dion Training的例子中, 我们的@

08:34.350 --> 08:36.930
record表示diontraining｡ com, 这是我们域的路由,

08:36.930 --> 08:41.430
将在某个IP上列出｡

08:41.430 --> 08:45.510
这样, 我们的用户可以通过访问www子域名找到我们的网站｡

08:45.510 --> 08:45.510
diontraining｡  com,

08:45.510 --> 08:51.180
或者只是去diontraining｡ 通过使用该A @记录｡

08:51.180 --> 08:54.060
现在, A记录只适用于IPv4地址,

08:54.060 --> 08:56.820
但许多现代网站也支持IPv6｡

08:56.820 --> 09:00.210
要将域名映射到IPv6地址,

09:00.210 --> 09:04.410
您将使用AAAA记录｡

09:04.410 --> 09:12.930
因此, 以Dion Training站点为例, 我可以将AAAA记录设置为2400：cb00：2049：1：：a29f：1804（如果这是我的Web服务器的IPv6地址）｡

09:12.930 --> 09:17.930
正如你所看到的, IPv6地址比IPv4复杂得多, 我们人类很难记住,

09:26.400 --> 09:36.300
这就是为什么我们喜欢使用这些AAAA记录, 或者4A记录｡

09:36.300 --> 09:39.630
我们可以使用的下一种记录类型称为CNAME记录,

09:39.630 --> 09:41.580
或规范名称记录｡

09:41.580 --> 09:43.650
现在, 如果要将域指向另一个域名或子域名,

09:43.650 --> 09:49.200
则使用CNAME记录代替AAAA记录的A记录｡

09:49.200 --> 09:52.230
例如, 除了diontraining,

09:52.230 --> 09:55.050
我还拥有很多不同的域名｡ com.

09:55.050 --> 09:58.020
其中一些是我以前的公司或我曾经运行的项目,

09:58.020 --> 10:00.120
还有一些是我计划在未来的某一天使用的,

10:00.120 --> 10:07.890
但与此同时, 我让它们设置了一个CNAME记录, 可以解析回diontraining｡

10:07.890 --> 10:07.890
com.

10:07.890 --> 10:18.570
例如, 我曾经运行过一个名为itil4exam的网站｡  com, 但我已经停止使用这个域名, 我已经将所有这些课程合并到我自己的diontraining｡

10:18.570 --> 10:18.570
com website.

10:18.570 --> 10:23.160
所以当我关闭旧的web服务器时, 我仍然想允许人们输入itil4exam｡

10:23.160 --> 10:23.160
com和到达的东西,

10:23.160 --> 10:25.380
而不仅仅是一个错误页面｡

10:25.380 --> 10:31.650
所以我用了一个CNAME记录直接指向diontraining｡

10:31.650 --> 10:31.650
com.

10:31.650 --> 10:33.510
我为什么要这么做？

10:33.510 --> 10:36.180
嗯, 我们在另一个地方呆了几年,

10:36.180 --> 10:37.542
与狄昂训练平行｡ com, 那里发布的许多链接都遍布互联网,

10:37.542 --> 10:45.060
其中推荐了我们在itil4exam上托管的课程｡

10:45.060 --> 10:45.060
com website.

10:45.060 --> 10:47.400
该网站上最受欢迎的课程之一是我们的ITIL 4基础课程,

10:47.400 --> 10:52.260
它位于itil4exam｡

10:52.260 --> 10:52.260
com/itil-4-foundation.

10:52.260 --> 10:54.000
现在, 如果你在浏览器中输入这个命令,

10:54.000 --> 11:01.680
它就会解析itil4exam｡ com部分到diontraining. com, 并直接带你到diontraining.

11:01.680 --> 11:01.680
com/itil-4-foundation.

11:01.680 --> 11:11.000
这意味着, 即使你使用的是几年前在Reddit上找到的推荐我们课程的链接,

11:11.550 --> 11:17.790
它仍然会起作用, 并将你带到我们的销售页面, 即使最初的itil4exam｡

11:17.790 --> 11:17.790
com服务器甚至不再处于服务状态,

11:17.790 --> 11:20.070
并且已脱机｡

11:20.070 --> 11:25.950
使用CNAME记录的另一个用例是当您使用软件即服务产品时,

11:25.950 --> 11:28.380
该产品在其服务器上为您提供子域｡

11:28.380 --> 11:30.630
例如, 我使用的是一款名为Freshdesk的服务台票务跟踪软件,

11:30.630 --> 11:33.240
它来自Freshdesk｡ com, 他们给了我们一个很难记住的子域,

11:33.240 --> 11:42.060
比如FDUS-143-D15｡

11:42.060 --> 11:42.060
freshdesk｡  com.

11:42.060 --> 11:42.960
因此, 为了让我的员工更容易找到我们的支持服务台,

11:42.960 --> 11:47.160
我们创建了一个名为Support的CNAME记录,

11:49.050 --> 11:52.170
并将其指向这个难以记住的子域｡

11:52.170 --> 11:54.840
所以如果我的员工进入支持｡  diontraining｡  com, 它会把它们直接带到我们的支持系统, 这个系统实际上会把我们重定向到这个云实例,

11:54.840 --> 12:03.330
这个云实例是由Freshdesk发布的子域提供的｡

12:03.330 --> 12:09.480
请记住, CNAME记录不能用于指向IP地址｡

12:09.480 --> 12:13.710
它只能用于指向另一个域名或子域名｡

12:13.710 --> 12:15.030
接下来, 我们有一个MX记录,

12:15.030 --> 12:19.890
它代表邮件交换记录, 它可以做你认为它会做的事情｡

12:19.890 --> 12:21.930
它可以帮助你找出电子邮件服务器在哪里｡ 

12:21.930 --> 12:23.670
MX记录用于将电子邮件定向到邮件服务器｡ 

12:23.670 --> 12:26.370
MX记录, 如CNAME记录,

12:26.370 --> 12:30.360
只能用于指向另一个域, 而不是IP地址｡

12:30.360 --> 12:38.340
当您创建MX记录时, 您还可以为这些记录中的每一个提供优先级｡

12:38.340 --> 12:42.030
这可以让您指出您的首选项的服务器的电子邮件应尝试使用第一｡

12:42.030 --> 12:43.770
在设置优先级时, 输入的数字越低,

12:43.770 --> 12:48.900
优先级越高｡

12:48.900 --> 12:50.490
基本上就是高尔夫规则｡ 

12:50.490 --> 12:52.140
所以如果我们有邮件1｡  diontrainf. com设置为10,

12:52.140 --> 12:57.720
mail2｡ diontraining｡  com设置为20的优先级, 电子邮件将尝试使用邮件一第一｡

12:57.720 --> 13:01.140
如果它无法到达邮件1,

13:01.140 --> 13:04.200
那么它将尝试到达邮件2｡

13:04.200 --> 13:05.700
现在, 如果你想在多个服务器上平衡你的邮件,

13:05.700 --> 13:09.960
你只需要将它们的优先级设置为相同的值｡

13:09.960 --> 13:11.640
因此, 如果我为邮件1和邮件2创建记录,

13:11.640 --> 13:19.770
并且它们的优先级都为10, 则所有传入的电子邮件都将在这些服务器之间交替并均衡负载｡

13:19.770 --> 13:21.990
第一个是1, 第二个是2,

13:21.990 --> 13:24.240
第三个是1, 第四个是2,

13:24.240 --> 13:26.820
以此类推｡

13:26.820 --> 13:28.050
接下来, 我们有TXT记录, 或文本记录｡ 

13:28.050 --> 13:33.720
现在, 域管理员使用文本记录将文本添加到域名系统或DNS中｡

13:33.720 --> 13:36.120
最初, 文本记录被设计为一种方式,

13:36.120 --> 13:39.810
让我们将人类可读的注释添加到我们的DNS记录中,

13:39.810 --> 13:53.970
随着时间的推移, 这些东西开始添加到这些文本记录中, 最终, 我们开始将机器可读的数据添加到这些文本记录中, 这就是你这些天主要看到的地方｡

13:53.970 --> 13:57.990
你的域名也可以有很多不同的文本记录｡

13:57.990 --> 13:59.160
你不局限于其中之一｡ 

13:59.160 --> 14:05.100
大多数情况下, 您会看到文本记录用于通过添加一些机器可读代码进行验证来证明域所有权,

14:05.100 --> 14:09.420
并通过向TXT记录添加特定的机器可读代码来提供垃圾邮件预防｡

14:09.420 --> 14:15.990
例如, 在Diontraining｡  com我们有一个叫fdkey的短信记录

14:15.990 --> 14:15.990
支持,

14:15.990 --> 14:21.820
以及我们的DNS记录中的32个十六进制数字的纹理｡

14:21.820 --> 14:26.970
这允许我们的支持系统Freshdesk验证我们拥有域名diontraining｡

14:26.970 --> 14:26.970
com,

14:26.970 --> 14:34.712
所以他们被授权代表我们向我们的学生发送电子邮件, 当我们的团队在他们的系统内回复支持票时｡

14:34.712 --> 14:39.870
这是一种域所有权验证的形式, 因为他们的系统可以查询我们的DNS记录,

14:39.870 --> 14:45.240
并看到我们在DNS TXT记录中输入了这一系列独特的32个十六进制数字｡

14:45.240 --> 14:47.130
本质上, 它的工作原理就像一个密码说,

14:47.130 --> 14:55.348
“嘿, 我拥有这个域名｡ 在您的TXT记录中, 您还可以将SPF､ DKIM或DMARC消息等信息放入,

14:55.348 --> 15:04.950
以便能够帮助验证您的电子邮件服务, 并阻止将欺骗或不需要的消息（称为垃圾邮件）传输给使用您的域和电子邮件地址的其他人｡

15:04.950 --> 15:06.535
SPF或发件人策略框架,

15:06.535 --> 15:15.300
这是一个DNS记录, 它标识了被授权为域发送邮件的主机,

15:15.300 --> 15:18.300
每个域只允许一个主机｡

15:18.300 --> 15:19.920
现在, 当你看它们的时候, 你会看到这样的东西,

15:19.920 --> 15:22.800
这是一个DNS记录, 叫做文本记录｡

15:22.800 --> 15:24.480
您会注意到它有@符号, 然后说V=

15:24.480 --> 15:27.240
SPF 1, 这是发送方策略框架1｡

15:27.240 --> 15:31.350
这是第一个

15:31.350 --> 15:34.980
然后它有MX, 这是邮件服务器记录, 然后它说包括：_SPF｡

15:34.980 --> 15:34.980
Google. 包括：电子邮件｡

15:34.980 --> 15:37.830
freshdesk｡  com-all｡ 

15:37.830 --> 15:41.520
这说明了什么

15:41.520 --> 15:46.200
这实际上是我的电子邮件服务器的SPF记录｡ 

15:46.200 --> 15:47.700
为什么我们有Google com在？

15:47.700 --> 15:53.640
这是因为我们使用谷歌的G Suite, 所以谷歌是我们的电子邮件服务提供商｡

15:53.640 --> 15:55.620
我们不运行自己的电子邮件服务器｡ 

15:55.620 --> 15:57.600
相反, 我们让他们这样做, 我们已经授权他们这样做,

15:57.600 --> 16:00.330
他们被授权代表我们发送电子邮件,

16:00.330 --> 16:02.100
包括SPF声明｡

16:02.100 --> 16:04.052
现在, 第二个, 你可能想知道,

16:04.052 --> 16:06.510
“这是干什么的？

16:06.510 --> 16:07.343
我以为你只能喝一杯｡  你只能有一个SPF语句,

16:07.343 --> 16:10.440
但是在DNS中写的时候,

16:10.440 --> 16:12.960
这整个东西是一行, 从文本到所有的东西都是一行,

16:12.960 --> 16:16.560
这是一个SPF语句｡

16:16.560 --> 16:19.230
我可以授权多个服务器以我的名义发送, 但我只能在一个DNS行中完成,

16:19.230 --> 16:24.930
如您所见, Freshdesk是我们的故障单系统｡

16:24.930 --> 16:28.710
如果你给Dion Training发邮件支持, 它会转到Freshdesk,

16:28.710 --> 16:34.770
但是如果你给Dion Training发邮件我的个人邮件,

16:34.770 --> 16:44.940
它会转到Google, 因为那是为我们公司处理个人邮件的人, 所以你必须在这份声明中代表你授权发送的任何其他东西中包括这两个｡

16:44.940 --> 16:46.592
现在, 我们需要谈论的下一件事是DKIM, 或dkim｡ 

16:46.592 --> 16:48.660
现在, 这是域密钥识别邮件｡ 

16:48.660 --> 16:55.020
这为使用作为DNS记录发布的公钥的邮件提供了加密身份验证机制｡

16:55.020 --> 16:57.660
现在, 当你查找SPF或DKIM时,

16:57.660 --> 17:01.252
你会看到这样的东西｡

17:01.252 --> 17:03.960
这里有一个例子向你展示adobe的邮件｡  com.

17:03.960 --> 17:05.339
你可以看到顶部的DMARC,

17:05.339 --> 17:08.910
我们一会儿会谈到, 你会看到SPF,

17:08.910 --> 17:13.800
我们刚刚谈到, 然后你会看到DKIM, 这就是我们现在谈论的｡

17:13.800 --> 17:14.700
它基本上是一个很长的加密认证密钥,

17:14.700 --> 17:16.200
你可以在屏幕上看到它｡

17:16.200 --> 17:19.440
现在, DKIM可以替代SPF或与SPF一起使用｡ 

17:19.440 --> 17:21.510
下一个我们要讨论的是DMARC,

17:21.510 --> 17:28.410
DMARC是基于域的消息身份验证报告和一致性｡

17:28.410 --> 17:32.430
这基本上是一个框架, 这个框架用于确保SPF和DKIM的正确应用,

17:32.430 --> 17:33.870
利用作为DNS记录发布的策略,

17:33.870 --> 17:43.860
我在屏幕上的最后一张图片中向您简要展示了这一点, 当时我向您展示了DMARC作为该图片的顶行｡

17:43.860 --> 17:47.190
如果你想回去看看, 你可以在这个时候｡

17:47.190 --> 17:48.690
现在, 当你处理DMARC时,

17:48.690 --> 17:50.340
你可以使用SPF, DKIM,

17:50.340 --> 17:51.720
或者两者都用, 因为记住,

17:51.720 --> 17:55.890
SPF和DKIM不一定要一起使用｡

17:55.890 --> 17:56.723
您可以使用其中一个或另一个,

17:56.723 --> 17:58.830
或者您可以使用两者, DMARC将与另一个或两者一起使用｡

17:58.830 --> 18:01.020
现在, 当你处理MARC时,

18:01.020 --> 18:03.867
它看起来是这样的｡

18:03.867 --> 18:05.670
那么, 所有这些是如何一起工作的呢？

18:05.670 --> 18:08.842
首先, 您必须确保您的SPF, DKIM和DMARC都在DNS服务器上｡

18:08.842 --> 18:12.180
一旦你有了所有这些记录,

18:12.180 --> 18:15.720
这就是整个过程的开始｡

18:15.720 --> 18:17.160
现在, 一旦你这样做了一次, 其他的一切都会跟进,

18:17.160 --> 18:20.321
每次你想发送一个消息｡

18:20.321 --> 18:22.320
在本例中, 我们将发送两条消息,

18:22.320 --> 18:24.540
一条来自SMTP服务器, 该服务器已被授权并显示为绿色,

18:24.540 --> 18:30.960
另一条来自试图欺骗您的域的对手, 该消息将显示为红色｡

18:30.960 --> 18:33.690
先从授权的开始｡ 

18:33.690 --> 18:35.280
在这里, 它被列为2A｡ 

18:35.280 --> 18:37.350
你的发信人会把这条信息发给MTA｡ 

18:37.350 --> 18:39.030
它会到达MTA, 也就是您的邮件传输代理,

18:39.030 --> 18:45.630
它最终会接收包含SPF或DKIM报头的邮件｡

18:45.630 --> 18:47.340
现在, 让我们坚持这个信息一分钟,

18:47.340 --> 18:49.700
然后我们会回到对手｡

18:49.700 --> 18:51.810
一旦MTA收到这条消息,

18:51.810 --> 18:53.640
它就会继续查看这条消息,

18:53.640 --> 18:55.455
并处理这条消息｡

18:55.455 --> 19:02.100
当它这样做时, 其中一部分将通过DNS查找发送方DMARC策略和SPF和DKIM记录,

19:02.100 --> 19:05.430
就像我们在过去三四分钟里讨论的那样｡

19:05.430 --> 19:07.380
现在, 一旦MTA这样做, 如果它是合法的,

19:07.380 --> 19:09.330
该消息可以放置到IMAP服务器上的接收者的邮箱中,

19:09.330 --> 19:15.360
并等待该人能够使用他们的邮件用户代理阅读他们的消息｡

19:15.360 --> 19:17.790
这很好, 因为他们知道这条消息是真实的,

19:17.790 --> 19:20.310
因为它根据设置的策略将这些值与SPF､

19:20.310 --> 19:22.740
DKIM或DMARC进行了比较｡

19:22.740 --> 19:25.897
现在, 如果我们从另一方面来看对手, 当他们发送消息时, 它仍然会到达MTA,

19:25.897 --> 19:31.020
因为它必须到达MTA才能到达最终用户｡

19:31.020 --> 19:33.205
但是, 一旦它到达那里, MTA将检查它与DMARC策略,

19:33.205 --> 19:37.350
查看SPF或DKIM记录｡

19:37.350 --> 19:40.110
一旦它这样做了, 如果它们不匹配, 它就会拒绝该消息,

19:40.110 --> 19:42.600
删除它, 或者隔离它, 然后将其丢弃,

19:42.600 --> 19:45.990
正如您在5B中看到的那样｡

19:45.990 --> 19:48.210
同样, 这就是这些东西的工作方式, 通过一起使用DKIM, DMARC和SPF,

19:48.210 --> 19:52.110
我们可以为我们的组织增加一些安全性｡

19:52.110 --> 19:55.740
最后, 我们有一个NS记录,

19:55.740 --> 19:58.910
它代表名称服务器记录｡

19:58.910 --> 20:05.730
现在, 名称服务器记录用于指示世界上哪个DNS名称服务器将成为该域的权威服务器｡

20:05.730 --> 20:08.550
这一点很重要, 因为DNS使用我们讨论过的层次模型,

20:08.550 --> 20:16.620
所有服务器都需要知道谁拥有该记录, 并有权对其进行更改｡

20:16.620 --> 20:18.900
现在, 域名服务器是一种DNS服务器,

20:18.900 --> 20:20.550
它存储给定域的所有DNS记录,

20:20.550 --> 20:22.855
包括我们已经讨论过的所有类型, 如A记录,

20:22.855 --> 20:28.800
AAAA记录, 规范名称记录, MX邮件交换记录和TXT文本记录｡

20:28.800 --> 20:36.780
通常一个域名也有多个域名服务器, 所以你可以有一个主域名服务器和一个备份域名服务器｡

20:36.780 --> 20:42.960
此外, 您不必总是托管自己的名称服务器｡

20:42.960 --> 20:45.930
在diontraintraining的案例中｡  com, 我们不托管自己的域名服务器｡

20:45.930 --> 20:47.670
相反, 我们依赖Cloudflare,

20:47.670 --> 20:49.410
这是一个为我们做这件事的云服务提供商｡

20:49.410 --> 20:57.870
所以如果你查一下diontraining的DNS记录｡  com, 权威的来源是Cloudflare的两个名称服务器｡

20:57.870 --> 21:04.950
到目前为止, 我已经从托管一个世界上任何人都可以访问的公共可用DNS服务器的角度讨论了DNS,

21:04.950 --> 21:08.250
但DNS实际上可以在内部或外部使用｡

21:08.250 --> 21:10.230
到目前为止, 我所讲的一切都是关于外部的,

21:10.230 --> 21:16.380
但让我们谈谈内部｡

21:16.380 --> 21:28.350
如今, 在云计算中, 设置内部DNS服务也很常见, 该服务可以让同一网络或私有云中的云实例使用内部DNS名称而不是使用其IP地址进行相互访问｡

21:28.350 --> 21:36.960
要做到这一点, 需要创建内部A记录, 并且在反向区域中也要创建内部指针记录｡

21:36.960 --> 21:43.980
幸运的是, 大多数云提供商将在您创建和删除私有云中的不同虚拟机和其他实例时自动创建,

21:43.980 --> 21:46.800
更新和删除这些内部DNS记录｡

21:46.800 --> 21:51.930
然而, 外部DNS是我们大多数人都会更熟悉的｡

21:51.930 --> 21:55.710
这些记录是围绕我们从中央机构购买的域名创建的,

21:55.710 --> 21:58.830
并且我们在公共互联网上使用｡

21:58.830 --> 21:59.970
现在, 对于每个DNS记录,

21:59.970 --> 22:02.130
我们也有一个与之相关的TTL或生存时间｡

22:02.130 --> 22:09.060
生存时间是一个设置, 告诉DNS解析器在请求新查询之前可以缓存查询多长时间｡

22:09.060 --> 22:12.060
因此, 如果我的DNS记录设置为86,

22:12.060 --> 22:15.540
400秒的生存时间, 这通常是默认值,

22:15.540 --> 22:18.390
这意味着我的计算机将解析该DNS记录,

22:18.390 --> 22:27.720
并且在必须返回DNS服务器并再次请求该信息之前, 它将记住它24小时｡

22:27.720 --> 22:30.090
此DNS解析器也称为DNS缓存,

22:30.090 --> 22:32.160
位于您的个人主机上｡

22:32.160 --> 22:37.410
因此, 如果您运行的是Windows 10, 例如, 您的计算机在连接到互联网上的网站时,

22:37.410 --> 22:41.610
会为它解析的每个DNS条目创建本地副本｡

22:41.610 --> 22:46.680
这个临时数据库会记住它从DNS服务器收到的答案｡

22:46.680 --> 22:52.980
所以如果你去狄昂训练｡  com, 你今天第一次这样做时, 你的计算机必须向DNS服务器询问该IP地址,

22:52.980 --> 22:57.720
但现在它知道它在哪里, 并且在接下来的24小时内记住该IP｡

22:57.720 --> 22:59.550
如果你今天访问我的网站五次,

22:59.550 --> 23:02.370
你只需要查找一次那个IP地址｡

23:02.370 --> 23:04.620
这有助于我们加快整个过程｡ 

23:04.620 --> 23:07.110
现在, 如果你明天再试一次, 你的电脑会首先检查它的DNS缓存,

23:07.110 --> 23:11.010
它会看到那里有一个记录｡

23:11.010 --> 23:13.590
但是如果生存时间已经过去,

23:13.590 --> 23:15.270
它将使该记录无效,

23:15.270 --> 23:17.520
并执行另一次查找｡

23:17.520 --> 23:20.910
最后我们需要介绍的是递归查找的概念｡

23:20.910 --> 23:24.690
你看, 当你的电脑想找到一个给定的网站, 如diontraining｡

23:24.690 --> 23:24.690
com,

23:24.690 --> 23:26.400
它首先必须询问其DNS服务器所在的位置｡

23:26.400 --> 23:28.560
因此, 如果你坐在家里使用Verizon

23:28.560 --> 23:33.210
Fios连接, 例如, 你会问他们的DNS服务器,

23:33.210 --> 23:39.510
“谁是diontraining｡ com？ 现在, Verizon的DNS可能知道也可能不知道diontraining的IP地址｡

23:39.510 --> 23:39.510
com.

23:39.510 --> 23:44.220
毕竟, 有数以百万计的网站, 如果他们必须每24小时重新同步我们的记录,

23:44.220 --> 23:46.200
那将需要很长时间｡

23:46.200 --> 23:51.900
因此, DNS使用这种递归策略来执行查找｡

23:51.900 --> 23:55.350
所以你问Verizon, 如果他们不知道答案, 他们会更上一层楼,

23:55.350 --> 23:56.610
问下一个DNS服务器｡

23:56.610 --> 23:59.850
如果该服务器不知道答案, 它将上升到另一个级别, 并将继续这个过程,

23:59.850 --> 24:05.520
直到找到知道diontraining的IP地址的人｡

24:05.520 --> 24:05.520
com.

24:05.520 --> 24:07.654
现在, 如果在这个递归过程中,

24:07.654 --> 24:13.740
它一直到达｡ com或diontraining的路由域｡  com, 然后它可以问｡

24:13.740 --> 24:13.740
com路由服务器哪个DNS服务器是diontrain的权威｡

24:13.740 --> 24:19.170
com, 并直接从他们那里获得权威答案｡

24:19.170 --> 24:22.530
本质上, 使用递归查找,

24:22.530 --> 24:25.320
您的DNS解析器说, “我不知道这个域的IP是什么,

24:25.320 --> 24:28.777
但我要问我的DNS服务器, 该服务器将搜索它,

24:28.777 --> 24:32.910
直到找到它, 然后告诉我IP｡

24:32.910 --> 24:32.910
现在,

24:32.910 --> 24:37.140
还有另一种方法可以使用, 这就是所谓的迭代查找｡

24:37.140 --> 24:43.530
使用迭代查找, 它类似于递归查找, 除了DNS服务器不会继续为您查找信息并将结果发送给您｡

24:43.530 --> 24:48.840
相反, 在迭代查找中, 您的DNS解析器将询问DNS服务器该域的IP是什么,

24:48.840 --> 24:50.730
如果DNS服务器不知道,

24:50.730 --> 24:57.390
它将告诉您的解析器询问下一个DNS服务器, 该服务器将提供其IP｡

24:57.390 --> 25:02.820
现在, 使用递归查找, DNS服务器将查找它并向解析器报告,

25:02.820 --> 25:12.540
但是使用迭代查找, 您的DNS解析器将通过此递归一直执行此查询, 直到找到具有该域的IP的DNS解析器,

25:12.540 --> 25:17.310
所以这实际上只是谁在搜索此信息的问题｡

25:17.310 --> 25:19.770
好了, 我们已经在这节课上讲了很多信息,

25:19.770 --> 25:20.909
所以作为一个快速总结,

25:20.909 --> 25:23.670
你需要知道什么考试？

25:23.670 --> 25:28.260
那么, 你需要了解DNS是如何工作的, 通过使用它的各种记录类型将域名转换为IP地址,

25:28.260 --> 25:30.463
并将IP地址转换为域名｡

25:30.463 --> 25:39.213
您应该记住, A记录用于IPv4地址的域名, 而AAAA记录用于IPv6地址的域名｡

25:39.213 --> 25:45.840
CNAME记录用于将域名映射到其他域名｡

25:45.840 --> 25:49.530
MX记录用于电子邮件, NS记录用于名称服务器｡

25:49.530 --> 25:53.910
TXT记录将文本存储为人类可读或机器可读的数据｡

25:53.910 --> 25:59.850
如果你记住了这个总结, 你应该能够回答你将在考试中看到的大部分DNS问题｡
