Ciscoポートセキュリティの設定方法と動作確認【CML検証付き】

Layer2
この記事は約20分で読めます。

CCNA の学習を進めていると、1度は目にするのが 「ポートセキュリティ」 の問題です。

ただし、用語や仕組みは理解できても、実際に設定して挙動を確認したことがないと

本当にこう動くのかな?」と不安になる方も多いのではないでしょうか。

本記事では、CML 2.9(Cisco Modeling Labs)を使って実際にポートセキュリティを構築・検証し、

そのときのコンフィグやログ、スクリーンショットを交えてわかりやすく解説します。

この記事を読むとわかること
  • ポートセキュリティを設定するための具体的なコマンド
  • 違反が発生したときの挙動と確認方法
  • エラーからの復旧手順

「試験対策としての理解」だけでなく、

実際の設定イメージを掴みたい方にとっても参考になる内容になっています。

なお、今回の検証で使用している CML(Cisco Modeling Labs) は、Cisco機器を仮想環境で動かせるシミュレーションツールです。

初めて使う方は、以下の記事で構築手順や基本的な使い方をまとめていますので、あわせてご覧ください。

それでは早速、解説していきましょう。

検証環境

使用ツール

使用するツールは以下になります。

  • CML 2 2.9.0 + build.3

なお、今回は検証をシンプルにするため、以下の要素は省略しています。

  • Syslogサーバーは設置しない
  • SNMPサーバーは設置しない

ポートセキュリティ検証用のネットワーク構成図

ネットワーク構成は以下の通りになります。

各機器のバージョンは以下の通りになります。

分類名称バージョン
L2 Switchiol-l2Version 17.16.1a
クライアント PCDesktopAlpine Linux 3.21.3

想定する結果

想定する結果は以下の通りになります!

  • desktop-A → desktop-C:pingはOK
  • desktop-B → desktop-C:pingはNG

また、ポートセキュリティにてdesktop Bの通信が遮断されたときのログなども確認出来たらいいなと思っています。

設定手順

CMLにはブラウザから利用できる GUIコンソール機能 が備わっており、そのままノードを操作することも可能です。

一方で、Teratermなどを使ってCML本体へSSH接続し、そこからノードにアクセスする方法もあります。

GUI操作は手軽ですが、実機の学習や試験対策を意識するならコンソール操作に慣れておくのがおすすめです。

本記事では、Teratermを使った操作手順を解説していきます。

GUIではなく「実機に近い感覚でコマンドを叩きたい」という方は、以下記事をぜひ参考にしてください。

desktop-A

dekstop-Aでは、以下3点の設定を行っていきたいと思います!

  • MACアドレス
  • ホスト名(任意)
  • IPアドレス

早速おこなっていきます。

CML上のDesktopに関して、もし電源をONにしている場合は一度、電源を落としてください。

MACアドレス

電源が落ちている状態で、desktop-Aをクリックします。

UI上で右に設定を変更できる画面が表示されます。

INTERFACES > MAC Address(下記赤枠の空白になっているところ)をクリックします。

すると、MACアドレスの前半6桁が埋まった状態で、残り6桁を入力できる状態になります。

今回はわかりやすく、各desktopのMACアドレスを連番で振りたいと考えておりますので、

01で設定していきます。

入力が終わったら、チェックマークをクリックします。

ホスト名

GUI上でdesktop-AのPCアイコンをクリックします。

右ペインから「Config」タブをクリック。

以下赤枠で囲った箇所を編集していきます。

以下の通りホスト名を変更できたら、SAVEをクリックします。

ここまで完了したら、startを押してdesktop-Aを起動してください。

IPアドレス

続いてIPアドレスの設定に行きます。
desktop-Aは192.168.1.1を割り振るので以下の通り設定します。

ネットワーク設定ファイルをviエディタで開く

補足になりますが、ネットワークファイルのデフォルト値は以下の通りです。

auto eth0を編集していきますが、設定前はDHCPになっていることが確認できます。

補足:ネットワーク設定ファイルのデフォルト値

ファイル内の文字を編集できる状態になりますので、以下の通り入力するか、コピペしてください。

ネットワーク設定ファイルを編集する

ファイルを開けたら、キーボードキーのiを押します。

入力が完了したら、ESCキーを押します。

:wqを押して、エンターキーを押すと設定内容が保存されます。

「:」コロンは必ず必要ですので、見落とし注意です!

設定内容を反映させるため、再起動します。

再起動

設定したIPアドレスが反映されているか確認していきます。

IPアドレスを確認するコマンド

出力結果はこんな感じ

ip aの出力結果

確認してみると先ほど設定したMACアドレスも問題なく反映してますね!

以下の設定をdesktop-Bとdesktop-Cにも設定していきます。

desktop-B

desktop-Bもdesktop-Aと同様に設定していきます。

設定内容はdesktop-Aとほとんど変わりませんので、省略しながら進めていきます!

MACアドレス

まずは、MACアドレスから行います。

末尾が「02」になるように設定します。

ホスト名

ホスト名も変更していきます。

ここまで完了したら、desktopの電源をONにします。

IPアドレス

viエディターにて設定ファイルを直接編集していきます。

ネットワーク設定ファイルを編集する

設定が完了したら、:wqを押して、内容を保存します。

reboot実行後、ip aコマンドにて設定内容の確認を行います。

ip a出力結果

desktop-C

desktop-Cの設定していきます。

MACアドレス

