Cisco スイッチ、ルータ設計時に考慮必須の基本設定項目を説明します

目次

この記事について

この記事では、Cisco システムズ社製の一般的な Catalyst スイッチ、ルータの設計を行う際、ほとんどの案件で考慮されるであろう基本的な設定項目について説明します。

管理系項目

機器管理に関わる設定項目について説明します。

ホスト名

ホスト名は機器を識別するための名前です。ネットワーク内で固有の名前をホスト名として設定します。ホスト名の設定をしないことは有り得ず必須の設定です。

ホスト名設定コマンド
  • (config)#hostname <ホスト名>
Router(config)#hostname XYX-WANRT-01
XYX-WANRT-01(config)#

ホスト名の設計思想について

ホスト名の設計では、ネットワーク内の機器で共通の命名規則を決定します。ホスト名には以下の情報を含むような命名規則とされることがほとんどです。

ホスト名に含まれる情報
  • 設置場所
    • 例:
      • データセンターならデータセンター名やセンターを示す「CEN」など
      • 拠点なら拠点名を示すコードなど
      • 機器設置先ラック名やユニット番号など
  • 機器の役割
    • 例:
      • SW:スイッチ。
        • L2SW:レイヤ2スイッチ
        • L3SW:レイヤ3スイッチ
      • CSW:コアスイッチ
      • DSW:ディストリビューションスイッチ
      • ASW:アクセススイッチ
      • RT:ルータ
        • WANRT:WAN接続ルータ
        • NATRT:NATルータ
        • VPNRT:VPNルータ
      • FW:ファイアウォール
        • INFW:内部ファイアウォール
        • EXFW:外部ファイアウォール
      • UTM:UTM
      • LB:ロードバランサ
      • PRI:冗長構成のプライマリ機
      • SEC:冗長構成のセカンダリ機
  • 通し番号
    • 「01」,「02」,… のような同種の機器内で付ける通し番号
命名規則の例
  • <設置場所>-<役割>-<通し番号>
    • 例:
      • PRICEN-WANRT-01
      • PRICEN-CSW-01

大文字か小文字かについて

ホスト名のアルファベットは大文字・小文字のどちらでも設定できます。実際の案件事例では大文字と小文字のどちらのパターンも有りますが、経験上大文字で設定されることの方が多いです。

ドメイン名

ドメイン名はホスト名の後に付与される追加的な名称情報であり、同一案件内などの一定範囲内の機器で共通のドメイン名を設定します。

ドメイン名設定コマンド

機種やバージョンによって以下の何れかの構文で設定。

  • (config)#ip domain name <ドメイン名>
  • (config)#ip domain-name <ドメイン名>
XYX-WANRT-01(config)#ip domain name nwtechshare.com

ドメイン名と SSH の RSA キーペア

Cisco の Catalyst スイッチやルータに SSH で管理アクセスするためには RSA キーペアを生成しておく必要があります。この RSA キーペアを生成するためにはドメイン名設定がされていることが前提となるため、SSH で管理アクセスする設計にする場合はドメイン名の設定は必須となります

機種やバージョンによってはデフォルトで生成される RSA キーペアがあり、手動で RSA キーペアを生成しなくても SSH 接続ができる場合もあります。ただ、一般的にはキーサイズを含めて設計した上で手動で RSA キーペアを生成する方が好ましいと考えます。

enable パスワード設定

ユーザEXECモードから特権EXECモードに移行する enable コマンドを実行した際に問われるパスワードの設定です。

enable パスワードの設定コマンドとしてはコンフィグ上でのパスワードが暗号化されないenable passwordと暗号化されるenable secretがあります。最近新規に導入される Cisco 機器ではセキュリティの観点で暗号化は必須となっているため、enable secretを使用することをお勧めします。

enableパスワード設定コマンド

パスワードを暗号化しない場合の設定コマンド:

  • (config)#enable password <パスワード>

パスワードを暗号化する場合の設定コマンド:

  • (config)#enable secret [<暗号タイプ>] <パスワード>
    • 暗号タイプはオプション。以下の数値から指定する
      • 5:MD5 を使用
      • 8:PBKDF2 を使用
      • 9 (デフォルト):SCRYPT を使用
myrouter(config)#enable secret myenablepassword

コンフィグ上では以下のようにパスワード部分が暗号化されて表示されます。

enable secret 9 $9$0gXfcGidE2FUqE$0fyvLVp5MXSnI8d3gbEtZVm67wAmnbmxnP.dfvjnuIk

暗号タイプについて

