Cisco関連


Tips

Catalystスイッチを工場出荷時に戻す

  • Cisco IOSソフトウェアが稼働するCatalystスイッチ
    • スイッチ設定のリセット
      write erase
      • reload後に反映される
    • vlan情報のリセット
      delete flash:vlan.dat
      • reload後に反映される
  • 参考

Catalystスイッチのファームウェアをアップデート

  • PCで新ファームウェアをダウンロード
    • Ciscoのユーザ登録が必要
    • Cisco→テクニカルサポート→ソフトウェアダウンロードから型番を検索し、IOS SoftwareのLAN BASE WITH WEB BASED DEV MGRをダウンロードする。Webデバイスマネージャを利用しない場合はLAN BASEでも良い。
  • スイッチにtftp立てるPCとIPアドレスを振っておく
    • デフォルトだったらen→conf tしてint vlan 1→ip address 192.168.0.1 255.255.255.0→no shutdown→exit→exit
  • PCでtftpサーバを起動する
  • Catalystにコンソール接続
  • 特権モード
    • en
  • 現行ファームウェアをバックアップ(特に必要なければスキップして良い)
    • #dir flash:
      Directory of flash:/
      
          2  -rwx         616   Mar 1 1993 00:01:06 +00:00  vlan.dat
          3  drwx         192   Mar 1 1993 00:14:55 +00:00  c2960-lanbase-mz.122-25.SE
      E2
        618  -rwx        1279   Mar 1 1993 00:23:49 +00:00  config.text
        619  -rwx           5   Mar 1 1993 00:23:49 +00:00  private-config.text
      
      32514048 bytes total (24801792 bytes free)
      • flash:/上にc2960-lanbase...ディレクトリがある
    • #dir flash:c2960-lanbase-mz.122-25.SEE2
      Directory of flash:/c2960-lanbase-mz.122-25.SEE2/
      
          4  drwx        4480   Mar 1 1993 00:13:31 +00:00  html
        616  -rwx     4670535   Mar 1 1993 00:14:55 +00:00  c2960-lanbase-mz.122-25.SE
      E2.bin
        617  -rwx         457   Mar 1 1993 00:14:55 +00:00  info
      
      32514048 bytes total (24801792 bytes free)
      • そのディレクトリ内に現行ファームウェアがある(c2960-lanbase...bin)
    • #copy flash: tftp:
      Source filename []? c2960-lanbase-mz.122-25.SEE2/c2960-lanbase-mz.122-25.SEE2.bin
      Address or name of remote host []? 192.168.0.2
      Destination filename [c2960-lanbase-mz.122-25.SEE2.bin]?
      !!!!(略)!!!!
      4670535 bytes copied in 13.111 secs (356230 bytes/sec)
      • Source filenameはdirで調べた現行ファームウェアのファイル名(ディレクトリ含む)を入力
      • Address or name of remote hostはtftpサーバのアドレス
      • Destination filenameはそのままデフォルト(もしくは任意のファイル名)
  • 新ファームウェアをCatalystにダウンロード
    • #archive download-sw /overwrite tftp://192.168.0.2/c2960-lanbasek9-mz.150-1.SE/c2960-lanbasek9-tar.150-1.SE.tar
      Loading c2960-lanbasek9-tar.150-1.SE.tar from 192.168.0.2 (via Vlan1): !!!!
      (略)!!!!
      [OK - 15994880 bytes]
      
      Loading c2960-lanbasek9-tar.150-1.SE.tar from 192.168.0.2 (via Vlan1): !!!!
      (略)!!!!
      examining image...
      extracting info (105 bytes)
      extracting c2960-lanbasek9-mz.150-1.SE/info (531 bytes)
      extracting info (105 bytes)
      
      Stacking Version Number: 1.46
      
      System Type:             0x00000000
        Ios Image File Size:   0x00B4F200
        Total Image File Size: 0x00F41200
        Minimum Dram required: 0x04000000
        Image Suffix:          lanbasek9-150-1.SE
        Image Directory:       c2960-lanbasek9-mz.150-1.SE
        Image Name:            c2960-lanbasek9-mz.150-1.SE.bin
        Image Feature:         LAYER_2|SSH|3DES|MIN_DRAM_MEG=64
      
      Old image for switch 1: flash:c2960-lanbase-mz.122-25.SEE2
        Old image will be deleted after download.
      
      Extracting images from archive into flash on switch 1...
      c2960-lanbasek9-mz.150-1.SE/ (directory)
      c2960-lanbasek9-mz.150-1.SE/html/ (directory)
      extracting c2960-lanbasek9-mz.150-1.SE/html/status.htm (8107 bytes)
      extracting c2960-lanbasek9-mz.150-1.SE/html/menu.css (1654 bytes)
      (略)
      extracting c2960-lanbasek9-mz.150-1.SE/dc_default_profiles.txt (61977 bytes)
      extracting c2960-lanbasek9-mz.150-1.SE/info (531 bytes)
      extracting info (105 bytes)
      
      Installing (renaming): `flash:update/c2960-lanbasek9-mz.150-1.SE' ->
                                             `flash:c2960-lanbasek9-mz.150-1.SE'
      New software image installed in flash:c2960-lanbasek9-mz.150-1.SE
      
      
      Removing old image: flash:c2960-lanbase-mz.122-25.SEE2
      
      All software images installed.
      Switch#show boot
      BOOT path-list      : flash:c2960-lanbasek9-mz.150-1.SE/c2960-lanbasek9-mz.150-1.
      SE.bin
      Config file         : flash:/config.text
      Private Config file : flash:/private-config.text
      Enable Break        : no
      Manual Boot         : no
      HELPER path-list    :
      Auto upgrade        : yes
      NVRAM/Config file
            buffer size:   65536
  • 再起動
    • reload

