CISCOのスイッチとルーターを触ることになったのでメモ。
まじで品質ひどい。OSが勝手に落ちるとか有りえん。
買ってしまったから仕方なく使うが二度とCISCOは買わん。やっぱり日本製が安心だね。
アライド、アラクサラ、ヤマハ、バッファロー頑張れ
CISCO製品のアーキテクチャ
CLIのモード
スイッチの運用、設定を安全に行うためにスイッチには参照のみのユーザーモード、特権モードと編集できるコンフィグモードが用意されている。
各モード間の移動は以下のコマンドで行う。

基本的にはログインしたらさっさと特権モード→グローバルコンフィギュレーションモードに移行して設定作業をすることになるが、設定の確認のみ(後述のshowコマンドのみ)の場合は特権モードで済むこともある。
設定の保存
設定の変更はすぐに反映されるが、再起動すると設定前に戻る。
これは起動時にはNVRAMに記録されている設定をRAMに読み込み、設定の変更はRAM上でのみ行われるため。
再起動後にも設定を残したい場合はRAMの情報をNVRAMにコピーしておく必要がある。

NVRAMへの記録は簡単で、copy running-config startup-config を実行するだけ。
copyコマンドはファイルをコピーするだけのコマンドだが、runnning-configはRAM上の設定、startup-configはNVRAM上の設定として固定されている。
正直記憶さえしてくれれば記憶媒体はNVRAMでもFLASHでもHDDでも何でも良いが、マニュアル上NVRAMという書き方をして強調されているのでこの記事ではNVRAMで統一する。
よく使うコマンド
ユーザーモード
モード変更
■ enable
ぶっちゃけユーザーモードではこれしか使わない。
特権モード
特権モードでは詳細な状態表示や設定の保存、再起動など機器全体の運用に関する操作ができる他、ディレクトリやファイルの操作、ネットワークコマンドなどLinuxでよく使うコマンドが用意されている。
基本的には設定を参照するコマンドをすべて使用できる。OSのバージョンによってはvlanデータベースを編集できるvtpモードがあるが本来は編集モードで実施すべきなのでここでは割愛。
よく使用するコマンドは以下の通り
区分 | コマンド | 用途 |
状態表示 | terminal length 0 | コマンドの出力結果を一度に表示できる行数を変える。 この行数を超えるとスクロールがストップし、以降はスペースキーを押して行を進める。 0にするとコマンドの出力結果がすべて一度に表示される。 次のshow コマンドを実行する際にいちいちスペースキーを押すのは面倒なので、通常はterminal length 0に設定する。 |
〃 | show <対象> | 機器の設定や状態を表示する。 対象に?を指定すると指定できる対象が表示される。 よく使うのは現在の設定をすべて表示する show runnning-configやインタフェースの状態を表示するshow interface <インタフェース名>、インタフェースの状態をざっくり見る show ip intaface brief |
設定を保存 | copy running-config startup-config | 現在の設定を再起動後も有効にする |
OSコマンド(ディレクトリ) | mkdir <ディレクトリ名> dir rmdir <ディレクトリ名> | ディレクトリの追加、削除、リスト |
OSコマンド(ファイル) | more <ファイル名> delete <ファイル名> | ファイルの表示、削除 |
ネットワークコマンド | ping ip <ip> ssh -l <user> <ip> terminal <ip> traceroute <ip> snmp 他 copy ftp <サブコマンド> copy tftp <サブコマンド> copy scp <サブコマンド> | pingやリモートコマンド |
再起動 | reload | 事実上の再起動。NVRAMに保存されているstartup-configを読み直す。 |
モード変更 | configure terminal | 動作モードを編集モードにする |
状態確認
■ terminal length 0 (tar len 0)
showコマンドは24行ごとにスペースキーを押して表示を進めなければいけないが、terminal length 0を設定しておくと全行が一気に表示される。
■ show <対象>
show ?を実行すると確認できる対象のリストが表示される。
router # show ?
aaa Show AAA values
access-lists List access lists
arp Arp table
cdp CDP information
class-map Show QoS Class Map
clock Display the system clock
controllers Interface controllers status
crypto Encryption module
:
よく使われるのは running-config。この結果はバックアップとしても使われる。
router # show running-config
Building configuration...
Current configuration : 646 bytes
!
version 16.6.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router
!
:
インタフェースの一覧をざっくり見る場合
switch # show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/1 unassigned YES manual down down
FastEthernet0/2 unassigned YES manual down down
FastEthernet0/3 unassigned YES manual down down
FastEthernet0/4 unassigned YES manual down down
FastEthernet0/5 unassigned YES manual down down
FastEthernet0/6 unassigned YES manual down down
FastEthernet0/7 unassigned YES manual down down
:
設定を保存
■ copy running-config startup-config
router # copy running-config startup-config
Destination filename [startup-config]? ← Enter
Building configuration...
[OK]
再起動
■ reload
NVRAMに保存されているstartup-configを読み直す。その過程で再起動が発生する。
router # reload
Do you want to reload the internal AP ? [yes/no]:yes
Proceed with reload? [confirm] ← Enter
IR829 Loader Stage 1 Version 1.4
:
モード変更
■ configure terminal (conf t)
編集モード(グローバルコンフィギュレーションモード)に移行する。
グローバルコンフィギュレーションモード
グローバルコンフィギュレーションモードでは機器全体の設定ができる。ホスト名や管理者ユーザーの編集、ntpやsnmpなどの上位サービスの設定、証明書やライセンスやログなどのシステムリソースの設定など多岐にわたる。
インタフェースやルーター、VLANなどの複雑な設定は個別の機能モードで実施する
区分 | コマンド | 用途 |
- | do <コマンド> | showコマンドなど特権モードのコマンドを使用する |
システム | hostname <ホスト名> | ホスト名の設定 |
〃 | logging <opt> | syslogのレベルや転送先 |
〃 | crypto <機能> <opt> | ipsecやisakampなどの機能ごとの証明書の設定 |
ネットワーク | ip default-gateway <ip> | デフォルトGW |
上位サービス | ntp server <ip> [prefer] | NTPサーバの設定 優先サーバにはpreferをつける |
〃 | snmp-server community <コミュニティ名> {ro|rw} | SNMPサーバ |
〃 | ip domain lookup no ip domain lookup ip name-server <ip> | DNSサーバの有効化/無効化/IPアドレス |
下位向けサービス | service dhcp no service dhcp ip dhcp <opt> | DHCPの有効化/無効化/アドレス範囲/など |
〃 | ip host <ホスト名> <ip> | 名称解決 |
〃 | ntp master <階層> | 時刻同期 |
ネットワークコマンド | ip ftp <モード 他> ip scp <モード他> ip ssh <モード他> | ftp,scp,sshのデフォルトの設定 (それぞれのコマンドは特権モードで実行) |
ルーターのみ | router <プロトコル> | ルーティングプロトコル |
〃 | ip route <ip> | スタティックルート |
〃 | ip nat <opt> | NAT |
〃 | mac-address-table <opt> | macアドレステーブルの編集 |
スイッチのみ | ip arp <opt> | arpの設定 |
〃 | vtp <opt> | VTPの設定 |
〃 | mac adress-table <opt> | macアドレステーブルの編集 |
〃 | mls qos no mls qos | QOSの有効化/無効化 |
モード変更 | vlan <vlan id> no vlan <vlan id> | VLANの編集(なければ新たに作成) |
〃 | interface <if名> | インタフェースの設定 |
システムの設定
■ hostname <ホスト名>
とにもかくにもこれがないと怖くて作業できない
上位サービス
■ ntp server <ip or host> [prefer]
ログのタイムスタンプを統一するためには必須
ルーターの設定 (ルーターのみ)
■ router { bgp | eigrp | ospf | rip }
ルーティングのプロトコルを選択する
■ ip routing
ルーティングを有効にする
■ ip route <宛先IP> <ネットマスク> { <ip> | <Interface> | Loopback | Vlan | Null }
スタティックルーティングテーブルの設定。next hopにはIPアドレスだけでなくインタフェースやVLANも指定できる。
設定したルーティングテーブルは show ip routeで確認できる
# show ip route ←すべて表示
# show ip route static ← 静的ルートのみ
# show ip route bgp ← bgpのみ。ospfやripも指定可能
モード変更
■ vlan <vlan id>
VLANモードに移行して既存のVLANの編集をする。なければ新規作成と編集をする。
■ interface <if名>
インタフェースコンフィグレーションモードに移行してNICの設定を行う。
Switch(config)#interface FastEthernet0/1
Switch(config-if)#
VLANモード
vlanモードでは基本的にVLAN名の変更くらいしかすることがない
■ name <VLAN名>
特にVLAN名をつける必要はないが合ったほうがわかりやすいのでつけておく
インタフェースコンフィグレーションモード
文字通り物理的なインタフェースの設定を行う。
VLAN関連の設定
VLANの種類 | switchport mode <モード> | アクセスモードかトランクモードかを決める |
アクセスVLANの所属 | switchport access vlan <VLAN ID> | 所属先のVLANを設定する |
トランクVLANの所属 | switchport trunk <opt> | 所属先のVLANを設定する |
■ switchport mode { access | trunk }
このポートをアクセス/トランクのどちらで使用するかを決める。
設定したモードはshow interfaceで確認できる。
Switch(config-if) # switchport mode access
Switch(config-if) # do show interface fa0/1 switchport | include Admin | Mode
Administrative Mode: static access
Operational Mode: down
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Capture Mode Disabled
■ switchport access vlan <vlan id>
このアクセスポートを所属させるVLANのVLANIDを指定する
インタフェースが所属しているVLANはshow vlanで確認できる
Switch(config-if)# switchport access vlan 10
Switch(config-if)# do show vlan brief
VLAN Name Status Ports
---- ----------------------------- --------- -------------------------------
1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Fa0/9
Fa0/10, Fa0/11, Fa0/12, Fa0/13
Fa0/14, Fa0/15, Fa0/16, Fa0/17
Fa0/18, Fa0/19, Fa0/20, Fa0/21
Fa0/22, Fa0/23, Fa0/24, Gig0/1
Gig0/2
10 VLAN0010 active Fa0/1
20 VLAN-20 active
1002 fddi-default active
■ switchport trunk native <vlan id>
このトランクポートに意図せずアクセスポートとしてパケットが到着した場合にどのVLANにパケットを流すか(ネイティブVLAN)を設定する。
設定した結果はshow interfaceで確認できる。
Switch(config-if)# switchport trunk native vlan 10
Switch(config-if)# do show interface fa0/1 switchport | include Native
Trunking Native Mode VLAN: 10 (VLAN0010)
■ switchport trunk allowed vlan { add <vlan id> | remove <vlan id> | all | except <vlan id> | none }
トランクポートの場合にどのVLANに所属するかを設定する。
add <vlan id>で1つづつ追加し、remove <vlan id>で1つづつ削除するのが基本。
addを省略してVLAN IDを,で区切って複数指定することもできる。その場合は既存のVLANもすべて指定すること。
(追加)
switch(config-if)# switchport trunk allowed vlan add 10
switch(config-if)# switchport trunk allowed vlan add 20
もしくは
switch(config-if)# switchport trunk allowed vlan 10,20
(削除)
switch(config-if)# switchport trunk allowed vlan remove 10
allですべてのVLANに所属させたり、逆にnoneですべてのVLANから外すこともできる。
トランクモードの所属VLANはinterface のswitchportの設定で確認する
Switch(config-if)#do show interface fa0/1 switchport | include Trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Trunking Native Mode VLAN: 10 (VLAN0010)
Trunking VLANs Enabled: 10,20
L1レイヤの設定
保護モード | switchport protected no switchport protected | 保護モード(他のポートに転送しない)を有効/無効にする |
スピード | speed { xxx | auto } | 通信速度を指定する |
通信方向 | duplex {auto | fulll | half } | 通信方向を指定する |
通信品質 | mls qos <opt> | 通信品質を指定する |
スパニングツリー | spanning-tree <opt> | スパニングツリーのアルゴリズムを指定する |
ストーム制御 | storm-control broadcast level <0-100> | ストームが発生したと判断する基準 |
通常は通信方向とスピードを設定しておけば良い。スパニングツリーは障害のもとになるので避ける人もいる。保護モードはプライベートLANを作りたいときに使う。それ以外は好みで。
L2(+L1)レイヤの設定
DHCP | ip dhcp snooping <opt> | DHCPスヌーピングの設定 |
ARP | arp inspection <opt> | arpインスペックションの設定 |
DHCPやARPの改竄を防ぐ機能の設定ができる。好みで。
スイッチの運用
インタフェースの停止 | shutdown | |
インタフェースの起動 | no shutdown | |
ipアドレス | ip address dhcp ip address <ip> <mask> |
ルーターの場合はIPアドレスが設定されていないと起動できない点に注意