暗号タイプはデフォルトでは SCRYPT であり、オプションで MD5、PBKDF2 も選択できます。ただし、明示的にデフォルト以外のタイプを指定することはほぼ無いため、顧客から要件として明示的に指定されない限りはデフォルトの暗号タイプで問題ありません。

ローカルユーザ設定

最近新規導入される Cisco 機器のほとんどでは、管理アクセスの認証方式としてローカルユーザ認証が使用されています。ローカルユーザ認証を実装するためにはローカルユーザの設定をしておく必要があります。ローカルユーザのパスワード設定については enable パスワードの設定と同様に暗号化の有無によって2パターンがありますが、暗号化有りのコマンドで設定することをお勧めします。

ローカルユーザ設定コマンド

パスワードを暗号化しない場合の設定コマンド:

  • (config)#username <ユーザ名> [privilege <特権レベル>] password <パスワード>

パスワードを暗号化する場合の設定コマンド:

  • (config)#username <ユーザ名> [privilege <特権レベル>] secret [<暗号タイプ>] <パスワード>
    • 暗号タイプはオプション。以下の数値から指定する
      • 5:MD5 を使用
      • 8:PBKDF2 を使用
      • 9 (デフォルト):SCRYPT を使用
  • [privilege <特権レベル>] はオプション。デフォルトは「1」。通常は「1」か「15」から選択。設計時にデフォルトから変えることはほぼ無い
    • 0:ログイン後、ユーザEXECモードになる
    • 15:ログイン後、特権EXECモードになる
myrouter(config)#username admin secret myadminpass

コンフィグ上では以下のようにパスワード部分が暗号化されて表示されます。

username admin secret 9 $9$EmJIQUm/gMYZYn$.AdzJNoegFPMcO3WoHbCueruI726KTVIqUyvdNSaFqU

パスワード暗号化サービス

Cisco 機器のコンフィグには、enable パスワードやローカルユーザのパスワードの他にも各種機能で使用するパスワードが平文で含まれる場合があります。これらの、パスワードを全て一括して暗号化する機能がパスワード暗号化サービスです。Cisco 機器の導入案件ではセキュリティの観点からこのパスワード暗号化サービスの有効化は必須となっています。

パスワード暗号化サービス有効化コマンド
  • (config)#service password-encryption
myrouter(config)#service password-encryption

line 設定(管理アクセス設定)

line 設定にはコンソール接続を制御するline con設定とTelnet、SSH接続を制御するline vty設定があります。line conline vtyには大体同じような設定項目があり同じように設定できます。またline vty には機種によって「0 4」「5-15」など複数の番号があり番号別に設定できますが、基本的には全番号で共通の設定内容とします。

line パスワード認証とする設定

コンソール接続や Telnet 接続の認証方式をline設定の中で設定したパスワードによる認証としたい場合は以下の設定を行います。

パスワード認証とする line 設定コマンド
  • (config)#line con 0 または (config)#line vty <番号>
    • (config-line)#password <パスワード>
    • (config-line)#login
myrouter(config)#line vty 0 4
myrouter(config-line)#password mylinepass
myrouter(config-line)#login

loginを設定する前にpasswordを設定する必要があります。

SSH 接続の場合、パスワード認証ではログインできません。次で説明するローカルユーザ認証の設定が必須となります。

ローカルユーザ認証とする設定

コンソール接続や Telnet 接続の認証方式をローカルユーザ認証としたい場合は以下の設定を行います。

ローカルユーザ認証とする line 設定コマンド
  • (config)#line con 0 または (config)#line vty <番号>
    • (config-line)#login local
myrouter(config)#line vty 0 4
myrouter(config-line)#login local

実際に認証を行うためにはローカルユーザを設定しておく必要があります。

アイドルタイムアウト設定

コンソールや line vty への接続時に一定時間以上操作しないで放置しているとデフォルト設定では10分後に自動でログアウトされます。

このアイドルタイムアウト時間を変更するためには以下の設定を行います。

アイドルタイムアウト時間設定コマンド
  • (config)#line con 0 または (config)#line vty <番号>
    • (config-line)#exec-timeout <分> <秒>
myrouter(config)#line vty 0 4
myrouter(config-line)#exec-timeout 30 0

デフォルトは10分です。exec-timeout 0 0 と設定するとタイムアウトしなくなります。

アイドルタイムアウト時間の設定をどうするかは案件のセキュリティ方針に基づき設定するべきですが、特に明示的に要件が無ければデフォルトのままにしておくことが無難でしょう。

logging synchronous 設定

