ACL访问控制列表.docx
- 文档编号:13743678
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:36
- 大小:221.33KB
ACL访问控制列表.docx
《ACL访问控制列表.docx》由会员分享,可在线阅读,更多相关《ACL访问控制列表.docx(36页珍藏版)》请在冰点文库上搜索。
ACL访问控制列表
ACL访问控制列表
D
一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。
如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。
数据包只有在跟第一个判断条件不匹配时,它才被交给ACL中的下一个条件判断语句进行比较。
如果匹配(假设为允许发送),则不管是第一条还是最后一条语句,数据都会立即发送到目的接口。
如果所有的ACL判断语句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃。
这里要注意,ACL不能对本路由器产生的数据包进行控制。
ACL的分类
目前有两种主要的ACL:
标准ACL和扩展ACL。
这两种ACL的区别是,标准ACL只检查数据包的源地址;扩展ACL既检查数据包的源地址,也检查数据包的目的地址,同时还可以检查数据包的特定协议类型、端口号等。
网络管理员可以使用标准ACL阻止来自某一网络的所有通信流量,或者允许来自某一特定网络的所有通信流量,或者拒绝某一协议簇(比如IP)的所有通信流量。
扩展ACL比标准ACL提供了更广泛的控制范围。
例如,网络管理员如果希望做到“允许外来的Web通信流量通过,拒绝外来的FTP和Telnet等通信流量”,那么,他可以使用扩展ACL来达到目的,标准ACL不能控制这么精确。
在路由器配置中,标准ACL和扩展ACL的区别是由ACL的表号来体现的,上表指出了每种协议所允许的合法表号的取值范围。
正确放置ACL
ACL通过过滤数据包并且丢弃不希望抵达目的地的数据包来控制通信流量。
然而,网络能否有效地减少不必要的通信流量,这还要取决于网络管理员把ACL放置在哪个地方。
假设在图3所示的一个运行TCP/IP协议的网络环境中,网络只想拒绝从RouterA的T0接口连接的网络到RouterD的E1接口连接的网络的访问,即禁止从网络1到网络2的访问。
根据减少不必要通信流量的通行准则,网管员应该尽可能地把ACL放置在靠近被拒绝的通信流量的来源处,即RouterA上。
如果网管员使用标准ACL来进行网络流量限制,因为标准ACL只能检查源IP地址,所以实际执行情况为:
凡是检查到源IP地址和网络1匹配的数据包将会被丢掉,即网络1到网络2、网络3和网络4的访问都将被禁止。
由此可见,这个ACL控制方法不能达到网管员的目的。
同理,将ACL放在RouterB和RouterC上也存在同样的问题。
只有将ACL放在连接目标网络的RouterD上(E0接口),网络才能准确实现网管员的目标。
由此可以得出一个结论:
标准ACL要尽量靠近目的端。
网管员如果使用扩展ACL来进行上述控制,则完全可以把ACL放在RouterA上,因为扩展ACL能控制源地址(网络1),也能控制目的地址(网络2),这样从网络1到网络2访问的数据包在RouterA上就被丢弃,不会传到RouterB、RouterC和RouterD上,从而减少不必要的网络流量。
因此,我们可以得出另一个结论:
扩展ACL要尽量靠近源端。
ACL的配置
ACL的配置分为两个步骤:
第一步:
在全局配置模式下,使用下列命令创建ACL:
Router(config)#access-listaccess-list-number{permit|deny}{test-conditions}
其中,access-list-number为ACL的表号。
人们使用较频繁的表号是标准的IPACL(1—99)和扩展的IPACL(100-199)。
在路由器中,如果使用ACL的表号进行配置,则列表不能插入或删除行。
如果列表要插入或删除一行,必须先去掉所有ACL,然后重新配置。
当ACL中条数很多时,这种改变非常烦琐。
一个比较有效的解决办法是:
在远程主机上启用一个TFTP服务器,先把路由器配置文件下载到本地,利用文本编辑器修改ACL表,然后将修改好的配置文件通过TFTP传回路由器。
这里需要特别注意的是,在ACL的配置中,如果删掉一条表项,其结果是删掉全部ACL,所以在配置时一定要小心。
在CiscoIOS11.2以后的版本中,网络可以使用名字命名的ACL表。
这种方式可以删除某一行ACL,但是仍不能插入一行或重新排序。
所以,笔者仍然建议使用TFTP服务器进行配置修改。
第二步:
在接口配置模式下,使用access-group命令ACL应用到某一接口上:
Router(config-if)#{protocol}access-groupaccess-list-number{in|out}
其中,in和out参数可以控制接口中不同方向的数据包,如果不配置该参数,缺省为out。
ACL在一个接口可以进行双向控制,即配置两条命令,一条为in,一条为out,两条命令执行的ACL表号可以相同,也可以不同。
但是,在一个接口的一个方向上,只能有一个ACL控制。
值得注意的是,在进行ACL配置时,网管员一定要先在全局状态配置ACL表,再在具体接口上进行配置,否则会造成网络的安全隐患。
路由器是工作在OSI参考模型第三层——网络层的数据包转发设备。
路由器通过转发数据包来实现网络互连。
虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。
路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。
路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。
路由器通过动态维护路由表来反映当前的网络拓扑,并通过与网络上其他路由器交换路由和链路信息来维护路由表。
路由器设备厂商最有名的是Cisco公司,以下是Cisco路由器配置的常用命令汇总,希望对正在学习和应用思科路由器的你有帮助。
启动接口,分配IP地址:
router>
router>enable
router#
router#configureterminal
router(config)#
router(config)#interfaceTypePort
router(config-if)#noshutdown
router(config-if)#ipaddressIP-AddressSubnet-Mask
router(config-if)#^z
配置RIP路由协议:
30秒更新一次
router(config)#routerrip
router(config-if)#networkNetwork-Number<--通告标准A,B,C类网-->
router(config-if)#^z
配置IGRP路由协议:
90秒更新一次
router(config)#routerigrpAS-Number<--AS-Number范围1~65535-->
router(config-if)#networkNetwork-Number<--通告标准A,B,C类网-->
router(config-if)#^z
配置NovellIPX路由协议:
NovellRIP60秒更新一次
router(config)#ipxrouting[nodeaddress]
router(config)#ipxmaximum-pathsPaths<--设置负载平衡,范围1~512-->
router(config)#interfaceTypePort
router(config-if)#ipxnetworkNetwork-Number[encapsulationencapsulation-type][secondary]<--通告标准A,B,C类网-->
router(config-if)#^z
配置DDR:
router(config)#dialer-listGroup-NumberprotocolProtocol-Typepermit[listACL-Number]
router(config)#interfacebri0
router(config-if)#dialer-groupGroup-Number
router(config-if)#dialermapProtocol-TypeNext-Hop-AddressnameHostnameTelphone-Number
router(config-if)#^z
配置ISDN:
router(config)#isdnswith-typeSwith-Type
<--配置ISDN交换机类型,中国使用basic-net3-->
router(config-if)#^z
配置FrameRelay:
router(config-if)#encapsulationframe-relay[cisco IEtf]
router(config-if)#frame-relaylmi-type[ansi cisco q933a]
router(config-if)#bandwidthkilobits
router(config-if)#frame-relayinvers-arp[Protocol][dlci]
<--配置静态InversARP表:
router(config)#frame-relayProtocolProtocol-AddressDLCI[Broadcast][ietf cisco][payload-compress packet-by-packet]
-->
<--设置Keepalive间隔:
router(config-if)#keepaliveNumber
-->
<--为本地接口指定DLCI:
router(config-if)#frame-lelaylocal-dlciNumber
-->
<--子接口配置:
router(config-if)#interfaceTypePort.Subininterface-Number[multipoint point-to-point]
router(config-subif)#ipunnumberedInterface
router(config-subif)#frame-lelaylocal-dlciNumber
-->
router(config-if)#^z
配置标准ACL:
router(config)#access-listAccess-List-Number[permit deny]source[source-mask]
<--Access-List-Number范围:
1~99标准ACL;100~199扩展ACL;800~899标准IPXACL;
900~999扩展IPXACL;1000~1099IPXSAPACL;600~699AppleTalkACL-->
router(config)#interfaceTypePort
router(config-if)#ipaccess-groupAccess-List-Number[in out]
router(config-if)#^z
配置扩展ACL:
router(config)#access-listAccess-List-Number[permit deny][Protocol Protocol-Number]sourcesource-wildcard[Source-Port]destinationdestination-wildcard[Destination-Port][established]
router(config)#interfaceTypePort
router(config-if)#ipaccess-groupAccess-List-Number[in out]
router(config-if)#^z
配置命名ACL:
router(config)#ipaccess-list[standard extended]ACL-Name
router(config[std- ext-]nacl)#[permit deny][IP-Access-List-Test-Conditions]
router(config[std- ext-]nacl)#no[permit deny][IP-Access-List-Test-Conditions]
router(config[std- ext-]nacl)#^z
router(config)#interfaceTypePort
router(config-if)#ipaccess-group[ACL-Name 1~199][in out]
router(config-if)#^z
配置DCE时钟:
router#showcontrollersTypePort<--确定DCE接口-->
router(confin-if)#clockrate64000<--进入DCE接口设置时钟速率-->
router(config-if)#^z
配置PPP协议:
router(config)#usernameNamepassWordSet-Password-Here<--验证方建立数据库-->
router(config)#interfaceTypePort
router(config-if)#encapsulationppp<--启动PPP协议-->
router(config-if)#pppouthentication[chap chappap papchap pap]<--选择PPP认证-->
router(config-if)#ppppapsent-usernameNamepasswordPassword<--发送验证信息-->
router(config-if)#^z
PAP单向认证配置实例:
验证方:
router-server(config)#usernameClIEntpassWord12345<--验证方建立数据库-->
router-server(config)#interfaceserial0
router-server(config-if)#encapsulationppp
router-server(config-if)#pppauthenticationpap<--选择使用PAP实现PPP认证-->
router-server(config-if)#^z
被验证方:
router-client(config-if)#encapsulationppp
router-client(config-if)#ppppapsent-usernameClientpassword12345<--发送验证信息-->
router-client(config-if)#^z
PAP双向认证配置实例:
路由器A:
routerA(config)#usernameBpassword12345
routerA(config)#interfaceserial0
routerA(config-if)#encapsulationppp
routerA(config-if)#pppauthenticationpap
routerA(config-if)#ppppapsent-usernameApassword54321
routerA(config-if)#^z
路由器B:
routerB(config)#usernameApassword54321
routerB(config)#interfaceserial1
routerB(config-if)#encapsulationppp
routerB(config-if)#pppauthenticationpap
routerB(config-if)#ppppapsent-usernameBpassword12345
routerB(config-if)#^z
CHAP单向认证配置实例:
验证方:
router-server(config)#usernamerouter-clientpassword12345
router-server(config)#interfaceserial0
router-server(config-if)#encapsulationppp
router-server(config-if)#pppauthenticationchap
router-server(config-if)#^z
被验证方:
router-client(config-if)#encapsulationppp
router-client(config-if)#pppauthenticationchap
router-client(config-if)#pppchaphostnamerouter-client
router-client(config-if)#pppchappassword12345
router-client(config-if)#^z
CHAP双向认证配置实例:
路由器A:
routerA(config)#usernamerouterBpassWord12345
routerA(config)#interfaceserial0
routerA(config-if)#encapsulationppp
routerA(config-if)#pppauthenticationchap
routerA(config-if)#pppchaphostnamerouterA
routerA(config-if)#pppchappassword54321
routerA(config-if)#^z
路由器B:
routerB(config)#usernamerouterApassword54321
routerB(config)#interfaceserial1
routerB(config-if)#encapsulationppp
routerB(config-if)#pppauthenticationchap
routerB(config-if)#pppchaphostnamerouterB
routerB(config-if)#pppchappassword12345
routerB(config-if)#^z
Telnet使用:
routerA#terminalmonitor<--可以传回在远端主机执行Debug命令的结果-->
routerA#telnetIP-Address[Router-Name]<--Telnet到指定的地址或名字的主机-->
routerB#[exit logout]<--退出Telnet-->
routerB#<6>再按<--挂起Telnet-->
routerA#showsessions<--显示当前所有Telnet的信息,包括Connect-Number-->
routerA#Connect-Number<--返回指定的Telnet连接-->
routerA#disconnectIP-Address[Router-Name]<--断开指定地址或名字的主机的连接-->
routerA#showuser<--显示Telnet到本机的连接信息-->
routerA#clearline[0 1 2 3 4]<--断开指定Telnet到本机的连接-->
禁止任何Telnet到本机:
router(config)#linevty04
router(config-line)#access-classACL-Number
router(config)#^z
设置主机名:
router(config)#hostnameSet-Hostname
router(config)#^z
router(config)#^z
设置用户模式密码:
router(config)#lineconsole0
router(config-line)#login
router(config-line)#passwordSet-Password
router(config-line)#^z
设置Telnet密码:
router(config)#linevty04
router(config-line)#login
router(config-line)#passWordSet-Password
router(config-line)#^z
设置特权模式密码:
router(config)#enablepasswordSet-Password<--不加密的密码,明码-->
router(config)#enablesecretSet-Password<--经过加密的密码-->
router(config)#^z
给所有密码加密:
router(config)#servicepassword-ancryptionSet-Password-Here
router(config)#noservicepassword-ancryption<--取消加密-->
router(config)#^z
设置登录Banner:
router(config)#bannermotd分隔符Set-Banner-InFORMation-Here分隔符<--前后分隔符一定要一致-->
设置接口的描述信息:
router(config-if)#descriptionSet-Port-InFORMation-Here
router(config)#^z
CDP的控制:
router(config-if)#cdpenable<--在指定端口启用CDP,缺省-->
router(config-if)#nocdpenable<--在指定端口关闭CDP-->
router(config)#cdprun<--使所有端口启用CDP-->
router(config)#nocdprun<--使所有端口关闭CDP-->
Ping的使用:
router#pingIP-Address
router#ping
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACL 访问 控制 列表