培训Cisco 200-125 CCNA v3.0。 第28天。深入研究ACL

今天,我们将在第27天继续视频教程的主题,并对ACL进行深入研究:我们将讨论通配符掩码反向掩码,扩展的ACL列表,设置扩展的ACL列表以及有助于诊断网络设计问题的命令。
在上一课中,我们为我们介绍了一个新的反向掩码概念,现在我将更详细地讨论通配符掩码。 如果您还记得的话,子网掩码可以帮助我们直观地将网络分为网络的地址部分和主机的地址部分。



如果转到位级别,则可以看到子网掩码由表示网络部分的一系列单元和指示主机部分的一系列零组成。 反向掩码与子网掩码非常相似,只是采用“反转”形式-子网掩码中包含单位,反向掩码中包含零,反之亦然。 这不是强制性规则-在某些情况下,反掩码是根据不同的原理形成的;在学习CCNA时,该规则始终适用。

计算逆掩码的最佳方法是从全局掩码中减去子网掩码八位字节,该字节看起来总是255.255.255.255。
因此,要计算子网掩码255.255.255.0的逆掩码,我们只需从全局掩码中减去它即可得到0.0.0.255。



在此示例中,我们查看了网络192.168.100.255/24,现在让我们查看网络/ 26。 如果具有/ 26,则子网掩码的最后一个八位位组将为192。



如果查看这些IP地址的位形式,则会看到子网掩码包含26个单比特和6个零比特。



在这种情况下,反向掩码应包含26个零和6个单位。 正如我们已经说过的,位于0的位置显示匹配的地址参数,而位于单位的位置则可以忽略。



为了更清楚一点,我将IP地址以十进制形式写在顶部。 反掩码的最后一个八位位组对应于数字63,我可以将其显示为0.0.0.63。 简而言之,/ 26表示26个零或IP地址的前3个八位位组是相同的,而后6位可以是任意值-零或一。



参见-如果将IP地址的最后6位替换为零,则得到数字192,如果得到的则得到数字255。因此,反向掩码显示具有IP地址的子网的最后一个八位位组在192到255之间的子网。 ,即网络192.168.100.225/26的一部分,受指定的ACL条件约束。

您可能会问为什么需要两个掩码:子网掩码和通配符掩码。 我自己还是个学生的时候就问过这个问题,但即使在思科工作的人也很多。 我会尽力回答。 通常,子网掩码和反向掩码在涉及子网时会显示相同的内容,即,表示网络的IP地址的一部分。 当我们识别整个网络时,反掩码只是直接掩码的“反转”版本。

但是,主机标识是不同的。 如果要标识包含所有地址的整个子网,则可以使用子网掩码。 但是,如果您只需要从该网络中识别出几台主机,以便有选择地对它们应用ACL规则,则需要使用反向掩码。

您将永远不会看到由1和0交替组成的子网掩码-它始终以单位开头和结尾为零。 通配符因此可以称为“通配符”,因为它可以由任何一个1和0序列组成。 为了更清楚地说明,让我们解决问题:“确定给定网络上第四个八位位组中具有偶数的主机。”



创建此类型的ACL规则是必需的:允许192.168.100.0 <反向掩码>,即,该子网的IP地址将只允许包含第四个八位位组的流量通过。 可以使用子网掩码完成此操作吗? 我不这么认为,因为常规子网掩码的第四个八位字节只能包含一个特定的数字。 让我们看一个4字节的逆掩码。



在反掩码的最后一个八位位组中,可以放置以下位:11111110。我将解释它的含义。 如果第四个八位位组包含偶数,则八位位组的最后一位必须为0,如果最后一位为1,则数字为奇数。 如果我们谈论的是/ 24子网,那么只有其中的最后一个八位位组可以包含偶数。

在使用反向掩码的情况下,前三个八位位组为0,而第四个八位位组的前七个位不会打扰我们,主要的是八位位组的第八位为零,因为它必须与网络IP地址的最后一个八位位组为0一致。

如果IP地址的最后一位为1,则该地址将被拒绝,现在我将条件添加到我们的ACL中-拒绝任何。 因此,只有当子网的任何IP地址的最后一个八位位组以0结尾(即为偶数)时,我们才能满足匹配反向掩码的条件,该条件也以0结尾,并且ACL条件“允许所有地址以偶数第4个八位组为准”会满意的。 否则,即对于所有奇数IP地址,拒绝任何条件都将适用。