コンソール上にリアルタイムにシステムログを表示させる設定にしている場合(コンソール接続時のデフォルト設定)、コマンド入力中にログが表示された場合に入力中のコマンドが表示されたログと混じって入力コマンドが分からなくなってしまいます。

この事象の回避策としてlogging synchronousを設定しておく方法があります。logging synchronousを設定している場合、以下出力例のようにシステムログがコンソール上に表示された後プロンプトを再表示されるようになります。

*Jun  5 06:27:55.303: %LINK-3-UPDOWN: Interface GigabitEthernet0, changed state to up
*Jun  5 06:27:55.331: %LINK-3-UPDOWN: Interface GigabitEthernet7, changed state to up
myrouter(config-line)#interface gigabiteth
*Jun  5 06:27:56.303: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0, changed state to up
*Jun  5 06:27:56.331: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet7, changed state to up
myrouter(config-line)#interface gigabitethernet0
logging synchronous 設定コマンド
  • (config)#line con 0 または (config)#line vty <番号>
    • (config-line)#logging synchronous
myrouter(config)#line con 0
myrouter(config-line)#logging synchronous

案件によってlogging synchronousが設定される場合とされない場合がありますが、設定によるデメリットは無いため設定しておくことをお勧めします。

show コマンド実行時の時刻表示設定

exec prompt timestampという設定を行うことで、以下出力例のように show コマンドを実行したときに CPU 使用率情報と実行時の時刻を表示させるようにすることができます。

myrouter#show run
Load for five secs: 2%/0%; one minute: 2%; five minutes: 2%
Time source is hardware calendar, *16:33:38.983 JST Tue Jun 5 1900

Building configuration...
exec prompt timestamp 設定コマンド
  • (config)#line con 0 または (config)#line vty <番号>
    • (config-line)#exec prompt timestamp
myrouter(config)#line con 0
myrouter(config-line)#exec prompt timestamp

案件によってexec prompt timestampが設定される場合とされない場合がありますが、設定によるデメリットは無いため設定しておくことをお勧めします。

Telnet、SSH 接続の許可設定(line vty 限定)

line vtyでは接続を許可するプロトコルを指定するtransport inputという設定があります。許可したいプロトコルに合わせてこれを設定する必要があります。

transport input 設定コマンド
  • (config)#line vty <番号>
    • (config-line)#transport input telnet
      • Telnet のみ許可する場合
    • (config-line)#transport input ssh
      • SSH のみ許可する場合
    • (config-line)#transport input telnet ssh
      • Telnet と SSH のみ許可する場合。この形式で設定されることはほぼ無い
    • (config-line)#transport input all
      • Telnet、SSH 以外のプロトコルも含めてすべて許可する場合
myrouter(config)#line vty 0 4
myrouter(config-line)#transport input ssh

Telnet,SSHの両方を許可したい場合transport input allと設定される場合がほとんどです。

接続元 IP アドレス制限(line vty 限定)

セキュリティの厳しい案件では Telnet、SSH の接続元 IP アドレス制限が設定されます。

接続元 IP アドレス制限設定コマンド
  • (config)#line vty <番号>
    • (config-line)#access-class <ACL名|ACL番号> in
myrouter(config)#line vty 0 4
myrouter(config-line)#access-class 1 in

SSH 設定

RSA キーペアの生成

Cisco 機器に SSH 接続するためには RSA キーペアを生成しておく必要があります。RSA キーペアを生成する条件として以下があります。

RSA キーペアを生成する条件
  • ホスト名がデフォルトから変更されていること
  • ドメイン名が設定されていること

RSA キーペアを生成するためにはグローバルコンフィギュレーションモードで以下コマンドを実行します。

RSAキーペア生成コマンド
  • (config)#crypto key generate rsa modulus <キーサイズ>
    • <キーサイズ> は 360-4096 から指定します。2048 bit 以上が推奨されています
myrouter(config)#crypto key generate rsa modulus 2048
% You already have RSA keys defined named myrouter.nwtechshare.com.
% They will be replaced.

% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 2 seconds)

上のコマンドは設定ではなく実行コマンドのためコンフィグ上には表示されません。

生成済みの RSA キーペアはshow crypto key mypubkey rsaコマンドで確認できます。

myrouter#show crypto key mypubkey rsa
Load for five secs: 2%/0%; one minute: 3%; five minutes: 2%
Time source is NTP, 19:02:30.179 JST Sat Mar 15 2025