状況を知る

  • 直近のイベントログ
    • #show logging
  • ポートのリンクアップ状況
    • #show interfaces status
  • 現在投入されている設定
  • 現在投入されている設定をTFTPサーバへ飛ばす
    • #copy running-config tftp:
      • サーバのIPやら保存するファイル名を聞かれる
  • 全ての設定やログ
    • #show tech-support
      • configも出力されるが、パスワードは伏せてある。
      • サポートとか解析に出すときはこれが良い。

設定する

  • 特権モードに入る
    • >enable
      • 接続直後は>プロンプトでshow status等の状況取得が行えるのみ。show running-config等の設定に関わる操作は特権モード(#プロンプト)に入ってから行う。
      • 本ページ中では特権モードで行うコマンドは#で表記している。
  • 設定モードに入る
    • #configure terminal
      • 本ページ中では(config)#プロンプトで表記している。
  • 設定モードを終わる
    • (config)#exit
  • 各設定モードから設定モードへ戻らず、特権モードまで一気に戻る。
    • (config)#end

本体設定

  • ホスト名を設定する
    • (config)#hostname L2-test
  • 特権モードのパスワード設定
    • (config)#enable password hogehoge
      • 平文で保存され、show running-configで見えてしまうのでおすすめできない。
      • service password-enctyptionを必ず行うか、enable passwordを使用せずにenable secretで設定を行うこと。
    • (config)#enable secret hogehoge
      • 暗号化されて保存される。
    • (config)#service password-encryption
      • 平文パスワードを全てハッシュ化してshow running-config等で見えなくする
  • コンソール用ログインパスワード設定
    • (config)#line console 0
      (config-line)#login
      (config-line)#password hogehoge
  • Telnet用ログインパスワード設定
    • (config)#line vty 0 4
      (config-line)#login
      (config-line)#password hogehoge
  • SSH用ログインパスワード設定
    • (config)#line vty 5 15
      (config-line)#login
      (config-line)#password hogehoge
  • ログインパスワードを設定しない
    • (config-line)#no login
  • コンソールやTelnet等のタイムアウト
    • #configure terminal
      (config)#line console 0
      (config-line)#exec-timeout 10 0
      • この例ではコンソールのタイムアウトを10分0秒とした。
      • Telnetは line vty 0 4(ログインパスワード設定の件を参照)
  • タイムゾーン設定
    • (config)#clock timezone JST 9 0
      • JST
  • 日時設定
    • #clock set 11:29:00 06 Dec 2012
  • 日時確認
    • #show clock
  • NTPサーバを見るように設定
    • #ntp server ntp.example.com
      • 複数設定できる
    • 確認は show ntp associations

ポート設定

  • STP portfast設定
    • (config)#spanning-tree portfast bpduguard default
      • 通常はリンクアップ時にブロッキング→リスニング→ラーニング→リンクアップを経て、30秒ぐらいかかってリンクアップする。
      • 通常のリンクアップを省略する。待てない人向け?
    • ループ検知に多少難があるとか無いとか。
      • bpduguardを付けるとループ検知用パケットが飛び、そのパケットが戻ってきたinterfaceは自動的にshutdownされるようになる。
      • アップリンクポートなど、勝手にshutdownされたくないinterfaceには、spanning-tree bpduguard disable しておくと、自動的にshutdownされなくなる。

Vlan設定(ポートベースVlan)

  • ポートにVlanを割り当てる(untag)
    • interface GigabitEthernet0/1
      description Server-A
      switchport access vlan 2
      switchport mode access
      • 通常のパケット(mode access)でVlan 2を割り当てる。
  • ポートにVlanを割り当てる(tagged)
    • interface GigabitEthernet0/2
      description L2-002:24
      switchport trunk allowed vlan 2-4
      switchport mode trunk
      • タグ付きパケット(mode trunk)でVlan 2〜4を割り当てる。
  • 複数のポートをまとめて設定する
    • interface range GigabitEthernet 0/1 - 16
  • VlanにIPアドレスを持たせる
    • #interface vlan 1
      • interface設定
    • #ip address 192.168.0.1 255.255.255.0
      • ipアドレス 192.168.0.1 サブネットマスク 255.255.255.0
      • 必要に応じてデフォルトゲートウエイ ip default-gateway 192.168.0.254
      • 必要に応じてDNS ip name-server 192.168.0.1 192.168.0.2
    • #exit
      • interface設定を抜ける
    • #exit
      • コンソール設定を抜ける
    • #write memory
      • 設定をflashに保存
    • その他
      • show running-configするとVlanがshutdown(無効)になっている場合がある。その場合はinterface vlanでno shutdownしてVlanを有効化する。
  • VLANに名前を付ける
    • #vlan 2
    • #name Trust
  • ネームサーバ(DNS)を指定する
    • (conf)#ip name-server 192.168.1.2
      • 複数のDNSを指定する場合はその数だけコマンドを入力する。

複数ポートを束ねて負荷分散・冗長化する(いわゆるLAGやbonding)

  • 負荷分散の方法を定義する
    • port-channel load-balance src-dst-ip
      • src-dst-ip: 送信元/先両方のIPアドレスの組み合わせで振り分ける
  • チャネルを作成する
    • interface Port-channel 1
      description channel-A
      switchport trunk allowed vlan 2-4
      switchport mode trunk
      • チャネル1を定義し、Vlan 2〜4をタグ付きで流す
      • untagで組むこともできる。(switchport access vlan 2, switchport mode access)
  • ポートにチャネルを割り当てる
    • interface GigabitEthernet0/3
      channel-group 1 mode active
      • チャネルを組むIF全てに同じくchannel-groupする。
      • modeはactive,passive,onなどがある
      • 通常はactiveだが、VMware vSphereはonじゃないと動かなかった。
  • そもそも
    • 1Gbpsを2本束ねたからといって2Gbpsにはならない。通常は送信元IPによって経路を振り分けるだけなので、1ポート分の速度しか出ないし、IPアドレスの振り方によっては実質1Gbpsより遅くなる。
    • 速度を上げるなら無理せず10Gbpsポートを持つ機種に変えるべき。

参考

logをsyslogサーバへ転送する

  • conf tで
    logging buffered 512000
    logging host 192.168.1.1
    logging trap informational

SNMPサーバ

snmp-server community public RO
snmp-server location Studio JamPack DCJn
snmp-server contact SUNAGAWA Hiroyuki

Catalystの違うVLAN ID同士を結線するとワーニングを吐きまくる

  • Catalyst同士の結線で、一方をVLAN 10、もう一方をVLAN 20にすると、native VLAN mismatchワーニングが出まくる。
  • CDP(Catalyst Discovery Protocol)を切ってしまう
    interface GigabitEthernet0/1
    no cdp enable

複数台のCatalyst同士を接続(stack)する

  • 基本的な動作
    • 接続するとC2960Gだと1台目が0/1,0/2...2台目が1/1,1/2...、C2960S以降だと1/0/1,1/0/2...2/0/1,2/0/2...のようなポート付番になる。
    • stack間はポートの速度以上で通信しているので、C2960S等はスイッチをまたいでも 10Gbpsで通信できる。
    • 基本的には電源を先に入れた方がmaster、後続がmemberになる。
      • スイッチ交換時に新品にmasterを取られてコンフィグが消えないようにpriorityを設定しておくこと。
  • priorityの設定
    • enable
    • show switch detail
      • stackで認識しているスイッチとpriorityや隣接スイッチが表示される
      • priorityは、デフォルトで10、数字が大きいほど優先的にmasterを取れる。
    • show switch stack-ring speed
      • stack間のリンク速度などが表示される。基本的にポート最高速度の2倍?
    • cont t
    • switch 1 priority 15
      • スイッチ1にpriority 15を設定。
      • 数字が大きいほど優先的にmasterを取る。デフォルトは10。
    • exit
    • write memory