■標準ACLと拡張ACL
[標準ACL]
access-list [ACL-num] [permit|deny] [Src-addr] [wildcard]
[拡張ACL]
access-list [ACL-num] [permit|deny] [protocol] [Src-addr] [wildcard] {eq|lt|gt} {Src-port} [Dest-adder [wildcard] {eq|lt|gt} {Dist-port}
標準ACLと拡張ACLの場合、該当するアクセスリスト番号を指定して記述します。
R1(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
<1100-1199> Extended 48-bit MAC 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)
<700-799> 48-bit MAC address access list
dynamic-extended Extend the dynamic ACL absolute timer
rate-limit Simple rate-limit specific access list
R1(config)#access-list 1 deny host 192.168.1.10
R1(config)#access-list 1 deny host 192.168.1.20
この状態で「sh access-lists」「sh ip access-lists」でも同じ結果が得られます。
「sh access-lists」
R1#sh access-lists Standard IP access list 1 10 deny 192.168.1.10 20 deny 192.168.1.20
「sh ip access-lists」
R1#sh ip access-lists Standard IP access list 1 10 deny 192.168.1.10 20 deny 192.168.1.20
ここで特定のエントリだけ削除する意図で「no access-list」を入れてしまうと、全てのエントリが消去されてしまうので注意。
R1(config)#no access-list 1 deny 192.168.1.90 R1#sh access-lists (表示されない) R1#
この場合、後述のNamedACLとみなして特定行だけ削除することが可能。
R1(config)#ip access-list standard 1 R1(config-std-nacl)#no 10 R1#sh access-lists Standard IP access list 1 20 deny 192.168.1.20
■NamedACL
「ip access-list」の後に「standard」か「extend」を指定して名前を入力して管理
R1(config)#ip access-list ?
extended Extended Access List
log-update Control access list log updates
logging Control access list logging
resequence Resequence Access List
standard Standard Access List
R1(config)#ip access-list standard test
R1(config-std-nacl)#deny host 192.168.1.10
R1(config-std-nacl)#deny host 192.168.1.20
R1#sh ip access-lists
Standard IP access list test
10 deny 192.168.1.10
20 deny 192.168.1.20
running configにもコマンドを入力したフォームで記載される模様です。
ip access-list standard test deny 192.168.1.10 deny 192.168.1.20
■established
xp2からxpへのTCPパケット内の ACKやRST ビットが立っているパケットだけを許可しそれ以外は拒否します。
[RouterA]
interface Ethernet0/0
ip address 192.168.1.1 255.255.255.0
half-duplex
!
interface Ethernet0/1
ip address 10.1.1.1 255.255.255.0
ip access-group test01 in
half-duplex
!
ip access-list extended test01
permit tcp any any established
■再帰ACL
再帰 ACL では、上位層セッションの情報に基づいて IP パケットをフィルタリングします。ルータ内部から開始されたセッションに対して、発信トラフィックを許可し着信トラフィックを制限するために使用。TCPだけで無くUDPやICMPにも適用可能。
フィルタリングは送信元アドレス、宛先アドレス、ポート番号、ACK、RSTビット等も模様。
outのACLでreflect [name]を付け、戻りinのACLでevaluate [name]を指定します。
[RouterA]
interface Ethernet0/0 ip address 192.168.1.1 255.255.255.0 half-duplex ! interface Ethernet0/1 ip address 10.1.1.1 255.255.255.0 ip access-group inacl in ip access-group outacl out half-duplex ! ip access-list extended inacl evaluate TCP evaluate ICMP ip access-list extended outacl permit tcp host 192.168.1.10 host 10.1.1.2 reflect TCP permit icmp host 192.168.1.10 host 10.1.1.2 reflect ICMP
XPからXP-2へターミナル接続(TCP:3389)で接続してみてsh ip access-listsをみると動的にエントリが作成されている模様。
RouterA#sh ip access-lists
Reflexive IP access list ICMP
Reflexive IP access list TCP
permit tcp host 10.1.1.2 eq 3389 host 192.168.1.10 eq 1103 (189 matches) (time left 299)
Extended IP access list inacl
10 evaluate TCP
20 evaluate ICMP
Extended IP access list incal
Extended IP access list outacl
10 permit tcp host 192.168.1.10 host 10.1.1.2 reflect TCP (205 matches)
20 permit icmp host 192.168.1.10 host 10.1.1.2 reflect ICMP