(中略)
% Key pair was generated at: 19:02:17 JST Mar 15 2025
Key name: myrouter.nwtechshare.com
Key type: RSA KEYS
 Storage Device: not specified
 Usage: General Purpose Key
 Key is not exportable.
 Key Data:
  30820122 300D0609 2A864886 F70D0101 01050003 82010F00 3082010A 02820101
  0099A7BB 1CE5F142 FE255B68 6C91973E A80D3009 628DC5EA 77548D80 4F0A2BE2
  D147BEC9 398E61A9 5C6EB92F B7026918 2D8AEF57 23FF7822 273DAA5E 03BCA39B
  A30BD66A 665FB3EF 554BCF6B 2E4F2744 2DD52175 3D35AD7A 67EB86E5 59379F51
  4ED90A3A 2FE587AC 9612339C 1F957842 3A231562 748ABAF6 D2CC4379 7560F116
  EF3FCBB6 0AF524F7 5A776709 8D085662 0245E8E8 7A440368 FA42D254 21F16DA1
  70F76073 EAB98EBB 9C1BFE4E 96532132 C5C477AF 5D097342 C0131B18 B4C69641
  3B4CD441 EE3ADFD4 B06E1AC2 35DE2977 9D88A427 867CF929 2522CC19 211D25D1
  9A0440F1 5CFEC607 2942752E A53F316A 3F6D6D80 5C7F1CF8 D9ABD4B3 DE1BFCA5
  A9020301 0001
% Key pair was generated at: 19:02:17 JST Mar 15 2025
Key name: myrouter.nwtechshare.com.server
Key type: RSA KEYS
Temporary key
 Usage: Encryption Key
 Key is not exportable.
 Key Data:
  307C300D 06092A86 4886F70D 01010105 00036B00 30680261 00B2988E A6C2FCFC
  7CF8D9A3 4730B242 433FADCC 6713C815 BB28BAC1 08FB3260 7B188702 D9E8B185
  8BC5165E 72687DB9 A63490CC 6FD7E2B7 AB241131 54E3F15D E6A5A845 7622B16A
  AAD8645D 68ACBD82 AA060A96 47CBF00B 4B16F4C7 13F20C99 73020301 0001

生成済みの RSA キーペアを削除するには以下グローバルコンフィギュレーションモードにてコマンドを実行します。

RSAキーペア削除コマンド
  • (config)#crypto key zeroize rsa <キー名>
    • <キー名> show crypto key mypubkey rsaコマンドで確認できます
    • <キー名> を省略するとすべての RSA キーペアが削除されます
myrouter(config)#crypto key zeroize rsa myrouter.nwtechshare.com
% Keys to be removed are named 'myrouter.nwtechshare.com'.
% All router certs issued using these keys will also be removed.
Do you really want to remove these keys? [yes/no]: yes

コマンド実行後は上記実行例のように確認プロンプトが表示されるため「yes」を入力して確定します。

SSH 関連設定

RSA キーペアを生成した後は、使用する SSH バージョンの設定ができるようになります。

SSH バージョン設定コマンド
  • (config)#ip ssh version <1 または 2>
myrouter(config)#ip ssh version 2

古い機種・バージョンでは SSH バージョン 1 か 2 を指定できますが、最近の機種・バージョンでは選択肢はバージョン 2 のみになっています。

SSH タイムアウト設定コマンド
  • (config)#ip ssh time-out <1-120>
    • SSH 接続時のネゴシエーション(接続を確立するまでの処理)のタイムアウト時間を秒で指定
    • デフォルトは 120 秒
myrouter(config)#ip ssh time-out 120

SSH接続確立後のタイムアウト時間はline vty設定のexec-timeout設定に基づきます。

SSH タイムアウト時間をデフォルトから変更することはほぼありません。

SNMP 設定

SNMP はネットワーク機器の状態監視用プロトコルであり、SNMP マネージャ(監視サーバ)から SNMP エージェント(ここでは Cisco 機器)の状態を監視します。ネットワーク内に監視サーバが存在する場合は SNMP 用の設定を行う必要があります。

SNMP にはバージョンとして v1,v2c,v3 がありますが、既存のほとんどのネットワークでは v1 または v2c が使われています。新しいネットワークでは v3 が使用され始めています。この記事では v1,v2c を対象とします。

SNMP に関して考慮する主な設定項目を以下表に示します。

設定項目意味デフォルト値
snmp-server communitySNMP v1.v2c の認証で使用される文字列
snmp-server hostSNMP トラップ送信先サーバの設定
snmp-server enable trapsSNMP トラップの種類別の有効化設定
snmp-server source-interface trapsSNMP トラップのソースインターフェース
snmp-server ifindex persistifIndex の固定化OFF

コミュニティの設定

