頭文字D / 高橋涼介風:ACL(設定編)
CL(アクセスコントロールリスト)設定前
啓介、それから藤原も聞いてくれ。ACLの設定は単なる構文の暗記じゃない。どのトラフィックを、どこで、どの方向に許可・拒否するかを設計することが勝負を分ける。
ACLの設定には欠かせない、次の三つの条件を頭に叩き込んでくれ。
- 最初にマッチしたルールだけが適用される
- 明示しなければ、すべて deny(暗黙のdeny)
- IN/OUT 方向で1つずつしかACLは適用できない
繰り返しになるが、ルールの順番を間違えれば、一発で失敗する。肝に銘じることだ。
ACL番号 | トラフィックの管理 | |
番号付き標準ACL | 1~99 1300~1999 | 送信元IPアドレスのみ |
番号付き拡張ACL | 100~199 2000~2699 | 送信元/宛先IPアドレス、ポート番号、プロトコルも考慮 |
「番号付き標準ACL」の設定(高橋啓介風)
【涼介】
啓介、まずは“番号付き標準ACL”からだ。このタイプはシンプルだ。送信元のIPアドレスだけを見て、通すか、止めるかを決める。“誰が来たか”だけを見て判断するんだ。
▷ 設定の基本構文
Router(config)# access-list [1〜99 または 1300〜1999] [permit|deny] [送信元IP] [ワイルドカードマスク]
【啓介】
おっけー、兄貴。まずは、「ACL番号10を定義して、192.168.1.0/24 の送信元からの通信を許可するぜ。「番号付き標準ACL」はACL番号と送信元IPアドレスが肝だ。
Router(config)# access-list 10 permit 192.168.1.0 0.0.0.255
そして、できたリストをインターフェースに適用する。今回はFastEthernet0/0のインバウンドにACL 10を適用するぜ。
Router(config)# interface FastEthernet0/0
Router(config-if)# ip access-group 10 in
これはつまり、どの車線からの侵入を許可するのかを、入り口側で決めるイメージだな。
「番号付き拡張ACL」の設定(藤原拓海風)
【涼介】
次は藤原の番号付き拡張ACLだ。これは、送信元IP、宛先IP、プロトコル、ポート番号までを使って制御する。――まさにフルスペックだ。慣れないと大変だが、自分の持つスキルを信じて精一杯やってくれ。
【藤原拓海】
分かりました。
『出来るか不安だけど、やれることはすべてやる。それしかない。「この車は、何番ゲートから、どのエリアに、何の目的で入ってくるのか?」それをすべてチェックしてから許可を出すんだ。』
▷ 設定の基本構文
Router(config)# access-list [100〜199 または 2000〜2699] [permit|deny] [プロトコル] [送信元IP] [SM ワイルドカード] [宛先IP] [DM ワイルドカード] [eq ポート番号]
まずはaccess-listコマンドだ。番号、permit プロトコル、IPアドレス、ポートの順で入力だ。
Router(config)# access-list 110 permit tcp 192.168.1.0 0.0.0.255 any eq 80
これはこうだ「ACL 110を定義。192.168.1.0/24 から外部(any)へのHTTP通信(TCPポート80)を許可する。」そして、これをインターフェースに適用する。
Router(config)# interface FastEthernet0/1
Router(config-if)# ip access-group 110 out
これは、ピットからサーキットへ車を出すときに、「HTTPで行くならOKだ」と言ってるようなもんだな。
【涼介】
ふたりとも上出来だ。次は「名前付き標準ACL」と「名前付き拡張ACL」だ。藤原、連続だがいけるか?
【藤原拓海】
問題ありません。
【涼介】
よし、すぐに準備に取り掛かってくれ。
「名前付き標準ACL」の設定(藤原拓海風)
【涼介】
これまで、何度も話したから分かっているだろうが、名前付き標準ACLってのは、シンプルに言えば、番号付き標準ACLの名前バージョンだ。要は、ACLに番号を使う代わりに、わかりやすい名前を付けて、そのACLを管理するってことだ。
Router(config)# ip access-list standard [ACL名]
Router(config-std-nacl)# [permit|deny] [送信元IP] [ワイルドカードマスク]
- ACL名: 任意の名前を付ける(例:myACL, blockedIP)
- permit|deny: アクセスを許可 (permit) または拒否 (deny)
- 送信元IP: 送信元のIPアドレス(例:192.168.1.0)
- ワイルドカードマスク: IPアドレスの逆マスク(例:0.0.0.255)
すべき事が分かっていれば、何も怖くない。頼んだぞ。藤原。
【藤原拓海】
はい。
Router(config)# ip access-list standard pitCrew
Router(config-std-nacl)# permit 192.168.1.0 0.0.0.255
Router(config-std-nacl)# deny any
Router(config-std-nacl)# exit
順番は守らないといけない。しっかりと設定が出来てひと安心だ。
一応、設定状況を確認しておこう。特権モードでshowコマンドだ。
Router# show ip access-lists pitCrew
Standard IP access list pitCrew
10 permit 192.168.1.0, wildcard bits 0.0.0.255
20 deny any
GigabitEthernet0/1インターフェースにインバウンドであてて、設定を終了するぞ。
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip access-group pitCrew in
Router(config-if)# exit
Router(config)# exit
【涼介】
インターフェースに設定する前に設定状況の確認をしていたのか。そこまでは教えていないのに、凄いな。showコマンドで表示した、この「10」や「20」がシーケンス番号だ。ACLのエントリを一位に識別して、順序を管理している。ACLの編集をする場合は、このシーケンス番号を確認、利用するんだ。
これはエントリの追加方法。
Router(config-std-nacl)# 15 permit 192.168.2.0 0.0.0.255
次は削除の方法。
Router(config-std-nacl)# no 15
シーケンス番号の修正には二通りある。ひとつは変更したい設定を削除して、同じ内容のものを再設定するやり方だ。そして、もうひとつは再シーケンスコマンドを利用する方法だ。
設定を削除して、再設定する方法。
Router(config)# ip access-list standard pitCrew
Router(config-std-nacl)# no 10
Router(config-std-nacl)# 50 permit 192.168.1.0 0.0.0.255
再シーケンスコマンドを利用する方法
Router# ip access-list resequence pitCrew 10 10
よし。次は啓介の番だ。「名前付き拡張ACL」を攻略してこい。
【啓介】
分かったぜ、兄貴。
「名前付き拡張ACL」の設定(高橋啓介風)
【涼介】
言わなくても分かるな。啓介。
Router(config)# ip access-list extended [ACL名]
Router(config-ext-nacl)# [permit|deny] [プロトコル] [送信元IP] [送信元ワイルドカード] [宛先IP] [宛先ワイルドカード] [eq ポート番号]
- ACL名: 任意の名前を付ける(例:httpAccess, restricted)
- permit|deny: アクセスを許可 (permit) または拒否 (deny)
- プロトコル: 制御するプロトコル(ip、tcp、udp、icmpなど)
- 送信元IP: 送信元のIPアドレス(例:192.168.1.0)
- 送信元ワイルドカード: 送信元IPの逆マスク(例:0.0.0.255)
- 宛先IP: 宛先のIPアドレス(例:10.0.0.0)
- 宛先ワイルドカード: 宛先IPの逆マスク(例:0.0.0.255)
- ポート番号: 特定のポート番号(例:eq 80)
【啓介】
細かな変化も見落とさないぜ。集中して設定だ。
Router(config)# ip access-list extended chiefMechanic
Router(config-ext-nacl)# permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.0.0.255 eq 80
Router(config-ext-nacl)# deny ip any any
Router(config-ext-nacl)# exit
次は、INかOUTで設定だ。今回はインターフェースに入ってくるパケット制御として設定するぜ。インバウンドだ。
【亮介】
いい判断だ。啓介。自分でどちらの設定をすべきかを考えて走りを柔軟に変化させたな。オーソドックスな切り分け方だ。出来たら参考にしてくれ。
選択肢 | 特徴 | 向いている場合 |
---|---|---|
インバウンド (in ) | インターフェースに入ってくるパケットを制御 | 最初に入ってきた場所で制御したいとき(効率が良い) |
アウトバウンド (out ) | インターフェースから出ていくパケットを制御 | 出口で制御したいときや、インバウンドACLを既に使っているとき |
今日はここまでだ。下にITスクール情報を置いておく。俺は学習にも闘争心が必要だと考えている。まだまだ、これからだと思えるなら限界を超えた走りを見せてくれ。健闘を祈る。