因此,我们不在乎偶数个八位字节的确切值是-2,4,6,8,依此类推,主要是它的末尾将为零。 如果使用常规子网掩码,则需要为每个具有偶数第4个八位字节的IP地址创建一个单独的条目。 使用反掩码可以将所有这些条目替换为一个。
完全相同的原理适用于第4个八位位组的奇数,在这种情况下,反向掩码的最后一位应为1。在这种情况下,将为子网的所有IP地址具有奇数的4建立通用规则,允许或拒绝。八位位组。 查看此十进制示例的外观。



如果使用反向掩码0.0.0.254,则将解决我们的问题:允许所有具有偶数第四个八位字节的主机,而禁止所有其他主机。 反向掩码的优点是,在创建ACL时,可以对其进行配置以适合您的需求。 您不必担心特定的反向蒙版,因为CCNA不需要这样做。 只需记住规则即可:当从全局掩码255.255.255.255中删除子网掩码时,将获得反向掩码。 请注意,CCNA课程的重点更多是子网而不是主机。

让我们回到上一张幻灯片,我将讨论另一种计算通配符掩码的方法。



如果您还记得我们的“魔术”表,则/ 26表示位块的大小等于64。如果该块为64,则反向掩码的最后一个八位位组将具有值(64-1)= 63。 如果我们有/ 25,则块大小将为128,这意味着反掩码的最后一个八位位组将为(128-1)= 127。 这是另一个有助于反掩码值计算的提示。 但是,如果您不想使用它,请使用通常的方法,从全局掩码中减去子网掩码。

现在,让我们继续扩展ACL命令的语法。 与标准ACL一样,命令记录有两种类型:经典和现代。



经典命令是条目访问列表<ACL号> <禁用/允许> <协议>。 因此,第一扩展ACL命令与标准ACL命令的不同之处在于,它指定了协议而非标准。 这意味着此处的流量不是按源或目标的IP地址过滤的,而是按所使用的协议过滤的。
在所有情况下,我们都使用三种类型的IP协议:ICMP(即我们已知的ping),TCP(取决于特定端口21,23等)和UDP。 让我提醒您,Wikipedia上有一篇文章,其中列出了所有协议及其对应的端口号。
以下是命令行<源IP> <反向掩码> [协议信息]。 协议信息意味着指定端口号。 也就是说,在上一个命令中将<protocol>指定为ICMP,TCP或UDP,在第二个命令中将参数[protocol information]指定为端口号21.23,以此类推。

命令的第三行是<目标IP> <反向掩码> [协议信息],即有关目标的参数。

如果您还记得以前的课程,则源端口号是一个随机数,因为发送流量的设备为此创建了一个随机数端口。 在这一点上,在有关流量源的第一行中,指示目的地的[协议信息],例如FTP,即要阻止其流量的设备的协议。

让我提醒您,为了更改经典类型的扩展ACL列表,您必须手动重新形成整个列表,就像经典类型的标准ACL一样。

具有现代风格的团队从ip表达式开始,它与IP协议无关,它只是一个关键字。 因此,第一行包含ip关键字,“ extended access-list”参数和ACL的编号或名称。 执行完第一条命令后,您将切换到config-ext-nacl子命令模式,并输入<disable / allow> <protocol>,如上所述。

以下是两个命令<源IP> <反向掩码> [协议信息]和<目标IP> <反向掩码> [协议信息],第一个通常忽略[源协议信息]参数,而忽略[协议信息]参数目的地]。 有时可能需要指定源端口,但是在CCNA中,在大多数情况下,可以忽略此参数。

使用扩展ACL与使用标准ACL相似。 在这里,您还需要指定要应用列表的设备的接口,然后使用ip access-group参数,ACL列表号或名称以及流量方向-入站或出站。 在上一个视频中,我们已经讨论了如何确定特定端口的流量方向。

让我们继续该方案,并使用上一课中的网络拓扑配置高级ACL。 问题编号1是:“管理部门网络和财务部门网络中的计算机只能通过HTTP(80)和FTP(21)协议访问位于服务器网络上的Server0服务器。”



同时,并非所有流量都被允许,而是仅允许来自端口80和21的流量(例如,通过SSH协议的流量)被阻止。 如果您还记得,扩展ACL应该应用到更靠近源的地方,因此对于管理部门,应该将其应用到路由器R1的端口G0 / 0,并考虑到路由器R2的端口G0 / 0。 关于路由器,我们阻止传入流量,因此我们在list命令中使用IN参数。 将ACL分配给列表编号101,并使用经典方法列出应包含的行的列表。