SNMP マネージャから Cisco 機器にポーリング(機器ステータスの取得要求)があった場合にコミュニティと呼ばれる文字列を使用して認証が行われます。このポーリング用のコミュニティは以下コマンドで設定します。

接続元 IP アドレス制限設定コマンド
  • (config)#snmp-server community <コミュニティ> <権限>
    • <権限> は読み込み専用か、読み書きから指定します
      • ro:読み込み専用
      • rw:読み書き
myrouter(config)#snmp-server community mycommunity ro

コミュニティは監視サーバ側の設定と合わせる必要があります。

SNMP トラップ送信先の設定

SNMP トラップは、機器に状態変化があった際に機器から SNMP マネージャ(監視サーバ)に対して送信される状態変化を伝える通知です。SNMP トラップは設定された送信先アドレスに対して送信されます。その送信先の設定コマンドは以下の通りです。

SNMP トラップ送信先設定コマンド
  • (config)#snmp-server host <送信先アドレス> version <1|2c|3> <コミュニティ>
    • 送信先が複数ある場合は、送信先の分だけこの設定コマンドを投入します
myrouter(config)#snmp-server host 10.20.30.40 version 2c mycommunity

バージョン、コミュニティは送信先監視サーバの設定と合わせる必要があります。

SNMP トラップの有効化設定

デフォルトの設定では SNMP トラップは何も送信されません。送信対象の SNMP トラップの種類を設定する必要があります。その設定コマンドは以下です。

SNMP トラップ有効化設定コマンド
  • (config)#snmp-server enable traps <対象種別>
myrouter(config)#snmp-server enable traps envmon status

SNMP トラップの種別は機能別に様々あります。機器で使用されている機能に関する SNMP トラップを有効化することが一般的です。どの種別が指定可能かは対象機器の CLI ヘルプや Cisco のドキュメントを探して確認してください。

種別を指定せずにsnmp-server enable trapsと設定した場合、すべての SNMP トラップが有効化されます。コンフィグ上には全種別の SNMP トラップ有効化設定が表示されます。

機器のファン、電源モジュール、温度等の物理環境に状態変化があった際の SNMP トラップは良く有効化されます。この場合の設定コマンドは以下です。

  • snmp-server enable traps envmon status

以下表に代表的な SNMP トラップの種別を示します。

SNMP トラップ種別説明
envmon statusファン、電源モジュール、温度、電圧等の状態変化
config設定変更
snmp coldstartコールドスタート
snmp linkdownリンクダウン
snmp linkupリンクアップ
hsrpHSRPの状態変化
eigrpEIGRPの状態変化
ospfOSPFの状態変化

SNMP トラップのソースインターフェースの設定

ソースインターフェースを設定した場合、SNMP トラップの送信元アドレスは指定したインターフェースのアドレスとなります。ソースインターフェースを指定していない場合はルーティングテーブルに基づく発信インターフェースのアドレスになります。監視サーバにて対象機器をどの IP アドレスを使用してノードとして登録しているかに合わせてソースインターフェースを設定する必要があります。

SNMPトラップソースインターフェース設定コマンド
  • (config)#snmp-server source-interface traps <インターフェース名>
myrouter(config)#snmp-server source-interface traps gigabitEthernet 8

インターフェース・インデックスの固定化設定

監視サーバではインターフェース毎に割り当てられた識別番号(インターフェース・インデックス)に基づいてインターフェースを識別し情報収集しますが、Cisco 機器が再起動するとこのインデックスが変更される可能性があります。再起動後もインデックスが変わらないようにするためには以下の設定を行います。

インターフェース・インデックス固定化設定コマンド
  • (config)#snmp-server ifindex persist
myrouter(config)#snmp-server ifindex persist

機種によって設定コマンドが異なる可能性があります。

システム系設定

機器システムに関わる設定項目について説明します。

タイムゾーンの設定

デフォルトのタイムゾーンは UTC になっています。国内のほとんどの案件では日本のタイムゾーン(+9:00)が設定されます。

タイムゾーン設定コマンド
  • (config)#clock timezone <表示名> <時> <分>
    • (config)#clock timezone JST 9 0
      • 日本のタイムゾーンに設定する場合
  • <表示名> は任意の文字列を指定でき、この名前がログの時刻表示部分にタイムゾーンを示す名前として表示されます
myrouter(config)#clock timezone JST 9 0

時刻同期用 NTP サーバの設定

時刻同期をするための NTP サーバの設定です。NTP サーバを設定するかどうかは機器設置先ネットワーク内に NTP サーバが存在するかどうかによりますが、多くの場合は NTP サーバを設定します。

