no switchportは、CiscoのL3スイッチ(ルータの機能も持ったスイッチ)でよく使われるコマンドで、一言で言えばスイッチのポートをルータのポートに変身させるコマンドです。
本記事では、ネットワーク初心者の方にも分かるよう、基本から順に解説します。
1. そもそもスイッチとルータの違いは
前提となる2つの機器の役割をイメージで押さえておきます。
- スイッチ(L2):同じ部屋(VLAN・同じネットワーク)の中で端末同士の通信をつなぐ、ハブや延長コードのような役割
- ルータ(L3):異なる部屋(異なるネットワークやインターネット)同士を案内する交差点のような役割。IPアドレスを使って通信を行き先へ届ける
2. デフォルトのポートと no switchport の違い
通常のL3スイッチの物理ポート(LANケーブルを挿す穴)は、デフォルトでスイッチ用ポート(L2ポート)になっています。
通常のポート(switchport状態)
- イメージ:マンションの「部屋番号(VLAN)」に所属するドア
- ポート自体に直接IPアドレスを設定することはできません(VLANに所属させて通信します)
no switchport を打ったポート(ルーテッドポート)
- イメージ:独立した一戸建ての玄関
- スイッチとしての機能をオフ(
no)にしてルータ化します - 物理ポートそのものに直接IPアドレスを設定できるようになります
3. 具体的な設定コマンドの例
物理ポート(例:GigabitEthernet 1/0/1)をルータのポートに変える手順です。
Switch(config)# interface gigabitethernet 1/0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.1.1.1 255.255.255.0
Switch(config-if)# no shutdown2行目のno switchportでルータポート(L3)化し、3行目でポートに直接IPアドレスを設定しています。
元のスイッチ用ポートに戻したい場合は、逆にswitchportと打つとL2ポートに戻ります。
4. どんな場面で使うのか
主にL3スイッチ同士、またはL3スイッチとルータを直接つなぐときに使われます。メリットは大きく2つです。
- VLANやSTPの複雑さを減らせる:VLANを作成してポートを割り当てるといった設定(SVI設定)をしなくても、ポートにIPアドレスを設定するだけで隣の機器とルーティングできるようになります
- 障害の検知が速くなる:物理ケーブルが抜けた際に、即座に「IP通信のルートが切れた」とスイッチが判断できるため、別の迂回路へ素早く切り替えられます
まとめ
switchport(デフォルト):スイッチのポート。VLANに所属させて使い、IPアドレスは直接設定できないno switchport:ルータのポート(ルーテッドポート)化する。物理ポートに直接IPアドレスを設定して通信できる
理解度チェック(練習問題)
第1問:基本概念の確認
CiscoのL3スイッチにおいて、物理ポート(例:GigabitEthernet 1/0/1)でno switchportコマンドを実行したときの動作として、最も適切なものを1つ選んでください。
- A) ポートがトランクポートに変化し、複数のVLANタグを通過させることができるようになる
- B) ポートのスイッチ(L2)機能がオフになり、物理ポートに直接IPアドレスを設定できるようになる
- C) ポートが即座にシャットダウンされ、通信が完全に停止する
- D) ポートが自動的にVLAN 1に割り当てられ、他のVLANへアクセスできなくなる
第2問:設定手順の確認
L3スイッチの物理ポート(GigabitEthernet 1/0/2)に、直接IPアドレス192.168.10.1/24を設定してルータと接続したいと考えています。正しい設定手順になるよう、以下のコマンドを並べ替えてください。
ip address 192.168.10.1 255.255.255.0interface gigabitethernet 1/0/2no switchport
第1問の解答
正解:B
no switchportを実行すると、スイッチとしての機能(L2)が解放され、ルータのポート(ルーテッドポート/L3)へと切り替わります。これにより、物理ポートに直接IPアドレスを設定してルーティングを行うことが可能になります。
第2問の解答
正解:2 → 3 → 1
Switch(config)# interface gigabitethernet 1/0/2
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.10.1 255.255.255.0デフォルトのスイッチ用ポート(switchport状態)のままでは、ip addressコマンドを入力してもエラーになります。そのため、先にno switchportを打ってルータ化してからIPアドレスを設定するのが正しい手順です。