🐙

Cisco Catalyst WS-C2960CG-8TC-L を見る

2022/09/03に公開

AmazonでC2960CGの中古が9,300円で買えたので軽く中身を見てみます。

2960CGとは

Cisdoの製品は番号とアルファベットで管理されています。
似ているような名前でもできることが違っていたりするので軽く型番の説明をします。
まず、Ciscoの製品はスイッチ、ルータ、ファイヤーウォール、アクセスポイントあたりが有名かなと思います。
その中でもC2960CGはは10年前に発売が終了したL2スイッチです。
世代としては2世代くらい前のものですね。
現在Ciscoが提供している現行のスイッチ製品には主に以下の様なものがあります。

  • Catalyst 9600,Catalyst 9500, Catalyst 9400 (なんかすごくてよくわからない)
  • Catalyst 9300 (L3スイッチ)
  • Catalyst 9200 (L2スイッチ)
  • Catalyst 1000シリーズ (少機能低価格シリーズ)
  • Merakiシリーズ (非技術者用シリーズ)

当然大分世代の古いC2960CGはここにはありません。
というか現行品は高すぎて個人で買えません。
ここら辺から正直あまり自信がないですが、上記の一世代前が以下の製品群になると思います。

  • Catalyst 3650 (L3スイッチ)
  • Catalyst 3650-CX (3650のコンパクト版)
  • Calatyst 2960X (L2スイッチ)
  • Catalyst 2960-CX (2960Xのコンパクト版)
  • Catalyst 2960-L (少機能低価格シリーズ)

まだC2960CGはでてきませんがここらへんから頑張れば個人で中古が買えるようになってきます。
もはやこれより古いとまともな情報かどうか検証するのが面倒くさいので詳細は書きませんが、これらの製品の更に昔にC2960Cというコンパクトスイッチのシリーズがあります。
このC2960CのポートはFast Ethernetといって100Mbps通信が限界です。
そのC2960Cに対してGigabit Ethernetという1Gbps通信ができるポートを付けたのが今回扱うC2960CGになる、はずです。
たぶん。

コンソール接続

ネットワーク機器への接続は伝統的にコンソールケーブルを使って行います。
コンソールケーブルで調べてみればわかりますが、片方がRJ45(LANケーブルのコネクタ)でもう片方がD-Sub 9ピン(最近はUSB-Aもある)というネットワーク機器の設定以外にまず使い道のないケーブルです。
持ってない方は購入しましょう。
今回はRocky Linux 9から2960CGにコンソールケーブルをつなぎます。
screenコマンドを使うのでインストールしておきましょう

sudo dnf install screen

今回はUSB-RJ45のコンソールケーブルを使用するのでそこから接続します。
ボーレート(通信速度)は9600(bps)です。

sudo screen /dev/ttyUSB0 9600

初回接続時に初期設定をするか聞かれると思いますが、noを選択します。

Would you like to enter the initial configuration dialog? [yes/no]: no
Switch>

Ciscoのユーザモード

Cisco製品はユーザモードによって使えるコマンドが異なります。
ログイン時の状態は「ユーザEXECモード」で一部のコマンドしか使えません。
全てのコマンドを使うためには「特権EXECモード」になる必要があります。
ユーザEXECモードから特権EXECモードになるには「enable」コマンドを使います。
「?」コマンドで使用できるコマンドが確認できるので確認してみましょう。

Switch>?
Exec commands:
  access-enable    Create a temporary Access-List entry
  clear            Reset functions
  connect          Open a terminal connection
  crypto           Encryption related commands.
  disable          Turn off privileged commands
  disconnect       Disconnect an existing network connection
  enable           Turn on privileged commands
  exit             Exit from the EXEC
  help             Description of the interactive help system
  lock             Lock the terminal
  login            Log in as a particular user
  logout           Exit from the EXEC
  name-connection  Name an existing network connection
  ping             Send echo messages
  rcommand         Run command on remote switch
  release          Release a resource
  renew            Renew a resource
  resume           Resume an active network connection
  set              Set system parameter (not config)
  show             Show running system information
  ssh              Open a secure shell client connection
...

Switch>enable
Switch#?
Exec commands:
  access-enable    Create a temporary Access-List entry
  access-template  Create a temporary Access-List entry
  archive          manage archive files
  beep             Blocks Extensible Exchange Protocol commands
  cd               Change current directory
  clear            Reset functions
  clock            Manage the system clock
  cns              CNS agents
  configure        Enter configuration mode
  connect          Open a terminal connection
  copy             Copy from one file to another
  crypto           Encryption related commands.
  debug            Debugging functions (see also 'undebug')
  delete           Delete a file
  diagnostic       Diagnostic commands
  dir              List files on a filesystem
  disable          Turn off privileged commands
  disconnect       Disconnect an existing network connection
  dot1x            IEEE 802.1X Exec Commands
  enable           Turn on privileged commands
  erase            Erase a filesystem
...