第一行允许使用TCP,因为HTTP端口80表示TCP,然后我们指示管理部门的网络192.168.1.224/28。 在此示例中,我省略了反向掩码,我们在Packet Tracer中使用了它,到目前为止,列表形成的原理对我们很重要。 管理网络是流量的源,其后指示了目标IP地址192.168.1.194/32,其中194是Server0地址的最后一个八位位组,/ 32表示该条件仅适用于位于192.168.1.192/27子网上的该特定设备。 在该行的末尾,我们指示了用于HTTP流量的允许的目标端口80。

以相同的方式,为端口21创建了一个条目,该条目用于传输FTP流量。 我没有写第三行,默认情况下它看起来像拒绝任何一条,并禁止来自不属于该子网的设备的任何传出流量。 接下来,必须指定将列表沿IN方向应用于R1的G0 / 0端口,即用于传入流量。

我们在为财务部门编译ACL Allow_Acc条目,允许来自端口80和21的TCP流量并将此列表应用于路由器R2的G0 / 0输入接口时执行相同的操作。



问题2是:“销售部门网络中的计算机只能在服务器网络上的Server1上使用除PING(ICMP)以外的所有协议。” 这意味着为了与服务器进行通信,销售部门的计算机可以使用HTTP,SSH,FTP协议-除ICMP之外的任何协议。 在这种情况下,ACL条件列表将如下所示。



在第一行中,我们禁止通过ICMP的所有流量,将特定条件放在列表顶部,将常规条件放在列表末尾。 该记录显示销售部门子网标识符192.168.1.0/25,特定服务器1服务器的IP地址是192.168.1.195/32。 echo参数表示ping形式的流量,即应拒绝发送到服务器以返回计算机的数据包。

第二行允许所有其他流量从192.168.1.0/25子网到服务器地址192.168.1.195/32。 像往常一样,在列表的末尾,默认行是“拒绝任何”,这意味着如果销售部门的计算机尝试与财务部门联系,则此类流量将被丢弃。 接下来,我们指示应将ACL应用于哪个路由器接口,第二个问题已解决。

任务3是:“销售2便携式计算机Laptop2和财务部门PC0可以访问管理0便携式计算机Laptop0。” 假定这些设备由销售和会计部门负责人管理,他们可以与位于管理部门的CFO的CFO进行通信。 但是,对使用的协议(包括ICMP)没有任何限制。

我们已经将三个ACL应用于在图中用红色圆圈圈出的接口。 笔记本电脑2目前无法联系笔记本电脑0,因为这与问题3的条件相矛盾。



要在这两个设备之间进行通信,必须在Allow_Sa ACL中添加其他条件。



同样,您需要向Allow_Acc ACL添加条件,以便PC0可以自由联系Laptop0。



在两个列表中,我们都添加了带有“允许IP”参数的行,这意味着允许通过任何IP协议进行通信。

如您所知,ICMP使用双向流量:您发送ping,然后echo返回它。 在我们的情况下,如果Laptop2解决了Laptop0的ping,流量将自由流入管理部门的网络。 但是,将包裹退回销售部门的笔记本电脑时,它将转到ACL 101处于活动状态的R1路由器的G0 / 0接口。由于回程流量不符合此列表中的任何条件,因此将被阻止。 因此,我们需要在ACL101列表中添加解析条件,以便从销售部门的Sales2便携式计算机2 ping通和从财务部门的PC0计算机ping通。



我们已经解决了任务3,现在继续解决问题4:“ Sales3便携式计算机Laptop3只能通过服务器1上的端口80访问其自己的SALES网络和Web服务”。

任务的第一部分意味着,一旦Laptop3尝试离开SALES网络,其流量将被R2路由器阻止。 但是,根据任务的第二部分,此计算机必须可以访问位于SALES网络外部的Web服务。 这意味着除定向到服务器的流量外,所有流量均被阻止。

从前面的任务中,我们知道来自销售部门的流量是由Allow_Sa ACL调节的,该ACL应用于R2路由器的G0 / 1输入接口。 因此,我们需要更改此列表,首先将以下类型的行“允许TCP通过端口80传递到服务器1”添加到该列表中:允许TCP 192.168.1.3/32 192.168.1.195/32 80



第一行表示任何HTTP流量都到达服务器,第二行拒绝IP 192.168.1.3/32 any表示其余流量(例如来自Laptop3的FTP)将被丢弃。 此外,我们保留了前一个ACL的以下三行,从而解决了问题4。

我已经说过,我建议您在纸上写下这些问题的解决方案或在计算机上手动键入,因为它们会更改,在纸上或计算机上,您始终可以添加,删节或删除行。 我提请您注意以下事实:如果您仅在ACL的末尾将解决方案添加到第四个问题,则添加两行,系统将忽略它们,因为上面的条件吸收了这些规则。 由于旧列表的第二行允许所有流量,因此根本无法满足位于列表末尾的“拒绝IP”条件192.168.1.3/32。

