概述:
本文討論以下兩個(gè)問題:
理解和使用擴(kuò)展訪問控制列表的fragment選項(xiàng);
理解和使用擴(kuò)展訪問控制列表的established選項(xiàng)。
使用fragment選項(xiàng):
(1) 當(dāng)一個(gè)ACL只含有三層信息時(shí),對(duì)所有的包都進(jìn)行控制。
(2) 當(dāng)不使用frament選項(xiàng)時(shí),一個(gè)包含三層和四層信息的acl條目將對(duì)所有的數(shù)據(jù)包進(jìn)行以下控制:
如果是未分片數(shù)據(jù)包(nonfragmented)或者分片數(shù)據(jù)包的第一個(gè)分片(initial fragment) ,都將按正常的ACL進(jìn)行控制(permit或deny)。
如果是分片數(shù)據(jù)包的后續(xù)分片(noninitial fragment),則只檢查ACL條目中的三層部分(協(xié)議號(hào)、源、目的)。如果三層匹配而且是permit控制,則允許該分片通過;如果三層匹配而且是deny控制,則繼續(xù)檢查下一個(gè)ACL條目(和正常的ACL控制順序不同)。
(3)當(dāng)使用fragment選項(xiàng)時(shí),一個(gè)acl條目將只對(duì)分片數(shù)據(jù)包的后續(xù)分片(noninitial fragment)進(jìn)行控制;并且ACL條目中不能包含四層信息。
access-list 101 permit <協(xié)議> <源> <目的> fragment
使用established選項(xiàng)的ACL條目:
access-list 101 permit tcp <源> <目的> established
該選項(xiàng)只能用于tcp協(xié)議,目的是為了實(shí)現(xiàn)基于tcp數(shù)據(jù)段(四層pdu)中的代碼控制位的標(biāo)志進(jìn)行會(huì)話的控制,例如只允許那些已經(jīng)建立的tcp會(huì)話的流量(特征是ACK或者RST標(biāo)志已置位)。
例如:假定上圖中要實(shí)現(xiàn)以下控制,只允許Net A的所有主機(jī)初始化到Net B的TCP通信,但是不允許NetB的主機(jī)初始化到Net A的TCP通信,可以使用以下ACL實(shí)現(xiàn)。
hostname R1
interface ethernet0
ip access-group 102 in
access-list 102 permit tcp any any gt 1023 established
小結(jié)
只有很好地理解tcp/ip協(xié)議各層數(shù)據(jù)單元的格式和內(nèi)容,才能夠正確使用ACL的各種高級(jí)選項(xiàng)功能。