使えるコマンドが増えていることが分かると思います。
元に戻るには「exit」コマンドです。
しかし、この状態でも設定の変更は行えません。
設定の変更を行うには「config terminal」コマンドを入力して特権EXECモードから「グローバルコンフィグレーションモード」に移行する必要があります。

Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#

グローバルコンフィグレーションモードでは機器全体の設定が行えます。
個別のインターフェース設定は「インターフェースコンフィグレーションモード」から行います。

Switch(config)#interface GigabitEthernet 0/1
Switch(config-if)#exit
Switch(config)#end
Switch#

つまり、ログインしてから個別のインターフェースの設定変更を行うまでには以下の様なユーザモードの変更が必要になります。

ユーザEXECモード
↓ enable
特権EXECモード
↓ config terminal
グローバルコンフィグレーションモード
↓ interface xxx
インターフェースコンフィグレーションモード

もちろん設定できる項目はインターフェースだけでなく他にもありますが、この記事ではこれで十分です。

中身の確認

では中身の確認です。
まずは物理インターフェースから。

Switch>enable
Switch#show interface status

Port      Name               Status       Vlan       Duplex  Speed Type
Gi0/1                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/2                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/3                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/4                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/5                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/6                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/7                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/8                        notconnect   1            auto   auto 10/100/1000BaseTX
Gi0/9                        notconnect   1            auto   auto Not Present
Gi0/10                       notconnect   1            auto   auto Not Present

Gigabit Ethernet 0/1から0/10まで表示されています。
急に「0/1」みたいな謎の数字が出てきました。
この左側の0はスロット番号、右側の1はポート番号と呼びます。
2960CGは固定型と呼ばれる製品で全てのポートが1つのスロットに接続されています。
そのためスロット番号は全てのポートで共通で0です。
一方で固定型とは別にモジュール型と呼ばれる製品が存在しています。
モジュール型はスロット数が可変なので8ポートのモジュールを2つ使って2スロット16ポートのスイッチとして使ったりできます。
このときは2枚目のスロットの7番目のポートは1/7と表現されます。
(モジュール型を触ったことないので本当かどうかはわかりませんが)
さて、物理インターフェースの状態ですが、パッと見た感じは使えそうです。
0/9と0/10はアップリンク用(上位のスイッチと繋ぐ用)ですが、ちょっとよくわからないです。
(後で使ったら普通に使えました。)

次はVLANの状態を見ましょう。

Switch#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  unassigned      YES unset  up                    down
GigabitEthernet0/1     unassigned      YES unset  down                  down
GigabitEthernet0/2     unassigned      YES unset  down                  down
GigabitEthernet0/3     unassigned      YES unset  down                  down
GigabitEthernet0/4     unassigned      YES unset  down                  down
GigabitEthernet0/5     unassigned      YES unset  down                  down
GigabitEthernet0/6     unassigned      YES unset  down                  down
GigabitEthernet0/7     unassigned      YES unset  down                  down
GigabitEthernet0/8     unassigned      YES unset  down                  down
GigabitEthernet0/9     unassigned      YES unset  down                  down
GigabitEthernet0/10    unassigned      YES unset  down                  down

VLANというのは物理的に同じネットワークに接続しているインターフェースを論理的に分割したい場合に使う機能です。
物理インターフェースの出力にもあるように現在全てのポートはVLAN1に接続されています。
そのため全てのポートは互いに通信が可能な状態になっています。

スイッチのIPアドレス設定

スイッチにIPアドレスを設定するとコンソールケーブルを使わずにsshでアクセスできるようになります。
コンソールケーブルを使わなくて済むならそっちの方が楽なのでIPアドレスを設定しておこうと思います。

Switch>enable
Switch#config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#interface vlan1
Switch(config-if)#ip address 192.168.1.200 255.255.255.0
Switch(config-if)#ip default-gateway 192.168.1.254
Switch(config-if)#no shutdown

スイッチのSSH設定

ついでにssh設定もしておきます
正直ここら辺から雰囲気でやってるのであまり説明はできません
まずはenableを実行するためのパスワードを設定します
リモートログインする場合は設定必須です

Switch#config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#enable secret ********

次にホスト名とドメイン名を設定します

Switch(config)#hostname Switch
Switch(config)#ip domain-name localdomain

RSA鍵を生成します
とりあえず鍵長は2048bit

Switch#config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#crypto key generate rsa
The name for the keys will be: Switch.localdomain
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys, keys will be non-exportable...[OK]

sshを有効化します

Switch(config)#ip ssh version 2

ssh用のユーザを作成します

Switch(config)#username cisco secret ********

リモートログインをsshに限定します

Switch(config)#line vty 0 15
Switch(config-line)#login local
Switch(config-line)#transport input ssh

これでssh接続できます。

動作確認

PCをスイッチに接続してインターネット通信とスイッチへのssh接続を試してみます。

$ curl https://www.google.com
<!doctype html>...

$ ssh switch
Password:

Switch>enable
Password:
Switch#

OKですね。

Discussion