因此,正确的ACL条目顺序至关重要。 首先,您应该建立一个逻辑操作链,并排列线,以使它们彼此之间不矛盾。 现在,让我们进入Packet Tracer,并根据解决方案完成所有设置。



让我们从第一个路由器Router1开始配置。 我使用show access-list命令显示ACL当前丢失。 接下来,使用show ip route命令,表明两个路由器之间的RIP已经配置并且可以工作。

让我们转到Laptop0并在192.168.1.195上ping Server1。 如您所见,由于我们没有任何禁止或过滤流量的ACL,因此ping操作成功。 我还可以ping Server0。

现在,我们进入路由器Router1,进入全局设置模式并创建ACL 101列表。为此,我输入命令access-list 101 allow tcp。 请注意,系统会提示该命令中除tcp外还可以使用哪些参数值。



esp, icmp, osfp . CCNA ip, ismp, tcp udp.

, access-list 101 permit tcp 192.168.1.224. /28 16 , 0.0.0.15.

28 4 , 1 , 128, 2 – 64, – 32, 4 16, , (16-1) =15. , . , host IP-, : access-list 101 permit tcp 192.168.1.224 0.0.0.15 host 192.168.1.194.

, , , .



dscp, , eq, , gt – , , lt – .. , eq. .



0 65535, , . FTP 21, SMTP – 25, www – HTTP- 80. 80.
do show run , , 80 www. , , 80 21: access-list 101 permit tcp 192.168.1.224 0.0.0.15 host 192.168.1.194 eq 21.

ICMP-, . access-list 101 permit icmp. host, , IP- 192.168.1.226 0.0.0.0, , . host IP- Laptop2 – 192.168.1.2. – , .



, echo-replay. , . : access-list 101 permit icmp192.168.1.226 0.0.0.0 host 192.168.1.2 echo-replay. : access-list 101 permit icmp 192.168.1.226 0.0.0.0 host 192.168.1.130 echo-replay.

, int g0/0 ip access-group, 101 , IN. Laptop0 192.168.1.194, ACL . , , . IP- 192.168.1.195, .

, Server0 Laptop0 . HTTP FTP- 80 21, ICMP-, . .
-, 192.168.1.194, - Server0.



192.168.1.195, , ACL .

№1 R2 ACL – Allow_Ac. , ACL , . ip access-list extended Allow_Ac .

permit tcp 192.168.1.128. /26, , , – 128, – 64, , 0.0.0.63. , 255.255.255.192 255.255.255.255. permit tcp 192.168.1.128 0.0.0.63 host 192.168.1.194 eq 80. : permit tcp 192.168.1.128 0.0.0.63 host 192.168.1.194 eq 21.

№1 – PC0 Laptop0 . permit ip host 192.168.1.130 host 192.168.1.226 , .

ACL g0/0, ip access-group Allow_Ac IN. , PC0 Server 0, - . PC0 192.168.1.194, Packet Tracer, , R2 .

ACL , ip access-list extended Allow_Sa permit tcp host 192.168.1.3 host 192.168.1.195 eq 80. , HTTP- , , deny ip host 192.168.1.3 any.



, , . deny icmp 192.168.1.0. /25, 1 , 128 , , 0.0.0.127. 192.168.1.195, Server2. ACL : deny icmp 192.168.1.0 0.0.0.127 host 192.168.1.195 echo.

4- , , : permit ip 192.168.1.0 0.0.0.127 host 192.168.1.195.

, Laptop2 Laptop0. permit host 192.168.1.2 host 192.168.1.226, g0/1 ip access-group Allow_Sa IN.



, ACL Laptop3, , - . 192.168.1.195 , PC 192.168.1.130 192.168.1.226. , – - Server1.



Laptop2 Laptop0, . , , 192.168.1.226. Laptop1 , ACL , Laptop0. Laptop2 Server1 192.168.1.195, - . , 4- , ACL.

, , . ACL – , . , , , .

CCNA的优势是学习网络开发的所有概念,而学习材料的最佳方法是设计自己的网络。如果您以自己的方式解决这些问题并在此视频的评论中进行描述,我将非常高兴。此外,根据所考虑的网络拓扑,您可以提出其他任务并尝试自己解决。


感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们,为我们为您开发的入门级​​服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

戴尔R730xd便宜2倍? 只有我们有2台Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100电视在荷兰起价199美元 戴尔R420-2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB-$ 99起! 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN465725/


All Articles