青蛙不是癞蛤蟆

CCNA Chpater 10

Chapter10 Managing Traffic with Access Lists
Introduction to Access Lists
访问列表(access list,ACL)的主要作用是过滤你不想要的数据包.设置ACL 的一些规则:
1.按顺序的比较,先比较第一行,再比较第二行..直到最后1 行
2.从第一行起,直到找到1 个符合条件的行;符合以后,其余的行就不再继续比较下去
3.默认在每个ACL 中最后1 行为隐含的拒绝(deny),如果之前没找到1 条许可(permit)语句,意味着包将被丢弃.所以每个ACL 必须至少要有1 行permit 语句,除非你想想所有数据包丢弃
2 种主要的访问列表:
1.标准访问列表(standard access lists):只使用源IP 地址来做过滤决定
2.扩展访问列表(extended access lists):它比较源IP 地址和目标IP 地址,层3 的协议字段,层4端口号来做过滤决定
利用ACL 来过滤,必须把ACL 应用到需要过滤的那个router 的接口上,否则ACL 是不会起到过滤作用的.而且你还要定义过滤的方向,比如是是想过滤从Internet 到你企业网的数据包呢,还是想过滤从企业网传出到Internet 的数据包呢?方向分为下面2 种:
1.inbound ACL:先处理,再路由
2.outbound ACL:先路由,再处理
一些设置ACL 的要点:
1.每个接口,每个方向,每种协议,你只能设置1 个ACL
2.组织好你的ACL 的顺序,比如测试性的最好放在ACL 的最顶部
3.你不可能从ACL 从除去1 行,除去1 行意味你将除去整个ACL,命名访问列表(named access lists)例外(稍后介绍命名访问列表)
4.默认ACL 结尾语句是deny any,所以你要记住的是在ACL 里至少要有1 条permit 语句
5.记得创建了ACL 后要把它应用在需要过滤的接口上
6.ACL 是用于过滤经过router 的数据包,它并不会过滤router 本身所产生的数据包
7.尽可能的把IP 标准ACL 放置在离目标地址近的地方;尽可能的把IP 扩展ACL 放置在离源地址近的地方
Standard Access Lists
介绍ACL 设置之前先介绍下通配符掩码(wildcard masking).它是由0和255的4个8位位组组成的.0代表必须精确匹配,255 代表随意,比如:172.16.30.0 0.0.0.255,这个告诉router前3位的8位位组必须精确匹配,后1位8位位组的值可以为任意值.如果你想指定172.16.8.0到172.16.15.0,则通配符掩码为0.0.7.255(15-8=7)
配置IP 标准ACL,在特权模式下使用access-lists [ACL  No.] [permit/deny] [any/host]命令.ACL号为1到99和1300到1999;permit/deny 分别为允许和拒绝;any 为任何主机,host 为具体某个主机(需要跟上IP 地址)或某1段
Lab_A(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
<1000-1099> IPX SAP access list
<1100-1199> Extended 48-bit MAC address access list
<1200-1299> IPX summary address access list
<1300-1999> IP standard access list (expanded range)
<200-299> Protocol type-code access list
<2000-2699> IP extended access list (expanded range)
<300-399> DECnet access list
<600-699> Appletalk access list
<700-799> 48-bit MAC address access list
<800-899> IPX standard access list
<900-999> IPX extended access list
Standard Access List Example
如图,router 有3 个LAN 的连接1 个Internet 的连接.现在,销售部的用户不允许访问金融部的用户,但是允许他们访问市场部和Internet 连接.配置如下:
Router(config)#access-list 10 deny 172.16.40.0 0.0.0.255
Router(config)#access-list 10 permit any
注意隐含的deny any,所以末尾这里我们要加上permit any,
any 等同于0.0.0.0 255.255.255.255.
接下来把ACL应用在接口上,之前说过了尽可能的把IP标准ACL放置在离目标地址近的地方,所以使用ip access-group 命令把ACL 10 放在E1 接口,方向为出,即out.
Router(config)#int e1
Router(config-if)#ip access-group 10 out

----------------------------------------------------------------------------------------------------
Eg2:要求阻止4个LAN访问internet
Router(config)#access-list 1 deny 172.16.128.0 0.0.31.255
Router(config)#access-list 1 deny 172.16.48.0 0.0.15.255
Router(config)#access-list 1 deny 172.16.192.0 0.0.63.255
Router(config)#access-list 1 deny 172.16.88.0 0.0.7.255
Router(config)#access-list 1 permit any
Router(config)#interface serial 0
Router(config-if)#ip access-group 1 out

Controlling VTY(Telnet) Access
使用IP 标准ACL 来控制VTY 线路的访问.配置步骤如下:
1.创建个IP 标准ACL 来允许某些主机可以telnet
2.使用access-class 命令来应用ACL 到VTY 线路上实例如下:
Router(config)#access-list 50 permit 172.16.10.3
Router(config)#line vty 0 4
Router(config-line)#access-class 50 in
如上,进入VTY 线路模式,应用ACL,方向为进来,即in.因为默认隐含的deny any,所以上面的例子,只允许IP 地址为172.16.10.3 的主机telnet 到router 上
Extended Access Lists
扩展ACL:access-list [ACL 号] [permit/deny] [协议] [源地址] [目标地址] [操作符] [端口] [log].
ACL 号的范围是100 到199 和2000 到2699;协议为TCP,UDP 等
操作符号有eq(表等于),gt(大于),lt(小于)和neq(非等于)等等;
log 为可选,表示符合这个ACL,就记录下这些日志
Lab_A(config)#access-list ?
<1-99>      IP standard access list
<100-199>   IP extended access list
<1000-1099> IPX SAP access list
<1100-1199> Extended 48-bit MAC address access list
<1200-1299> IPX summary address access list
<1300-1999> IP standard access list (expanded range)
<200-299>   Protocol type-code access list
<2000-2699> IP extended access list (expanded range)
<300-399> DECnet access list
<600-699> Appletalk access list
<700-799> 48-bit MAC address access list
<800-899> IPX standard access list
<900-999> IPX extended access list

Lab_A(config)#access-list 110 ?
deny             Specify packet
dynamic          Specify a DYNAMIC list of PERMITs or DENYs
permit           Specify packets to forward

Lab_A(config)#access-list 110 deny ?
<0-255>         An IP protocol number
eigrp           Cisco's EIGRP routing protocol
gre             Cisco's GRE tunneling
icmp            Internet Control Message Protocol
igmp            Internet Gateway Message Protocol
igrp            Cisco's IGRP routing protocol
ip              Any Internet Protocol
ipinip          IP in IP tunneling
nos             KA9Q NOS compatible IP over IP tunneling
ospf            OSPF routing protocol
tcp             Transmission Control Protocol
udp             User Datagram Protocol

Lab_A(config)#access-list 110 deny tcp ?
A.B.C.D       Source address
any           Any source host
host          A single source host

Lab_A(config)#access-list 110 deny tcp any ?
A.B.C.D            Destination address
Any                Any destination host
eq                 Match only packets on a given port number
gt                 Match only packets with a greater port number
host               A single destination host
lt                 Match only packets with a lower port number
neq                Match only packets not on a given port number
range              Match only packets in the range of port numbers

Lab_A(config)#access-list 110 deny tcp any host 172.16.30.2 ?
eq                   Match only packets on a given port number
established          Match established connections
fragments            Check fragments
gt                   Match only packets with a greater portnumber
log                  Log matches against this entry
log-input            Log matches against this entry,including input interface
lt                   Match only packets with a lower port number
neq                  Match only packets not on a given port number
precedence           Match packets with given precedence value
range                Match only packets in the range of port numbers
tos                  Match packets with given TOS value
<cr>

Lab_A(config)#access-list 110 deny tcp any host 172.16.30.2 eq ?
<0-65535>               Port number
bgp                     Border Gateway Protocol (179)
chargen                 Character generator (19)
cmd                     Remote commands (rcmd, 514)
daytime                   Daytime (13)
discard                Discard (9)
domain                    Domain Name Service (53)
echo                   Echo (7)
exec                    Exec (rsh, 512)
finger                   Finger (79)
ftp                    File Transfer Protocol (21)
ftp-data                 FTP data connections (20, 21)
gopher                    Gopher (70)
hostname                NIC hostname server (101)
ident                    Ident Protocol (113)
irc                       Internet Relay Chat (194)
klogin                   Kerberos login (543)
kshell                     Kerberos shell (544)
login                    Login (rlogin, 513)
lpd                    Printer service (515)
nntp                    Network News Transport Protocol (119)
pim-auto-RP            PIM Auto-RP
pop2                    Post Office Protocol v2 (109)
pop3                    Post Office Protocol v3 (110)
smtp                    Simple Mail Transport Protocol (25)
sunrpc                    Sun Remote Procedure Call (111)
syslog                     Syslog (514)
tacacs                    TAC Access Control System (49)
talk                    Talk (517)
telnet                    Telnet (23)
time                    Time (37)
uucp                    Unix-to-Unix Copy Program (540)
whois                   Nicname (43)
www                    World Wide Web (HTTP, 80)


Extended Access List Example
假如要拒telnet 和FTP 到绝位于金融部的主机172.16.30.5,配置如下:
Router(config)#access-list 110 deny tcp any host 172.16.30.5 eq 21
Router(config)#access-list 110 deny tcp any host 172.16.30.5 eq 23
Router(config)#access-list 110 permit ip any any
记住默认隐含的deny all.应用到E1 接口,注意方向为out,如下:
Router(config)#int e1
Router(config-if)#ip access-group 110 out

----------------------------------------------------------------------------------------------------
Eg2:要求阻止E1和E2的所有远程连接访问,这时,如果采用一个列表将会产生时间延迟,所以使用2个表,这样延迟将会小很多。
Router(config)#access-list 110 deny tcp any 172.16.48.0 0.0.15.255 eq 23
Router(config)#access-list 110 deny tcp any 172.16.192.0 0.0.63.255 eq 23
Router(config)#access-list 110 permit ip any any
Router(config)#interface Ethernet 1
Router(config-if)#ip access-group 110 out
Router(config-if)#interface Ethernet 2
Router(config-if)#ip access-group 110 out


Named Access Lists
命名访问列表是创建标准和扩展访问列表的另外1 种方法.它允许你使用命名的方法来创建和应用标准或者扩展访问列表.使用ip access-list 命令来创建,如下:
Router(config)#ip access-list ?
extended     Extended Acc
logging      Control access list logging
standard     Standard Access List
Router(config)#ip access-list standard ?
<1-99>       Standard IP access-list number
WORD         Access-list name
Router(config)#ip access-list standard Block
Router(config-std-nacl)#?
Standard       Access List configuration commands:
Default        Set a command to its defaults
deny           Specify packets to reject
exit           Exit from access-list configuration mode
no             Negate a command or set its default
permit         Specify packets to forward
Router(config-std-nacl)#deny 172.16.40.0 0.0.0.255
Router(config-std-nacl)#permit any
Router(config-std-nacl)#exit
Router(config)#^Z
Router#sh run
!
ip access-list standard BlockSales
deny 172.16.40.0 0.0.0.255
permit any
!
接下来应用到接口上,如下:
Router(config)#int 1
Router(config-if)#ip access-group Block out
Router(config-if)#^Z
Router#
Monitoring Access Lists
一些验证ACL 的命令,如下:
1.show access-list:显示router 上配置了的所有的ACL 信息,但是不显示哪个接口应用了哪个ACL 的信息
2.show access-list [number]:显示具体第几号ACL 信息,也不显示哪个接口应用了这个ACL
3.show ip access-list:只显示IP 访问列表信息
4.show ip interface:显示所有接口的信息和配置的ACL 信息
5.show ip interface [接口号]:显示具体某个接口的信息和配置的ACL 信息
6.show running-config:显示DRAM 信息和ACL 信息,以及接口对ACL 的应用信

posted on 2006-08-17 09:36 学习资料库 阅读(403) 评论(0)  编辑 收藏 引用 网摘 所属分类: Lan Switch


只有注册用户登录后才能发表评论, 未注册用户请先注册

网站导航: