[CCNA] アクセスリスト(ACL)

○番号付き標準ACL

アクセスリストを作って、
インターフェースVlan1に適用。

192.168.1.0/24からのアクセスは許可するけど、
192.168.1.10だけは拒否する設定。

(config)#access-list 1 deny 192.168.1.10 0.0.0.0 (←この順番が大事)
(config)#access-list 1 permit 192.168.1.0 0.0.0.255
(config)#int vlan 1
(config-if)#ip address 192.168.1.1 255.255.255.0
(config-if)#ip access-group 1 in

コンフィグはこんな感じ

!
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip access-group 1 in
!
(~中略~)
!
access-list 1 deny   192.168.1.10
access-list 1 permit 192.168.1.0 0.0.0.255

接続したPC側NICのIPアドレスを
192.168.1.11/24に設定して192.168.1.1へping
→成功
192.168.1.10/24に設定して192.168.1.1へping
→失敗

●その他キーワード
・インバウンド、アウトバウンド
・ステートメントの順番
・暗黙のdeny
・ワイルドカードマスク

○番号付き拡張ACL

IPアドレスだけじゃなく、
プロトコルとかでも細かく設定できる。

pingは通さず、telnetは通す設定にする。

とりあえず、telnetの設定。

(config)#int vlan 1
(config-if)#ip address 192.168.1.1 255.255.255.0
(config-if)#exit
(config)#line vty 0 4
(config-line)#transport input telnet
(config-line)#pas pass

telnetでアクセスできることを確認。

ここで、アクセスリストを設定。

(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 23
(config)#int vlan 1
(config-if)#ip access-group 100 in

コンフィグを確認

!
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip access-group 100 in
!
(~中略~)
!
access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq telnet
!
(~中略~)
!
line vty 0 4
 password pass
 login
 transport input telnet
!

PC側NICのIPアドレスを192.168.1.10/24にして、
ping→失敗
telnet→成功

↑はtelnetのみ許可した形。
その他のプロトコル:(icmp含む)は拒否。

その他のプロトコルを許可して、
icmpのみ拒否する場合は、

(config)#access-list 101 deny icmp 192.168.1.0 0.0.0.255 any
(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 any

これでも、pingとtelnetの実行結果は↑↑とそれぞれ同じ。
(プロトコルに”any”は設定できなかったので、
とりあえずipにしといた。)

○名前付き拡張ACL


(※「名前付き標準ACL」もあるが割愛。番号付きと名前付きの違いを意識。)

↑↑と同じ内容の設定

(config)#ip access-list extended acl-name
(config-ext-nacl)#permit tcp 192.168.1.0 0.0.0.255 any eq telnet
(config-ext-nacl)#exit
(config)#int vlan 1
(config-if)#ip access-group acl-name in

permit/dney 以降の書き方は、
基本的に番号付きと同じ。

コンフィグ

!
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip access-group acl-name in
!
(~中略~)
!
ip access-list extended acl-name
 permit tcp 192.168.1.0 0.0.0.255 any eq telnet
!

データの入り方が若干違う。
だけじゃなく、

シーケンスNo.の指定によって、
自由に優先度を変えられる。
(番号付きアクセスリストでは不可。)

(config)#ip access-list extended acl-name
(config-ext-nacl)#deny icmp 192.168.1.0 0.0.0.255 any
(config-ext-nacl)#5 permit ip 192.168.1.0 0.0.0.255 any

ってすると、後から足したip許可の方が優先されて、
pingもtelnetも通るようになる。
(シーケンスNo.を指定しない場合は、10, 20, ….と振られる。)

コンフィグ上でも、シーケンスNo.の順番に表示される。

!
ip access-list extended acl-name
 permit ip 192.168.1.0 0.0.0.255 any
 deny   icmp 192.168.1.0 0.0.0.255 any
!

シーケンスNo.を確認したい場合は、
“show ip access-lists”コマンドを使う。

#show ip access-lists
Extended IP access list 101
    10 deny icmp 192.168.1.0 0.0.0.255 any (8 matches)
    20 permit ip 192.168.1.0 0.0.0.255 any (600 matches)
Extended IP access list acl-name
    5 permit ip 192.168.1.0 0.0.0.255 any
    10 deny icmp 192.168.1.0 0.0.0.255 any (8 matches)

また、削除の場合も便利。

名前付きACLでは、
削除したい行を指定すれば、その行だけ削除される。

(config)#ip access-list extended acl-name
(config-ext-nacl)#no 5 (←シーケンス番号だけでも可)
(config-ext-nacl)#exit
(config)#do show ip access-lists
Extended IP access list 101
    10 deny icmp 192.168.1.0 0.0.0.255 any
    20 permit ip 192.168.1.0 0.0.0.255 any
Extended IP access list acl-name
    10 deny icmp 192.168.1.0 0.0.0.255 any

番号付きACLでは、
1行でも削除しようとすると、ACL丸ごと削除される。

(config)#no access-list 101 20
(config)#do show ip access-lists
Extended IP access list acl-name
    10 deny icmp 192.168.1.0 0.0.0.255 any

(スマホ問題集付)徹底攻略Cisco CCNA Routing & Switching教科書 ICND2編[200-105J][200-125J]V3.0対応

カテゴリーCCNA

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です