スクショだけ載せていきます。末尾が「03」になるように設定します。

ホスト名

ホスト名も変更していきます。

IPアドレス

viエディターにて設定ファイルを直接編集していきます。

ネットワーク設定ファイルを編集する

設定が完了したら、:wqを押して、内容を保存します。

reboot実行後、ip aコマンドにて設定内容の確認を行います。

ip a出力結果

ping疎通確認

各desktopの設定が完了したら、pingの疎通確認を行います。

desktop-Aからdesktop-BとC当てにpingを実行します。

pingは永続的に実行されるようですので、Ctrl + Cにて途中で動作をキャンセルします。

desktop-Aからdesktop-B宛てのping
desktop-Bからdesktop-C宛てのping

適当な回数pingを実行し、各端末間の疎通が問題ないことが確認できました。

ここからはいよいよポートセキュリティの設定になります!

SW-01

では、さっそくSW-01にポートセキュリティの設定を行っていきたいと思います。

switchportのモード指定

続いて、ポートセキュリティの設定を有効化します。

ポートセキュリティの有効化
セキュアMACアドレスの登録

ここまで設定できたら、特権モードに戻り、設定を保存します。

SW-01で設定した内容を確認していきましょう

今回確認で使用するコマンドは2つになります。

  • show running-config
  • show port-security

結果は以下の通りです。

show running-configの一部結果抜粋

すみません、テキストで結果を貼り付けると体裁が崩れてしまったので、画像で結果はペーストしています。

show port-securityの出力結果

動作確認

ここまで確認できたら、desktop-Aとdesktop-Bにてpingを実行してポートセキュリティの検証を行っていきたいと思います。

desktop-Aからdesktop-C
desktop-Bからdesktop-C

desktop-Bからpingを打った場合、pingの応答がないことが確認できました。

windowsの場合は、time out や宛先ネットワークに到達できません。のようなエラー文を返してくれるのですが、Alpine Linuxの場合、無反応ですので使い慣れてない私からすると少し使いにくく感じてしまいます。。

ちなみにCML上ではリンクのステータスがわからないので、コンソールで確かめていきましょう。

SW-01側の確認をしていきます。

以下からコマンドの表示結果の見栄えが上記と異なります。(すみません)
記事を書いている最中によりよい方法を見つけてしまいました。
(直すのが面倒くさいのでこのまま書き進めさせてください。)

show port-securityコマンドを実行すると、securityViolationが「1」になっていることが確認できます。

ポートセキュリティ確認コマンド

show port-security
show port-securityの出力結果
SW-01#show port-security
Secure Port  MaxSecureAddr  CurrentAddr  SecurityViolation  Security Action
                (Count)       (Count)          (Count)
---------------------------------------------------------------------------
      Et0/1              1            1                  1         Shutdown
---------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port)     : 0
Max Addresses limit in System (excluding one mac per port) : 4096
SW-01#

ポートのステータスについても確認していきます。

ポートステータス確認コマンド

show interfaces status
show interfaces status
SW-01#show interfaces status

Port         Name               Status       Vlan       Duplex  Speed Type
Et0/0                           connected    1            full   auto 10/100/1000BaseTX
Et0/1                           err-disabled 1            full   auto 10/100/1000BaseTX
Et0/2                           connected    1            full   auto 10/100/1000BaseTX
Et0/3                           connected    1            full   auto 10/100/1000BaseTX
Et1/0                           connected    1            full   auto 10/100/1000BaseTX
Et1/1                           connected    1            full   auto 10/100/1000BaseTX
Et1/2                           connected    1            full   auto 10/100/1000BaseTX
Et1/3                           connected    1            full   auto 10/100/1000BaseTX
SW-01#

想定通り、Ethernet0/1のステータスが「 err-disabled」になっていることが確認できました!

最後に、該当ポートを正常な状態に戻して終わりたいと思います。

ethernet0/1をOFF→ONする
SW-01(config)#interface ethernet0/1
SW-01(config-if)#shutdown
SW-01(config-if)#no shutdown
SW-01(config-if)#
show interfaces status
SW-01#show interfaces status

Port         Name               Status       Vlan       Duplex  Speed Type
Et0/0                           connected    1            full   auto 10/100/1000BaseTX
Et0/1                           connected    1            full   auto 10/100/1000BaseTX
Et0/2                           connected    1            full   auto 10/100/1000BaseTX
Et0/3                           connected    1            full   auto 10/100/1000BaseTX
Et1/0                           connected    1            full   auto 10/100/1000BaseTX
Et1/1                           connected    1            full   auto 10/100/1000BaseTX
Et1/2                           connected    1            full   auto 10/100/1000BaseTX
Et1/3                           connected    1            full   auto 10/100/1000BaseTX
SW-01#

最後に

今回は CMLを用いてポートセキュリティの基本的な設定と挙動を検証しました。

実際にコマンドを入力して挙動を確認することで、テキストだけでは掴みにくい動きを理解できたのではないかと思います。

ポートセキュリティには、今回触れた内容以外にも sticky MAC の設定違反モード(protect / restrict / shutdown)の挙動比較 など、学べるポイントがまだまだあります。

設定を少しずつ変えて検証してみると、より理解が深まるかと思います。

また、CCNA試験でよく出るテーマとして「EtherChannel」もあります。

パケットトレーサーでの例にはなりますが、解説記事をまとめていますので、次の学習ステップにぜひ参考にしてください。

コメント

タイトルとURLをコピーしました