アクセス制御リストに詳しい方なら、アクセス制御リストにはさまざまな種類があることをご存知かと思います。 IP バージョン 4 用、IP バージョン 6 用、IPX 用、DECnet 用、AppleTalk 用のアクセス制御リストがあり、数え上げればきりがないほどです。 担当は? 現時点ではIPバージョン4を担当しており、IPバージョン4に重点を置いています。 そして、IPバージョン4のアクセス制御リストは、標準と拡張の2種類に分けることができます。 この違いは何でしょうか?
- 標準ACL
- ACLソース・アドレスをチェック
- プロトコル・スイート全体を許可または拒否
- 拡張ACL
- チェックする。 送信元および宛先アドレス
- 特定のプロトコルおよびアプリケーションを一般的に許可または拒否する
- 送信元および宛先TCPおよびUDPポート
- プロトコルタイプ(IP.NET.NET.NET)
- 特定のプロトコルおよびアプリケーションを一般的に許可または拒否する。 1470>
さて、どんなパラメータを調べるかですが、この規格は何を調べるのか、規格を読んでほしいのです。 何をチェックするのか? それを読んでほしい。 そして、それを記憶する方法を示すつもりです。 つまり、standardはdestinationを見ないので、実用的にはあまり意味がありません。 宛先を調べることができないということは、かなり限定的です。通常、どこから来てどこへ行くのかを調べたいものです。 しかし、標準的なアクセスリストには、送信元アドレスと共通するものがありますね。
一方、拡張アクセス制御リスト (extended ACL) は、はるかに強力で、送信元と送信先を見ることができ、TCP や User Data Protocol、UDP などのトランスポート層のプロトコルを見ることができます。 また、HTTP、FTP、TFTP、DNS、セキュア・ソケット・レイヤー、セキュア・シェルなど、TCPやUDP上のアプリケーション層プロトコルを確認することもできます。 では、拡張アクセス・リストが標準アクセス・コントロール・リストよりも多くのことに対応できることをどのように覚えればよいのでしょうか。 標準のアクセス・コントロール・リストについて説明したとき、このリストがチェックするのはソース・アドレスだけであることを指摘しました。 標準は S で始まり、ソースも S で始まります。
ですから、標準、ソースのみ、S、S と覚えていますが、拡張では、他のすべてを覚えています。 つまり、E はすべてを記憶するのに役立つのです。 現在では、一致させることができないものもあります。 シーケンス番号や確認応答番号、TCPのフラグの多くにはマッチしませんが、そのうちの1つにはマッチしてビットを送信することができます。 しかし、これはより包括的なものなので、あらゆるものに近づけることができます。 これらを入力する際には、古い構文と新しい構文の2つのセットがあることに留意してください。 古い構文は番号付き、新しい構文は名前付きで、番号付きの構文はちょっとトリッキーです。 数値の名前に出会うことはあまりありません。 標準的なアクセスリストでは、1~99の数字があります。 1300から1999までは使いませんので、近づかないようにしましょう。 この範囲の覚え方としては、必ず99で終わる、すべての範囲が99で終わるということです。 そして、3桁の値に拡張するとき、2桁から3桁にジャンプするとき、拡張しているので、拡張IPアクセスリスト範囲になります。
IPv4 ACL Type Number Range / Identifier 番号標準 1-99、1300-1999 番号拡張 100-199です。 2000-2699 Named (Standard and Extended) Name しかし、これは率直に言って、私たちがより責任を負う構文ですが、もう 10 年間ほど、名前付きアクセス制御リストを持っていたのです。 実際、今こうしている間にも 10 年以上が経過しています。 名前付きアクセス・コントロール・リストの利点は何でしょうか。 まず、名前付きアクセス・コントロール・リストには、説明的な名前を付けることができます。 つまり、アクセス・コントロール・リストを79という名前にする代わりに、説明的な名前を付けることができ、その名前によって、アクセス・コントロール・リストが何を達成するために設計されているかを理解することができます。
番号付きアクセス制御リストでは、エントリを追加する必要がある場合、コマンド ライン インターフェイスに移動してエントリを追加しようとすると、すでにあるエントリよりも先に参照されることに注意してください。 今、そこに行って、そこに入れることはできません。それを作成するための構文はありません。 編集機能が制限されるわけですが、どうすればいいのでしょう? 全部消して、作り直す。 だからメモ帳が便利なんです。 しかし、名前付きアクセス制御リストでは、名前付きアクセス制御リストの構文に入り、アクセス制御リストのエントリを追加、移動、削除、適当に変更することが可能です。 しかし、ここで誤解しないでください。 1、2、3、4や100、150といった番号付きのアクセス制御リスト識別は、やはりアクセス制御リストの名前なのです。 後ほど説明しますが、名前付きアクセス制御リスト構文を利用して、番号付きアクセス制御リストを編集することができます。 これはとてもクールな機能で、番号付きアクセス制御リストを編集して間違いを修正することができます。
標準の番号付きACL
標準のアクセスリスト、彼らは何を探しているのでしょうか。 私はあなたに尋ねています、彼らは何を探すのでしょうか? 彼らはソース・パラメータを探しますが、ここではそれを見ることができます。 つまり、レイヤ2フレームヘッダは気にせず、パケットヘッダを見て、パケットヘッダのソースフィールドを見て、それだけを頼りにマッチングするのです。 つまり、トランスポート層まで踏み込むことはないのです。 そして、いずれもデータには入りません。
ここで、待ち望んでいた構文があります。 過度に複雑ではありません。 まず第一に、グローバルコンフィギュレーションモードで番号付きアクセスコントロールリストを設定します。 access-listと入力し、アクセスリストの番号を指定します。 これは標準的なIPv4アクセス・コントロール・リストですが、番号の範囲はどうなっているのでしょうか。 1から99までと1300から1999までです。 これらの値の中から任意の番号を指定すると、ルーターは自動的に標準的なIPv4アクセス制御リストを作成していることを認識し、使用する正しい構文を提供します。 つまり、間違った番号を入力した場合、標準のIPバージョン4のアクセス制御リストを作成しようとしているところに101を入力すると、拡張アクセス制御リストの構文が表示されますよね? だから番号の付け方に注意して、正しい番号を選んでから、このトラフィックに対してどのような動作をさせたいかを指定するんだ。 許可しますか? 拒否しますか? リマークを付けることもできます。リマークって何ですか? それは単なる説明です。 このアクセス制御リストを記述することで、後でアクセス制御リストを確認するときに、何のためのリストなのかを知ることができます。
deny 拒否するパケットの指定permit 転送するパケットの指定remark アクセスリストエントリのコメントR1(config)#access-list 1 permit ?一致するホスト名または A.B.C.D アドレスany ソースホストhost 単一ホストアドレスR1(config)#access-list 1 permit 172.B.C.D permit 172.B.C.D permit 172.B.C.D permit 172.B.C.D permit 172.B.C.D allow 172.B.D.16.0.0 ?/nn または A.B.C.D ワイルドカードビットlog このエントリに対するログマッチ<cr>R1(config)#access-list 1 permit 172.16.0.0 0.255.255 ?log このエントリに対するログマッチ<cr>R1(config)#access-list 1 permit 172.16.0.0.255.255R1(config)#<9595>続いてソースですが、ソースとはなんでしょうか? 先ほど、アドレスとワイルドカードマスクの組み合わせについて見ていたのを覚えていますか… ソースとはソース・アドレスのことで、範囲比較に使用する開始点のことです。 この例では、172.16.0.0がアドレスで、ソースとマスクになっています。 マスクとは何でしょうか。 ここで注意してほしいのは、これはサブネットマスクではない、ということです。 ワイルドカード・マスクです。 ここでワイルドカードマスクを入れるのです。 この例では0.0.255.255ですが、先ほど作成したアクセス制御リストがチェックするアドレスの範囲はどこでしょうか。 172.16.0.0 から 172.16.255.255.
ワイルドカードマスクがいかに重要か、そしてそれが何をするものかを理解すれば、それを作成したり読んだりするのに役立ちますね。 ここにデフォルトのワイルドカードマスクがあると書いてありますが、これは大目に見てください。オペレーティングシステムは一般的に、アクセス制御リストの中にワイルドカードマスクがないエントリを入れると、もうその構文を受け付けません。 さて、これは古い動作で、最近のものを代表するものではありません。 グローバルコンフィグレーションモードのaccess-listにあるようなエントリーを入れると、それは単なる1つのエントリーに過ぎません。 もし別のエントリーを追加したい場合は、access-list 1が残っていて、次のpermitまたはdenyシーケンスを構築することになります。 アクセス制御リストの最小サイズはどのくらいですか。
最小サイズは1つのpermit文になります。 そうですね、1 つの deny ステートメントだけでは、ログを記録している場合を除き、何の役にも立ちません。 そして最大は、あなたが夢見るもの、あなたが耐えられるものであれば何でもいいのです。 グローバルコンフィギュレーションモードでアクセスコントロールリストを完成させたら、それを検証することができます。 しかし、アクセスリストを表示するには、IPv4、IPv6、Macアドレスアクセスリスト、IPX、AppleTalkなどすべてのアクセスリストを表示するコマンドを実行します。
R1#show access-listsStandard IP access list 110 permit 172.16.0.0, wildcard bits 0.0.255.255そして1つのエントリーが表示されることがわかります。 さて、ちょっと待ってください。permit 172.16にワイルドカードマスクをつけていますが、そこにある10は何でしょうか? アクセスリストの中で命を吹き込まれた10は何なのでしょう? 10は、アクセスリストに追加される自動的なシーケンス番号です。 デフォルトでは10になります。 もし別のエントリを作成するとしたら…つまり、access-list 1 permit 192.168.1.0 0.0.255 と入力すると、自動的にシーケンス番号が付与されることになるのです。
そして、これは重要なことですが、アクセスコントロールリストを編集したい場合、あちこちにエントリを追加したいかもしれませんが、名前付き構文でしかできません。
アクセスリストの削除は非常に簡単です。強力なnoコマンドを覚えておいてください。no access-listと入力し、削除したいアクセスリストの番号を入力してください。 注意してください、注意してください。 例えば、no access-list 1 permit 172.16.0.0 0.0.255.255 と打ち込んだとしましょう。 つまり、以前作成した標準アクセスリストのエントリーを削除したいわけです。 noと入力して、前に入力したコマンドをすべて指定すると、その1つのエントリだけが削除されるでしょうか。 もう一度言いますが、その1つのエントリーだけを削除するのでしょうか? 最初はそう思うかもしれませんが、実際に試してみるとどうでしょう。 いいえ、それは起こりません。 その1つの項目だけを削除するのではなく、どうするのでしょうか? どうなるかというと、全部が削除されます。
R1#config t
1行に1つずつコンフィグレーションコマンドを入力します。 CNTL/Zで終了します。
R1(config)#no access-list 1
R1(config)#end
R1#sh access-lists
R1#通常、特定のコマンドを入力して、それをノーと入れると、その1コマンドだけ削除されるようになってますね。 ここでは、構文に非常に注意する必要があります。何があっても、アクセス・リストなしと言い、番号を与えます。 その後どうなろうとも、アクセスリスト全体をつぶしてしまいます。この動作によって、多くの悪い日が引き起こされました。
。