このページで解説している内容は、以下の 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(保護)NONONONO
restrict(制限)YESNOYESNO
shutdown
(シャットダウン)
NONOYESYES

動作確認

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アドレスを設定することで、上限を超えた接続を制限することができます。