時刻同期用 NTP サーバ設定コマンド
  • (config)#ntp server <IPアドレスまたはFQDN>
    • FQDNで指定する場合はDNSサーバが設定され名前解決ができる必要があります
    • 複数の NTP サーバを指定する場合は台数分だけ設定コマンドを投入します
myrouter(config)#ntp server 10.20.30.40

NTP サーバの設定をする場合はオプションで NTP クエリのソースインターフェースの設定を行います。設定コマンドは以下です。

NTP ソースインターフェース設定コマンド
  • (config)#ntp source <インターフェース名>
myrouter(config)#ntp source GigabitEthernet8

ソースインターフェースを設定した場合、NTP クエリの送信元アドレスは指定したインターフェースのアドレスとなります。ソースインターフェースを指定していない場合はルーティングテーブルに基づく発信インターフェースのアドレスになります。Loopback インターフェースを設定している場合は Loopback インターフェースをソースインターフェースとすることが良くあります。

ローカルロギングの設定

機器ローカルのメモリ上にシステムログを保存するための設定です。ローカルロギングに関して考慮するべき設定項目を以下表に示します。

設定項目意味デフォルト値
logging buffered (size)ログバッファサイズ機種・バージョンにより異なる
(4096byte, 8192byteなど)
logging buffered (level)保存対象のログレベルdebugging
service timestamps logログのタイムスタンプの形式機種・バージョンにより異なる

ログバッファサイズ・ログレベルの設定

ログバッファサイズ及び保存対象ログレベルの設定コマンドは以下の通りです。

ログバッファサイズ・ログレベル設定コマンド
  • (config)#logging buffered <サイズ> <ログレベル>
    • サイズは 4096-2147483647 [byte] の範囲で指定
    • ログレベルは以下から指定
      • emergencies (severity=0)
      • alerts (severity=1)
      • critical (severity=2)
      • errors (severity=3)
      • warnings (severity=4)
      • notifications (severity=5)
      • informational (severity=6)
      • debugging (severity=7) ※デフォルト
myrouter(config)#ntp server 10.20.30.40

ログレベルの設定については、基本的にはデフォルトの debugging で問題ありません。機器の設定内容やネットワーク環境によって debugging では不要なログが出すぎて必要なログが埋もれてしまうといった状況の場合はログレベルの調整を考える必要があるかもしれません。

ログバッファサイズとログ量の目安

ログバッファサイズをどの程度にすべきかについては機器で使用する機能やネットワーク環境によるため一般論で示すことはできないとされています。以下に参考情報としてログバッファサイズ、最大保存ログ行数、コンソール接続でのログ表示所要時間の目安を示します。

バッファサイズ最大保存ログ行数コンソール接続での表示所要時間
4096 byte59 行6 秒
8192 byte89 行10 秒
16384 byte120 行20 秒
32768 byte240 行39 秒
65536 byte479 行77 秒
131072 byte958 行152 秒

特定のログでバッファを埋め尽くした状態で確認した結果に基づきます。

デフォルトの 4096 byte や 8192 byte だと保存できるログの量が少なすぎるので、ある程度増やすことを推奨します。

逆にバッファサイズを大きくしすぎてしまうと、ログが溜まっているときにコンソール接続でshow loggingを実行した場合の表示所要時間がとんでもないことになるため、32768~65536 byte 程度が丁度良いのではないかと思います。

「logging buffered の Cisco 推奨値は 512000 である」という情報について

一部のサイトやページで「logging buffered の Cisco 推奨値は 512000 である」という情報を掲載されています。しかしこの情報のソースは無く、上の「ログバッファサイズとログ量の目安」でも記載した通り、512000 という大きな値にしてしまうとshow loggingを実行した場合の表示所要時間がとんでもないことになります(検証結果ではコンソール接続で 10 分程度)。このため、当サイトではログバッファサイズを 512000 にはしないことを推奨します

商用環境に導入されている Cisco 機器でログバッファサイズが 512000 と設定されている機器を見たことがありますが「設計者は情報を鵜呑みにしてしまったのだな」と思いました。

ログのタイムスタンプ形式の設定

show loggingコマンドで表示されるログに付与されるタイムスタンプの形式は、デフォルトでは UTC 時刻で表示、タイムゾーン表示なし、年表示無しとなっています。デフォルト設定のままとすることは少なく、多くはより分かりやすい形式に設定されます。

ログのタイムスタンプ形式設定コマンド
  • (config)#service timestamps log datetime <オプションのリスト>
    • <オプションのリスト> からスペース区切りで指定
      • localtime:設定されているタイムゾーンに基づく時刻を表示
      • msec:ミリ秒単位まで表示
      • show-timezone:タイムゾーン名を表示
      • year:年を表示
