CCNA試験対策 下巻ch2: Basic IPv4 Access Control Lists
https://www.ciscopress.com/store/ccna-200-301-official-cert-guide-volume-2-9781587147135www.ciscopress.com
- IPv4 Access Control List Basics
IPv4 Access Control List Basics
- source IP address, destination IP address, port numberなどに基づいてパケットを特定する
- もっとも多いユースケースはパケットフィルタリング
- 他の用途にも使える
- QoSなど
ACL Location and Direction
Matching Packets
- source IP address, destination IP address, TCP/UDP port numberなどに基づいてパケットのマッチングを行う
Taking Action When a Match Occurs
- 本書ではフィルタリングのみ扱う
- deny/permit
Types of IP ACLs
Numbered | Named | |
---|---|---|
Standard | ||
Extended |
- 4つに大別される
- 本章ではStandard/Extended Numberedを学ぶ
Standard Numbered IPv4 ACLs
- source IPにのみマッチするやつ
- 1-99, 追加1300-1999
List Logic with IP ACLs
- first-matchなので、狭いのから広げていく
10.1.1.1 permit 10.1.1.x deny 10.x.x.x permit
- 1行でもコマンドが登録されていて何にもマッチしない場合、最後の暗黙のdeny anyにマッチする
Matching Logic and Command Syntax
- グローバルコンフィグでACLを作成
Router(config)#access-list ? <1-99> IP standard access list <100-199> IP extended access list Router(config)#access-list 99 ? deny Specify packets to reject permit Specify packets to forward remark Access list entry comment Router(config)#access-list 99 deny ? A.B.C.D Address to match any Any source host host A single host address Router(config)#access-list 1 deny any
- インタフェースコンフィグでinbound/outbound別にACLの番号を指定する
Router(config-if)#ip access-group 1 ? in inbound packets out outbound packets Router(config-if)#ip access-group 1 in
- コンフィグ確認
Router#show running-config | section access-list access-list 1 deny any Router#show running-config | section interface interface GigabitEthernet0/0/0 ip address 10.1.1.254 255.255.255.0 ip access-group 1 in duplex auto speed auto
- 疎通のできないこと確認
R2#ping 10.1.1.254 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.254, timeout is 2 seconds: UUUUU Success rate is 0 percent (0/5)
- 【補】debugにも映らなくなる
Router#debug ip icmp ICMP packet debugging is on Router#
Matching the Exact IP Address
Matching a Subset of the Address with Wildcards
Binary Wildcard Masks
Finding the Right Wildcard Mask to Match a Subnet
Router#show running-config | section access-list access-list 1 permit host 10.1.1.2 access-list 1 deny 10.1.0.0 0.0.255.255
- 10.1.1.2からのpingは通る
host 10.1.1.2
にマッチし、permitされる
R2(config-if)#ip add 10.1.1.2 255.255.255.0 R2(config-if)#end R2#ping 10.1.1.254 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.254, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/5 ms
- 10.1.1.3からのpingは通らない
10.1.0.0 0.0.255.255
にマッチし、denyされる
R2(config-if)#ip add 10.1.1.3 255.255.255.0 R2(config-if)#end R2#ping 10.1.1.254 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.254, timeout is 2 seconds: UUUUU Success rate is 0 percent (0/5)
0.0.255.255
: wildcard mask (WC mask)- OSPFとかで使ったやつ
- subnetの論理反転
- 変化していいよ、という部分のビットが立っている
Matching Any/All Addresses
- any
Router(config)#access-list 1 deny ? A.B.C.D Address to match any Any source host host A single host address
Implementing Standard IP ACLs
Router#show ip access-lists Standard IP access list 1 10 permit host 10.1.1.2 (10 match(es)) 20 deny 10.1.0.0 0.0.255.255 (5 match(es))
- 統計情報も見られる
Standard Numbered ACL Example 1
- 略
Standard Numbered ACL Example 2
- 「サーバー1からPC-Aへのパケットはpermitして」
- 「サーバー1からPC-Bへのパケットはdenyして」
- standard numbered ACLではこれらを両立できない
- source IP addressでしかマッチングできない
- first-matchなので、「サーバー1から」のコマンドは1つしか適用されない
- extended numbered ACLを使う必要がある
- destination IP addressも込みでルールを記述できる
- 100-199, 追加2000-2699
Router(config)#access-list ? <1-99> IP standard access list <100-199> IP extended access list Router(config)#access-list 101? <100-199> Router(config)#access-list 101 ? deny Specify packets to reject permit Specify packets to forward remark Access list entry comment Router(config)#access-list 101 permit ? ahp Authentication Header Protocol eigrp Cisco's EIGRP routing protocol esp Encapsulation Security Payload gre Cisco's GRE tunneling icmp Internet Control Message Protocol ip Any Internet Protocol ospf OSPF routing protocol tcp Transmission Control Protocol udp User Datagram Protocol Router(config)#access-list 101 permit ip ? A.B.C.D Source address any Any source host host A single source host Router(config)#access-list 101 permit ip 10.1.1.1 ? A.B.C.D Source wildcard bits Router(config)#access-list 101 permit ip 10.1.1.1 0.0.0.0 ? A.B.C.D Destination address any Any destination host host A single destination host Router(config)#access-list 101 permit ip 10.1.1.1 0.0.0.0 10.2.2.2 ? A.B.C.D Destination wildcard bits Router(config)#access-list 101 permit ip 10.1.1.1 0.0.0.0 10.2.2.2 0.0.0.0 ? dscp Match packets with given dscp value precedence Match packets with given precedence value <cr>
- remarkでACLにドキュメントを添えられる
Router(config)#access-list 1 ? deny Specify packets to reject permit Specify packets to forward remark Access list entry comment
Router#show running-config | section access-list access-list 1 permit host 10.1.1.2 access-list 1 deny 10.1.0.0 0.0.255.255 access-list 1 remark sample acl
Troubleshooting and Verification Tips
access-list
コマンド末尾にlog
を追記することでdeny/permit時のログを出力できるらしい- Packet Tracerで動作せず