diff --git a/d09-ACL.md b/d09-ACL.md index 887d96d..c09c4ba 100644 --- a/d09-ACL.md +++ b/d09-ACL.md @@ -11,7 +11,7 @@ - 阅读ICND1记诵指南 - 在[subnetting.org](http://www.subnetting.org)上花15分钟 -和子网划分及VLSM一样,访问控制清单(access control lists, ACL)对于新CCNA学员来说,也是一大难点(one of the bugbear subjects)。有关ACL的问题包括,学习相关的IOS配置命令、理解ACL规则(包括隐式的“deny all”规则),以及掌握端口号及协议类型。 +和子网划分及VLSM一样,访问控制清单(access control lists, ACL)对于新CCNA学员来说,也是一大难点(one of the bugbear subjects)。有关ACL的问题包括,学习相关的IOS配置命令、理解ACL规则(包括隐式的`deny all`规则),以及掌握端口号及协议类型。 与其它CCNA科目一样,应该在学习过程中一次完成一个小部分,在路由器上使用所见到的每个命令,并完成许多实验。 @@ -52,9 +52,9 @@ - 扩展的编号ACLs - 标准或扩展的命名ACLs -**标准的编号ACLs是可以应用到路由器上的最为基本的ACL形式**。它们是最易于配置的,因此其可用的过滤有着最大的限制。**它们仅能依据源IP地址或源网络进行过滤**。识别标准ACL的方法就是看配置行的前导数字;标准ACLs的该数字为1到99。 +**标准的编号ACLs是可以应用到路由器上的最为基本的ACL形式**。它们是最易于配置的,因此其可用的过滤有着最大的限制。**它们仅能依据源IP地址或源网络进行过滤**。识别标准ACL的方法就是看配置行的前导数字;标准ACLs的该数字为`1`到`99`。 -**扩展的编号ACLs可以有多得多的粒度, 但配置和故障排除起来会更难应付。**它们可以对某个目的或源IP地址或网络、某种协议类型以及某个端口号进行过滤(they can filter a destination or source IP address or network, a protocol type, and a port number)。可用于配置扩展ACLs的编号为100到199(包含100和199)。 +**扩展的编号ACLs可以有多得多的粒度, 但配置和故障排除起来会更难应付。**它们可以对某个目的或源IP地址或网络、某种协议类型以及某个端口号进行过滤(they can filter a destination or source IP address or network, a protocol type, and a port number)。可用于配置扩展ACLs的编号为`100`到`199`(包含`100`和`199`)。 **命名ACLs允许给某过滤清单一个名称,而不是编号**。这就令到在路由器配置中更易于区别这些ACLs了。命名ACLs可以是标准及扩展ACLs; 在该ACLs的初始化配置行处,可以选择其作为标准ACL还是扩展ACL。 @@ -70,15 +70,15 @@ - - - - - - - + + + + + + +
端口服务端口服务
20FTP数据80HTTP
21FTP控制110POP3
22SSH119NNTP
23Telnet123NTP
25SMTP161/162SNMP
53DNS443HTTPS(带有SSL的HTTP)
69TFTP
`20`FTP数据`80`HTTP
`21`FTP控制`110`POP3
`22`SSH`119`NNTP
`23`Telnet`123`NTP
`25`SMTP`161/162`SNMP
`53`DNS`443`HTTPS(带有SSL的HTTP)
`69`TFTP
- + ## 访问控制清单规则,Access Control List Rules 这是最难掌握的部分之一。我从没有在哪本思科手册中见到里面曾写过一条完整的规则清单。仅有一些手册对其简单概过或是稍加解释,另外一些则完全不讲。难点就在于这些规则一直都在用,但到目前为止你都是通过试误法发现的它们(the difficulty is that the rules always apply but unitil now, you found them only by trial and error)。下面就是你需要知道的这些规则了。 @@ -97,14 +97,14 @@ **the lines are processed top-down** -某些工程师在他们的ACL未如预期那样运行时感到迷惑。路由器会看看ACL的顶行,在发现匹配后,就会停在那里且不再对其它行进行检查了。为此,需要将**最明确的(最小的)那些条目放在ACL的顶部**(you need to put the most specific entries at the top of the ACL)。比如在利用ACL来阻挡主机172.16.1.1时的做法。 +某些工程师在他们的ACL未如预期那样运行时感到迷惑。路由器会看看ACL的顶行,在发现匹配后,就会停在那里且不再对其它行进行检查了。为此,需要将**最明确的(最小的)那些条目放在ACL的顶部**(you need to put the most specific entries at the top of the ACL)。比如在利用ACL来阻挡主机`172.16.1.1`时的做法。 - - - - - + + + + +
Permit 10.0.0.0没有匹配的
Permit 192.168.1.1没有匹配的
Permit 172.16.0.0匹配了-放行
Permit 172.16.1.0不会处理了
Deny 172.16.1.1不会处理了
`Permit 10.0.0.0`没有匹配的
`Permit 192.168.1.1`没有匹配的
`Permit 172.16.0.0``〇`匹配了-放行
`Permit 172.16.1.0`不会处理了
`Deny 172.16.1.1`不会处理了
在本例中,应该将`Deny 172.16.1.1`这行,放到顶部,或至少应在语句(statement)`Permit 172.16.0.0`之前。 @@ -113,20 +113,20 @@ **There is an implicit "deny all" at the bottom of every ACL** -这条规则另很多工程师为难。在每条ACL的底部,有着一条看不见的命令。该命令设置为拒绝尚未匹配的所有流量。而阻止此命令起作用的唯一方法,就是在底部手动配置一条`permit all`命令。在取得来自IP地址172.20.1.1的某个进入的数据包时的做法。 +这条规则另很多工程师为难。在每条ACL的底部,有着一条看不见的命令。该命令设置为拒绝尚未匹配的所有流量。而阻止此命令起作用的唯一方法,就是在底部手动配置一条`permit all`命令。在取得来自IP地址`172.20.1.1`的某个进入的数据包时的做法。 - - - - - + + + + +
Permit 10.0.0.0无匹配项
Permit 192.168.1.1无匹配项
Permit 172.16.0.0无匹配项
Permit 172.16.1.0无匹配项
[Deny all]匹配 -- 丢弃数据包
`Permit 10.0.0.0`无匹配项
`Permit 192.168.1.1`无匹配项
`Permit 172.16.0.0`无匹配项
`Permit 172.16.1.0`无匹配项
`[Deny all]`匹配 -- 丢弃数据包
-你实际上想要路由器放行该数据包,但却拒绝了。原因就在于那条隐式的“deny all”命令了,而该命令实际上是一种安全手段。 +你实际上想要路由器放行该数据包,但却拒绝了。原因就在于那条隐式的`deny all`命令了,而该命令实际上是一种安全手段。 ###ACL规则四 -- 路由器是不能过滤自己产生的流量的 - + **The router can't filter self-generated traffic.** 这在某个实际网络上于部署ACL前进行测试时,会造成混乱。路由器不会过滤其自身产生的流量。在图9.2中有演示。 @@ -136,10 +136,10 @@ *图9.2 -- 对自身流量的ACL测试* ###ACL规则五 -- 不能对运行中的ACL进行编辑 - + **You can't edit a live ACL.** -实际上,在IOS 12.4之前的版本中,只能对命名ACL进行编辑, 而不能对标准ACL或扩展ACLs两种进行编辑。这曾是ACL架构的一个局限(this was a limitation of ACL architecture)。在IOS 12.4之前,如想要编辑标准ACL或扩展ACL,就必须按照以下步骤进行(这里使用list 99作为例子)。 +实际上,在`IOS 12.4`之前的版本中,只能对命名ACL进行编辑, 而不能对标准ACL或扩展ACLs两种进行编辑。这曾是ACL架构的一个局限(this was a limitation of ACL architecture)。在`IOS 12.4`之前,如想要编辑标准ACL或扩展ACL,就必须按照以下步骤进行(这里使用`list 99`作为例子)。 1. 使用命令`no ip access-group 99 in`,在接口上停用ACL流量(stop ACL traffic on the interface with the `no ip access-group 99 in` command)。 2. 将该条ACL复制粘贴到文本编辑器,并在那里编辑好。 @@ -206,10 +206,10 @@ Router(config)#int FastEthernet0/0 Router(config-if)#ip access-group 1 in ← reapply to the interface ``` -如使用的是Packet Tracer, 那么这些命可能不会工作。同时,请一定在某台路由器上尝试这些命令,因为它们是考试考点。**记住在编辑ACL前要先在接口上关闭它(此时它就不再是活动的了),以避免一些奇怪或是不可预期的行为发生**。而在IOS 12.4及以后的版本中,如何来编辑ACLs,会在后面演示。 +如使用的是Packet Tracer, 那么这些命可能不会工作。同时,请一定在某台路由器上尝试这些命令,因为它们是考试考点。**记住在编辑ACL前要先在接口上关闭它(此时它就不再是活动的了),以避免一些奇怪或是不可预期的行为发生**。而在`IOS 12.4`及以后的版本中,如何来编辑ACLs,会在后面演示。 ###ACL规则六 -- 在接口上关闭ACL - + **Disable the ACL on the interface.** 在打算短时间对ACL进行测试或是撤销ACL时,许多工程师都会将其完全删除掉。这是不必要的。如你要停止ACL运行,只需简单地将其从所应用到的接口上移除即可。 @@ -229,15 +229,15 @@ Router(config-if)#^Z ![ACL的重用](images/0903.png) *图9.3 -- ACL的重用* - + ###ACL规则八 -- ACL应保持简短 - + ACLs的基本规则就是保持简短且只专注于做一件事情。许多新手的思科工程师,将其ACL延伸到数行那么长,最后,经深思熟虑后,就可以紧缩到少数几行的配置。前面提到的将那些最为特定的(最小的)行放在ACL的顶部。这是好的做法,从而可以节约路由器CPU的执行周期。 优良的ACL配置技能,来自于知识和操练。 ###ACL规则九 -- 尽可能将ACL放在接近源的地方 - + 思科文档建议将扩展ACL尽量放在离源近的地方,而将标准ACL尽量放在离目的近的地方,因为这可以避免不必要的开销,又能放行那些合法流量。 ![将ACL尽量放在离源近的地方](images/0904.png) @@ -247,55 +247,55 @@ ACLs的基本规则就是保持简短且只专注于做一件事情。许多新 >Farai 指出 -- “思科官方建议是扩展ACL尽量离源近,而标准ACL尽量离目的近”。 ##反掩码 - + **Wildcard Masks** **因为在ACLs及某些路由协议的配置中,反掩码是命令行的组成部分,所有有必要学习反掩码**。之所有存在反掩码,是因为需要有某种方式来告诉路由器,我们要去匹配IP地址或网络地址的哪些部分。 -匹配实在二进制层面完成的,却可以采用与子网掩码相同的表示法,来容易地配置反掩码。一个二进制1告诉路由器忽略对应的位,0则是要匹配的位。 +匹配实在二进制层面完成的,却可以采用与子网掩码相同的表示法,来容易地配置反掩码。一个二进制`1`告诉路由器忽略对应的位,`0`则是要匹配的位。 -CCNA考试中反掩码计算的一种简易方法,就是把一个数与子网掩码相加,确保它们的和为255。那么如果子网掩码的某个8位值为192时,需要加上63才等于255。而如果子网掩码的某个8位值为255, 则需要加的就是0。看看下面的例子吧。 +CCNA考试中反掩码计算的一种简易方法,就是把一个数与子网掩码相加,确保它们的和为`255`。那么如果子网掩码的某个`8`位值为`192`时,需要加上`63`才等于`255`。而如果子网掩码的某个`8`位值为`255`, 则需要加的就是`0`。看看下面的例子吧。 - - - + + +
子网掩码255255255192
反掩码00063
相加之和255255255255
子网掩码`255``255``255``192`
反掩码`0``0``0``63`
相加之和`255``255``255``255`
- - - + + +
子网掩码2552552240
反掩码0031255
相加之和255255255255
子网掩码`255``255``224``0`
反掩码`0``0``31``255`
相加之和`255``255``255``255`
- - - + + +
子网掩码25512800
反掩码0127255255
相加之和255255255255
子网掩码`255``128``0``0`
反掩码`0``127``255``255`
相加之和`255``255``255``255`
-在想要ACL与匹配某个子网或是整个网络时,就需要输入一个反掩码。比如,要匹配172.20.1.0 255.255.224.0, 就需要输入下面的命令。 +在想要ACL与匹配某个子网或是整个网络时,就需要输入一个反掩码。比如,要匹配`172.20.1.0 255.255.224.0`, 就需要输入下面的命令。 `Router(config)#access-list 1 permit 172.20.1.0 0.0.31.255` -而要匹配子网192.200.1.0 255.255.255.192, 就需要下面的命令。 +而要匹配子网`192.200.1.0 255.255.255.192`, 就需要下面的命令。 `Router(config)#access-list 1 permit 192.200.1.0 0.0.0.63` 在OSPF中应用网络语句时也要当心(be careful when applying network statements with OSPF),那位那也要用到反掩码。 -在有着一个仅有两位主机位的网络时,也要当心,因为需要输入一条ACL来匹配这些主机位。比如,要匹配子网192.168.1.0 255.255.255.252, 或/30的话,需要输入下面的命令。 +在有着一个仅有两位主机位的网络时,也要当心,因为需要输入一条ACL来匹配这些主机位。比如,要匹配子网`192.168.1.0 255.255.255.252`, 或`/30`的话,需要输入下面的命令。 `Router(config)#access-list 1 permit 192.168.1.0 0.0.0.3` -这里剔除了一些配置,是为展示出对应的部分。上面的命令将匹配192.168.1.0网络上的1号和2号主机。而如果要匹配192.168.1.4/30网络上的5号和6号主机,则需输入下面的命令。 +这里剔除了一些配置,是为展示出对应的部分。上面的命令将匹配`192.168.1.0`网络上的`1`号和`2`号主机。而如果要匹配`192.168.1.4/30`网络上的`5`号和`6`号主机,则需输入下面的命令。 `Router(config)#access-list 1 permit 192.168.1.4 0.0.0.3` 请阅读子网划分和VLSM部分的课文,以更好地掌握此概念。 ##访问控制清单的配置 - + **Configuring Access Control Lists** 熟能生巧,对于任何技能都是适用的。如同前面提到的,你应该在路由器上输入这里给出的每个例子,完成尽可能多的实验,并构建出自己的实例。在考试和现实世界中,你都需要精准快速的设计ACL。 @@ -303,7 +303,7 @@ CCNA考试中反掩码计算的一种简易方法,就是把一个数与子网 接下来的章节中出现的标准和扩展ACLs都是编号ACLs。它们是配置ACLs的经典方法。命名ACLs是配置ACLs的另一种方式,将在其后的部分出现。 ###标准ACLs - + **Standard ACLs** 标准的编号ACLs是最易于配置的,所以拿它来作为开端是最好的。**标准ACLs只能实现依据源网络或源IP地址的过滤**。 @@ -325,17 +325,19 @@ Router(config)#access-list 1 permit host 192.168.1.1 Router(config)#access-list 1 permit 10.1.0.0 0.0.255.255 ``` -此ACL应在服务器侧的路由器上应用。又记得在清单的底部有一条隐式的“deny all”,所以其它流量都会给阻止掉。 +此ACL应在服务器侧的路由器上应用。又记得在清单的底部有一条隐式的`deny all`,所以其它流量都会给阻止掉。 ###扩展ACLs - + **Extended ACLs** **扩展的编号ACLs中可以构建出细得多的粒度**。而正是由于有了细得多的粒度,令到扩展的编号ACLs变得诡异起来。藉由扩展的编号ACLs,可以对源或目的网络地址、端口、协议及服务进行过滤。 一般来说,你可以看看扩展的ACLs配置语法,就像下面这样。 -`access list# permit/deny [service/protocol] [source network/IP] [destination network/IP] [port#]` +``` +access list# permit/deny [service/protocol] [source network/IP] [destination network/IP] [port#] +``` 比如下面这样。 @@ -483,7 +485,7 @@ Router(config-if)#ip access-group BlockWEB in **ACL Sequence Numbers** -自12.4往后,你会发现思科IOS给每个ACL条目添加了序号。那么现在就可以创建一条访问控制清单,并在其后从它里面一处一行了。 +自`12.4`往后,你会发现思科IOS给每个ACL条目添加了序号。那么现在就可以创建一条访问控制清单,并在其后从它里面一处一行了。 ``` Router(config)#ip access-list standard test @@ -505,10 +507,10 @@ Standard IP access list test 注意到**在路由器运行配置中,序号并不会显示出来**。要查看它们,必须执行一个`show [ip] access-list`命令。 ##加入一个ACL行 - + **Add an ACL Line** -**要加入一个新的ACL行,只需简单地输入新的序号并接着输入该ACL语句**。下面的例子展示如何往现有的ACL中加入行15。 +**要加入一个新的ACL行,只需简单地输入新的序号并接着输入该ACL语句**。下面的例子展示如何往现有的ACL中加入行`15`。 ``` Router#conf t @@ -531,7 +533,7 @@ Router(config-std-nacl)# **Remove an ACL Line** -要移除某个ACL行,只需简单地敲入`no `命令即可,就如同下面的例子中行20被删除掉了。 +要移除某个ACL行,只需简单地敲入`no `命令即可,就如同下面的例子中行`20`被删除掉了。 ``` Router#conf t @@ -564,8 +566,8 @@ Standard IP access list test Router(config-std-nacl)# ``` -命令`resequence`则会创建新的序号,自100开始,每个新行增加20。译者注:在更新的IOS版本中,此命令可指定开始序号及步进序号。 - +命令`resequence`则会创建新的序号,自`100`开始,每个新行增加`20`。译者注:在更新的IOS版本中,此命令可指定开始序号及步进序号。 + ###ACL日志 **ACL Logging** @@ -609,10 +611,12 @@ Extended IP access list test 这时,当有该特定ACL条目匹配时,路由器就会生成一条更为详细的日志消息,当中包含了进入的接口以及源MAC地址。 -`%SEC-6-IPACCESSLOGP: list test denied tcp 10.10.10.2(14013) (FastEthernet0/0 00aa.aabb.ccdd) -> 10.10.10.1(80), 1 packet` +```console +%SEC-6-IPACCESSLOGP: list test denied tcp 10.10.10.2(14013) (FastEthernet0/0 00aa.aabb.ccdd) -> 10.10.10.1(80), 1 packet +``` **ACL日志在查看到底那些数据包被丢弃或放行的故障排除中,会是非常有用的**, 但在现实世界情形中(此内容超出CCNA考试范围)不得提的是:包含`[log]`或`[log-input]`关键字的ACL条目是为路由器进行线程交换的, 与之相反,现代路由器中, 默认都是经由CEF交换的(ACL entries that contain `[log]` or `[log-input]` keyword are process-switched by the router, as opposed to being CEF-switched, which is the default in modern routers)。这需要更多的路由器CPU周期,因而导致在有大量与被记录的ACL条目匹配时,出现问题。 - + ###使用ACLs来限制Telnet和SSH访问 **Using ACLs to Limit Telnet and SSH Access** @@ -621,7 +625,7 @@ Extended IP access list test 有时,我们可能不想接受到设备或自设备发出的所有Telnet/SSH连接。而为实现此操作,就必须定义一条ACL,以指定在VTY线路上所允许或拒绝的流量类型。该ACL可以是编号ACL或命名ACL。通过命令`access-class | [in|out]`, 将该ACL加入到想要的VTY线路上。 -下面的例子定义了一条允许来自主机10.10.10.1的Telnet流量,该ACL随后被应用到VTY线路的进入方向。 +下面的例子定义了一条允许来自主机`10.10.10.1`的Telnet流量,该ACL随后被应用到VTY线路的进入方向。 ``` Router(config)#ip access-list extended VTY_ACCESS @@ -647,7 +651,7 @@ access-class VTY_ACCESS in **Trubleshooting and Verifying ACLs** -相信有了对配置命令和规则的深入理解,在访问控制清单上就不会有问题了。在ACL不工作的时候,首先要通过ping操作,检查有没有基本的IP连通性问题。接着看看有没有应用该ACL,看看在ACL中有没有什么文字错误,以及你是否需要允许任何IP流量通过(记住那个隐式的”deny all“条目)。而一些在ACL故障排除过程中最重要的检查点包括下面这些。 +相信有了对配置命令和规则的深入理解,在访问控制清单上就不会有问题了。在ACL不工作的时候,首先要通过ping操作,检查有没有基本的IP连通性问题。接着看看有没有应用该ACL,看看在ACL中有没有什么文字错误,以及你是否需要允许任何IP流量通过(记住那个隐式的`deny all`条目)。而一些在ACL故障排除过程中最重要的检查点包括下面这些。 - 查看ACL统计信息 - 检查所允许的网络 @@ -655,7 +659,7 @@ access-class VTY_ACCESS in ###查看ACL统计信息 -在成功配置一条ACL并将其应用到某个接口上之后,某种可以验证该ACL正确行为的手段非常重要,尤其是某个ACL条目被使用到的次数。基于匹配次数,就可以对过滤策略进行调整,或者对ACLs进行增强,以实现整体安全性的提升。而根据需求的不同,可以在全局层面或者单个接口上(从IOS 12.4开始)查看ACL统计信息。 +在成功配置一条ACL并将其应用到某个接口上之后,某种可以验证该ACL正确行为的手段非常重要,尤其是某个ACL条目被使用到的次数。基于匹配次数,就可以对过滤策略进行调整,或者对ACLs进行增强,以实现整体安全性的提升。而根据需求的不同,可以在全局层面或者单个接口上(从`IOS 12.4`开始)查看ACL统计信息。 **ACL全局统计信息** @@ -685,7 +689,7 @@ Extended IP access list 100 in 30 permit ip host 10.10.10.2 any (31 matches) ``` -如未有指定方向,则应用到该特定接口上的任何进或出方向的ACL都将显示出来。此特性也叫做“ACL可管理能力(ACL Manageability)”,自IOS 12.4开始可用。 +如未有指定方向,则应用到该特定接口上的任何进或出方向的ACL都将显示出来。此特性也叫做“ACL可管理能力(ACL Manageability)”,自`IOS 12.4`开始可用。 ###检查那些放行的网络 @@ -737,14 +741,14 @@ Extended IP access list 100 in **实验步骤** -1. 配置上面的网络。在两台路由器上加入一条静态路由,领导到任何网络的任何流量都从串行接口发出。这么做的原因是,尽管这不是一个路由实验,仍然需要路由的流量。把.1地址加到路由器A的串行接口,.2地址加到路由器B的串行接口。 +1. 配置上面的网络。在两台路由器上加入一条静态路由,领导到任何网络的任何流量都从串行接口发出。这么做的原因是,尽管这不是一个路由实验,仍然需要路由的流量。把`.1`地址加到路由器`A`的串行接口,`.2`地址加到路由器`B`的串行接口。 ``` RouterA(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0 RouterB(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0 ``` -2. 在路由器A上配置一条标准ACL,放行192.168.1.0/10网络。默认情况下,其它所有网络都将被阻止。 +2. 在路由器A上配置一条标准ACL,放行`192.168.1.0/10`网络。默认情况下,其它所有网络都将被阻止。 ``` RouterA(config)#access-list 1 permit 192.168.1.0 0.0.0.63 @@ -755,7 +759,7 @@ RouterA(config)#exit RouterA# ``` -3. 从路由器B上测试该条ACL,默认将使用10.0.0.1地址。 +3. 从路由器`B`上测试该条ACL,默认将使用`10.0.0.1`地址。 ``` RouterB#ping 10.0.0.1 @@ -765,7 +769,7 @@ UUUUU Success rate is 0 percent (0/5) ``` -4. 以源地址192.168.1.1来做另一个ping测试,这将没有问题。 +4. 以源地址`192.168.1.1`来做另一个ping测试,这将没有问题。 ``` RouterB#ping @@ -802,11 +806,11 @@ Success rate is 100 percent (5/5), round-trip min/avg/max = 31/31/32 ms **实验步骤** -1. 配置上述网络。在路由器B上加入一条静态路由,令到前往所有网络的所有流量都从串行接口上发出。这么做是因为,尽管这不是一个路由实验,仍然需要路由流量。 +1. 配置上述网络。在路由器`B`上加入一条静态路由,令到前往所有网络的所有流量都从串行接口上发出。这么做是因为,尽管这不是一个路由实验,仍然需要路由流量。 `RouterB(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0` -2. 在路由器A上配置一条扩展ACL。仅允许往环回接口上发起Telnet流量。 +2. 在路由器`A`上配置一条扩展ACL。仅允许往环回接口上发起Telnet流量。 ``` RouterA(config)#access-list 100 permit tcp any host 172.20.1.1 eq 23 @@ -819,11 +823,11 @@ RouterA(config-line)#^Z RouterA# ``` -上面的那条ACL编号为100, 这就告诉路由器,它是一条扩展ACL。所要允许的是TCP。该条ACL允许来自任何网络的,目的地址为172.20.1.1的Telnet端口,端口号为23。在执行`show run`命令时,就会看到,路由器实际上会将端口号替换为其对应的名称,就像下面演示的这样。 +上面的那条ACL编号为`100`, 这就告诉路由器,它是一条扩展ACL。所要允许的是TCP。该条ACL允许来自任何网络的,目的地址为`172.20.1.1`的Telnet端口,端口号为`23`。在执行`show run`命令时,就会看到,路由器实际上会将端口号替换为其对应的名称,就像下面演示的这样。 `access-list 100 permit tcp any host 172.20.1.1 eq telnet` -3. 现在,从路由器B上做一个Telnet测试。首先往路由器A的串行接口上Telnet,将会被阻止。接着测试环回接口。 +3. 现在,从路由器B上做一个Telnet测试。首先往路由器`A`的串行接口上Telnet,将会被阻止。接着测试环回接口。 ``` RouterB#telnet 10.0.0.1 @@ -836,7 +840,7 @@ Password: RouterA> ←Hit Control+Shift+6 together and then let go and press the X key to quit. ``` ->**注意:**我们会在其它实验中涉及ACLs,但你真的需要完全地掌握这些内容。为此,要尝试其它的TCP端口,比如80、25等等。另外,要试试那些UDP端口,比如53。如没有将一台PC接上路由器,则是无法对这些其它端口进行测试的。 +>**注意:**我们会在其它实验中涉及ACLs,但你真的需要完全地掌握这些内容。为此,要尝试其它的TCP端口,比如`80`、`25`等等。另外,要试试那些UDP端口,比如`53`。如没有将一台PC接上路由器,则是无法对这些其它端口进行测试的。 ##命名ACL实验 @@ -859,7 +863,7 @@ RouterA(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0 RouterB(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0 ``` -2. 在路由器B上加入一条扩展的命名ACL。只放行主机172.20.1.1,阻止其它任何主机或网络。 +2. 在路由器`B`上加入一条扩展的命名ACL。只放行主机`172.20.1.1`,阻止其它任何主机或网络。 ``` RouterB(config)#ip access-list extended blockping @@ -870,7 +874,7 @@ RouterB(config-if)#ip access-group blockping in RouterB(config-if)# ``` -3. 现在分别从路由器A的串行接口和换回接口发出ping来测试该条ACL。 +3. 现在分别从路由器`A`的串行接口和换回接口发出`ping`来测试该条ACL。 ``` RouterA#ping 192.168.1.1