myrouter(config)#service timestamps log datetime msec localtime show-timezone year

上の設定例の設定内容の場合、タイムスタンプ表示は以下のようになります。

Mar 15 2025 15:36:16.731 JST: %LINK-3-UPDOWN: Interface GigabitEthernet7, changed state to up

当サイトとしては上の設定例の通りすべてのオプションを設定することを推奨します。

デバッグログのタイムスタンプ設定

上に記載したシステムログのタイムスタンプ設定と同様に、デバッグログのタイムスタンプ設定も存在します。通常はデバッグログのタイムスタンプ設定はシステムログのタイムスタンプ設定と同じ設定内容にするため、システムログのタイムスタンプ設定を変更したらデバッグログのタイムスタンプ設定も同様に設定変更してください。

デバッグログのタイムスタンプ形式設定コマンド
  • (config)#service timestamps debug datetime <オプションのリスト>
    • <オプションのリスト> からスペース区切りで指定
      • localtime:設定されているタイムゾーンに基づく時刻を表示
      • msec:ミリ秒単位まで表示
      • show-timezone:タイムゾーン名を表示
      • year:年を表示
myrouter(config)#service timestamps debug datetime msec localtime show-timezone year

Syslog サーバへのシステムログ送信設定

ネットワーク内に Syslog サーバが存在する場合、Syslog サーバにログを送信する設定を行います。ログ送信に関して考慮するべき設定項目を以下表に示します。

設定項目意味デフォルト値
logging hostログ送信先Syslogサーバの設定
logging trap (level)送信対象のログレベルinformational
logging facilityファシリティ
(Syslogサーバでのログの分類)
local7
logging source-interfaceログ送信のソースインターフェース

ログ送信先 Syslog サーバは以下コマンドで設定します。

Syslog サーバ設定コマンド
  • (config)#logging host <IPアドレス>
    • Syslog サーバを2台以上設定する場合は台数分だけ設定コマンドを投入する
myrouter(config)#logging host 10.20.30.40

送信対象のログレベルは以下コマンドで設定します。

送信対象ログレベル設定コマンド
  • (config)#logging trap <ログレベル>
    • ログレベルは以下から指定
      • emergencies (severity=0)
      • alerts (severity=1)
      • critical (severity=2)
      • errors (severity=3)
      • warnings (severity=4)
      • notifications (severity=5)
      • informational (severity=6) ※デフォルト
      • debugging (severity=7)
myrouter(config)#logging trap informational

ファシリティは Syslog サーバにおけるログの分類です。Syslog サーバではこのファシリティに基づいてログの振り分けを行うことができます。ファシリティをデフォルトから変更するか、どの値にするべきかは Syslog サーバ担当者に確認する必要があります。ただし経験上デフォルトから変えることはほとんどありません。ファシリティの設定コマンドは以下の通りです。

ファシリティ設定コマンド
  • (config)#logging facility <ファシリティ>
    • ファシリティの選択肢は以下の通り
      • auth
      • cron
      • daemon
      • kern
      • local0
      • local1
      • local2
      • local3
      • local4
      • local5
      • local6
      • local7 ※デフォルト
      • lpr
      • mail
      • news
      • sys10
      • sys11
      • sys12
      • sys13
      • sys14
      • sys9
      • syslog
      • user
      • uucp
myrouter(config)#logging facility local7

ログ送信のソースインターフェースを設定すると、ログ送信時の送信元アドレスが指定したインターフェースの IP アドレスになります。指定しない場合はルーティングテーブルに基づき出力インターフェースの IP アドレスが送信元アドレスになります。ソースインターフェースの設定コマンドは以下の通りです。

ソースインターフェース設定コマンド
  • (config)#logging source-interface <インターフェース名>
myrouter(config)#logging source-interface GigabitEthernet8

サービス・機能系設定

CDP の有効・無効設定

CDP とは Cisco 独自のプロトコルであり、隣接する Cisco 機器と様々な機器情報(ホスト名、モデル、バージョン、接続ポート等)を定期的に交換するために使用されます。

CDP はデフォルトで有効になっていますが、悪意を持った攻撃者に機器にログインされた場合、隣接する機器の情報を知られてしまうことにもなるため、セキュリティの観点から無効化するという設計思想もあります。無効化するかどうかは設計者の思想によりますが、設計時に考慮はした方が良いでしょう。

CDP の有効・無効設定コマンド
  • (config)#cdp run
    • CDP 有効化
  • (config)#no cdp run
    • CDP 無効化
