1. 標準 ACL 予備知識
- 予備知識
- 送信元IPアドレスのみ設定可
- 番号付き標準ACLの範囲
1~99(IOS 12.0 以降では 1300~1999も可)の値で指定。 - 基本的に宛先に近い(out 側)インターフェイスに設定
2. 標準 ACL の設定と確認
■ 標準 ACL の設定
- 標準 ACL を作成(番号付き or 名前付き)
- インターフェイスに適応
■ 標準 ACL の作成(番号付き)
- 番号付き ACL の作成(ルールの作成)
! 許可(permit)する場合(ひな形と設定例)
(config)# access-list ACL番号(1~99) permit 送信元IP ワイルドカードマスク
(config)# access-list 1 permit 192.168.0.0 0.0.0.255
! 拒否(deny)する場合(ひな形と設定例)
(config)# access-list ACL番号(1~99) deny 送信元IP ワイルドカードマスク
(config)# access-list 1 deny 192.168.0.0 0.0.0.255
! hostで指定する場合(ひな形と設定例)
(config)# access-list ACL番号(1~99) permit host ipアドレス
(config)# access-list 1 permit host 192.168.1.10
- インターフェイスに適用
! インターフェイスに適用
(config)# interface 任意のインターフェイス
(config-if)# ip access-group 適用したいACL番号(1~99) out
! インターフェイスに適用(設定例)
(config)# interface fa0/1
(config-if)# ip access-group 1 out
■ 標準ACLの作成(名前付き)
! ひな形
(config)# ip access-list standard 任意の名前
(config-std-nacl)# deny 送信元IP ワイルドカードマスク
(config-std-nacl)# exit
! インターフェイスに適用
(config)# interface 任意のインターフェイス
(config-if)# ip access-group 適用したいACL名 out
! 設定例
(config)# ip access-list standard test
(config-std-nacl)# deny 192.168.0.0 0.0.0.255
(config-std-nacl)# permit any
(config-std-nacl)# exit
! インターフェイスに適用
(config)# interface fa0/1
(config-if)# ip access-group test out
3. ACL の確認
■ 作成した ACL の確認
! 全てのACL表示
# show access-lists
! IP プロトコルのACL表示
# show ip access-lists
! 特定のACL表示
# show access-lists acl番号
# show access-lists acl名
■ ACL を適用したインターフェイスの確認
! show ip interfaceからの確認
# show ip interface
! running-configからの確認
# show running-config
4. 拡張 ACL の削除
■ ACL の削除
(config)# no access-list ACL番号
(config)# no access-list ACL名
※ この場合、対象の ACL の設定がすべて消えてしまいます。
特定の行を削除する場合は、シーケンス番号を指定して削除するやり方を使います。
シーケンス番号は、show access-lists コマンドで確認できます。
■ 特定の ACL のルールを削除
(config)# ip access-list standard ACL番号
(config-std-nacl)# no シーケンス番号
(config)# ip access-list standard ACL名
(config-std-nacl)# no シーケンス番号
シーケンス番号には対象の行のシーケンス番号を指定します。
しっかりとシーケンス番号とルールを確認して削除しましょう。
5. VTY アクセス制御(TELNET / SSH)
■ VTY 回線に ACL を設定、適用
ACLは物理インターフェイスだけでなく、VTY回線に適用することもできます。
VTY 回線に適用することで TELNET 接続や、 SSH 接続を利用したルーターへのリモートアクセスを制御できます。
(config)# access-list 1 permit 送信元IP ワイルドカードマスク
(config)# line vty 0 4
(config-if)# access-class ACL番号 in
(config)# line vty 0 4
(config-if)# access-class ACL名 in
- アクセスリストの作成は同じ。
- VTYラインに適用
- このルータにアクセスしてくる通信制御なので in で指定。
※ VTYでは、適用時のコマンドが 「access-class」 になっているところに注意
標準 ACL まとめ
■ ACL の設定と確認
- 番号付き ACL の作成と適用
! 1. 番号付きACLの作成
(config)# access-list ACL番号(1~99) permit 送信元IP ワイルドカードマスク
! 2. インターフェイスに適用
(config)# interface 任意のインターフェイス
(config-if)# ip access-group 適用したいACL番号(1~99) out
- 名前付き ACL の作成と適用
! 1. 名前付きインターフェイスの作成
(config)# ip access-list standard 任意の名前
(config-std-nacl)# deny 送信元IP ワイルドカードマスク
(config-std-nacl)# exit
! 2.インターフェイスに適用
(config)# interface 任意のインターフェイス
(config-if)# ip access-group 適用したいACL名 out
- ACL の設定確認
! 全てのACL表示
# show access-lists
! IP プロトコルのACL表示
# show ip access-lists
! 特定のACL表示
# show access-lists acl番号
# show access-lists acl名
! ACL を適用したインターフェイスの確認コマンド
# show ip interface
# show running-config
■ ACL の削除
- ACL全体を削除(中身すべて消える)
(config)# no access-list ACL番号
(config)# no access-list ACL名
- 特定の ACL のルールを削除(一部を削除)
(config)# ip access-list standard ACL番号
(config-std-nacl)# no シーケンス番号
(config)# ip access-list standard ACL名
(config-std-nacl)# no シーケンス番号
一部を消すときは、シーケンス番号確認。
■ VTY アクセス制御(TELNET / SSH)
(config)# access-list 1 permit 送信元IP ワイルドカードマスク
(config)# line vty 0 4
(config-if)# access-class ACL番号 in
(config)# line vty 0 4
(config-if)# access-class ACL名 in
- VTYは「ルータへ入ってくる通信」なので in
- 適用コマンドは access-class(物理IFは access-group)
| コマンド | 役割 |
|---|---|
| ip access-group | インターフェイスに ACL を適用 |
| access-class | VTY に ACL を適用 |