このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
ネットワーク構成
ネットワークの構成は、下図のとおりです。

演習ファイルのダウンロード
ネットワークの構成を Packet Tracer で一から設定していくのは大変かと思います。「ダウンロード」から演習で使用するファイルのダウンロードができます。ファイルは、McAfeeインターネットセキュリティでウイルスチェックをしておりますが、ダウンロードは自己責任でお願いいたします。
ポートセキュリティの種類
ポートセキュリティを設定は、以下の3種類あります。
スタティック (static) | MAC アドレスをMACアドレステーブルに格納します。スイッチの実行コンフィギュレーションに追加されます。 |
ダイナミック (dynamic) | MAC アドレスを動的に学習して、MAC アドレステーブルに追加します。 学習した MACアドレスは、スイッチが再起動するときに削除されます。 |
スティッキ (sticky) | MAC アドレスを動的に学習して、MAC アドレステーブルに追加します。学習したMACアドレスは、実行コンフィギュレーションに追加されます。 |
ポートセキュリティの設定(スティッキ)
ここでは、スティッキ セキュアMACアドレスとして、PC1 と PC3 の MACアドレスを登録します。記憶できるMACアドレスを 2つに限定することで、PC4 から Switchへの接続を禁止していきます。
ポートセキュリティを有効にする
ポートセキュリティを有効にするには、スイッチポートのモードを access または trunk とします。ここでは「access」のモードを指定します。次に「switchport port-security」コマンドで、ポートセキュリティの機能を有効にします。
Switch(config)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
最大接続数を変更する
最大接続数を変更するには、「switchport port-security maximum」コマンドを使用します。
Switch(config-if)#switchport port-security maximum <数>
ポートごとのセキュアMACアドレスの最大数はデフォルトで1です。ここでは、Switch の f0/1に PC1 と PC3 のMACアドレスを登録するため、Switchの f0/1 に以下のコマンドを適用します。
Switch(config-if)#switchport port-security maximum 2
スティッキ セキュアMACアドレスの指定
スティッキ セキュアMACアドレスを指定するには、「switchport port-security mac-address sticky」コマンドで設定を行います。デフォルトは、セキュア アドレスのタイプがダイナミックとなっています。
以下のコマンドを実行します。
Switch(config-if)#switchport port-security mac-address sticky
PC1のMACアドレスを調べます。
C:\>ipconfig /all

PC3のMACアドレスを調べます。
C:\>ipconfig /all

PC1のMACアドレス : 0090.215b.4943
PC3のMACアドレス : 000C.CF91.737B
であることが分かります。
違反モードの指定
ポートセキュリティの設定を行ったら、最後に、違反モードを指定します。デフォルトの違反モードは 「shutdown」になっています。ここでは、デフォルトのままとしておきます。
デフォルト値を変更したい場合は、「switchport port-security violation」コマンドを使用します。パラメータは以下のようになります。
セキュリティ違反時のアクションの決定
Switch(config-if)#switchport port-security violation { protect | restrict | shutdown }
違反モード | Syslogメッセージの送信 | エラーメッセージ の表示 |
違反カウンター の増加 |
ポートの シャットダウン |
protect(保護) | NO | NO | NO | NO |
restrict(制限) | YES | NO | YES | NO |
shutdown (シャットダウン) |
NO | NO | YES | YES |
動作確認
PC1 と PC3 から、PC2 へpingを行い、PC1 と PC3 のMACアドレスを f0/1 に関連付けます。
それでは、まず PC1 から PC2 に ping を行います。
C:\>ping 192.168.1.20
Pingは、成功します。
次に PC3 から PC2 に ping を行います。
C:\>ping 192.168.1.20
Pingは、成功します。
Switch の MACアドレステーブルを表示します。
Switch#show mac-address-table
●「show mac-address-table」の出力
Switch#show mac-address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 000c.cf91.737b STATIC Fa0/1
1 0090.215b.4943 STATIC Fa0/1
1 00d0.d3bd.0950 DYNAMIC Fa0/2
F0/1 が、「STATIC」タイプとしてが登録されていることが確認できます。「SecureSticky」と表示されて欲しいところですが、Packet Tracer では、このように表示されるようです。
「show running-config」コマンドを実行します。
●「show running-config」の出力(抜粋)
Switch#show running-config
!
interface FastEthernet0/1
switchport mode access
switchport port-security
switchport port-security maximum 2
switchport port-security mac-address sticky
switchport port-security mac-address sticky 000C.CF91.737B
switchport port-security mac-address sticky 0090.215B.4943
!
PC2 と PC3 のMACアドレスが、「sticky」セキュア アドレスとなっているコマンドとして、登録されています。
ここで、重要なことがあります。
Switch に端末の MACアドレスを学習させたらコンフィグを保存しておく必要がります。
そうすることで、Switch を再起動させても、PC1 と PC3 の MACアドレスが、Switchに登録された状態を維持することができます。
コンフィグを保存します。
Switch#copy running-config startup-config
Switch を再起動させます。
Switch#reload
再起動させたら、コンフィグを表示してみます。
「show running-config」コマンドを実行します。
●「show running-config」の出力(抜粋)
Switch#show running-config
!
interface FastEthernet0/1
switchport mode access
switchport port-security
switchport port-security maximum 2
switchport port-security mac-address sticky
switchport port-security mac-address sticky 000C.CF91.737B
switchport port-security mac-address sticky 0090.215B.4943
!
再起動させても、PC2 と PC3 のMACアドレスが、「sticky」セキュア アドレスとして、登録されています。
PC4 から PC2 に ping を行います。
C:\>ping 192.168.1.20
pingは、失敗します。
Swich の f0/1 が shutodown となります。これは、最大接続数が、上限の 2 を超えてしまったからです。

スティッキ セキュアMACアドレスを設定することで、上限を超えた接続を制限することができます。