myrouter(config)#cdp run
myrouter(config)#no cdp run

VTP モードをトランスペアレントにする

VTP は複数の機器間で VLAN 設定を同期するための機能ですが、実際に使用している案件はほぼありません。VTP モードはデフォルトではサーバモードになっていますが、VTP を使用しない場合はトランスペアレントモードに設定することが一般的です。

VTPモードをトランスペアレントにする設定コマンド
  • (config)#vtp mode transparent
myrouter(config)#vtp mode transparent
Setting device to VTP TRANSPARENT mode.

HTTP、HTTPS サーバの無効化

Cisco の Catalyst スイッチやルータには GUI 機能があり、機種やバージョンによってはデフォルトで HTTP、HTTPSサーバ機能が有効になっています。ただ実際には GUI を使用することはほぼ無いため、HTTP、HTTPSサーバ機能は無効化することが一般的です。

HTTP、HTTPS サーバの無効化設定コマンド
  • (config)#no ip http server
    • HTTPサーバの無効化
  • (config)#no ip http secure-server
    • HTTPSサーバの無効化
myrouter(config)#no ip http server
myrouter(config)#no ip http secure-server

ドメインルックアップ機能の無効化

Cisco 機器では、存在しないコマンドを入力するとドメインルックアップを行い名前解決を試みます。また DNS サーバを設定していない場合でも 255.255.255.255 宛に名前解決を試みます。 255.255.255.255 宛に名前解決を試みられた場合、機種によってはタイムアウト時間が非常に長く(数分単位)、その間は CLI 操作ができません。このため誤ったコマンドを入力した場合のタイムロスが大きくなってしまいます。

myrouter#hogehoge
Translating "hogehoge"...domain server (255.255.255.255)

% Bad IP address or host name
Translating "hogehoge"...domain server (255.255.255.255)
 (255.255.255.255)
Translating "hogehoge"...domain server (255.255.255.255)

% Unknown command or computer name, or unable to find computer address

こうした状況を回避するために、DNS サーバを使用しない場合はドメインルックアップ機能を無効化する設定が良く行われます。

ドメインルックアップの無効化設定コマンド
  • (config)#no ip domain lookup
myrouter(config)#no ip domain lookup

DNS サーバを設定しているにもかかわらずドメインルックアップを無効化してしまうと名前解決ができなくなるため注意してください。

service config の無効化

service config とは、ネットワーク上の TFTP サーバから機器のコンフィグを自動で取得する機能です。機種やバージョンによってはデフォルトで有効になっています。これが有効になっていると定期的に tftp://255.255.255.255 宛にアクセスを試み、その度にエラーログが出力されます。この機能を使用することはまず無いため無効化することが当サイトの推奨です。

service config 無効化設定コマンド
  • (config)#no service config
myrouter(config)#no service config

service pad の無効化

service pad は X.25 というプロトコルをサポートするための機能でデフォルトで有効になっています。ただこの機能は通常使用しないため無効化することが当サイトの推奨です。

service pad 無効化設定コマンド
  • (config)#no service pad
myrouter(config)#no service pad

pad とは「Packet Assembler/Disassembler(PAD;パケットアセンブラ/ディスアセンブラ)」

service dhcp の無効化

service dhcp は DHCP サーバ及びリレーエージェント機能でデフォルトで有効になっています。DHCP サーバ機能を使用しない場合は無効化することが当サイトの推奨です。

service pad 無効化設定コマンド
  • (config)#no service dhcp
myrouter(config)#no service dhcp

service call-home の無効化

service call-home は機器にて重大なイベントが起きた際に Eメールまたは Web ベースの通知を行うための機能です。この機能は機種やバージョンによってはデフォルトで有効になっています。ただこの機能は通常使用しないため無効化することが当サイトの推奨です。

service call-home 無効化設定コマンド
  • (config)#no service call-home
myrouter(config)#no service call-home

終わりのコメント

この記事では Cisco スイッチ・ルータの設計構築案件のほとんどで考慮される設定項目について説明しました。インターフェース、ルーティング、VPN などの良く聞く機能の方が注目されがちですが、ここで説明した管理系、システム系、サービス系の機能の設計も重要です。これらを理解し、足元を固めた上で各種機能の設計ができるとワンランク上の設計ができるのではないかと思います。


Cisco 関連記事一覧

Cisco Catalyst 1300 スイッチ関連記事一覧


Amazon で買えるおすすめアイテム

以下は Amazon アフィリエイトリンクです。ネットワーク作業向けにそこそこおすすめなアイテムです。

ブログ始めるなら 【アフィリエイトリンク】

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次