この記事について
この記事では、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:冗長構成のセカンダリ機
- SW:スイッチ。
- 例:
- 通し番号
- 「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 で管理アクセスする設計にする場合はドメイン名の設定は必須となります。
enable パスワード設定
ユーザEXECモードから特権EXECモードに移行する enable コマンドを実行した際に問われるパスワードの設定です。
enable パスワードの設定コマンドとしてはコンフィグ上でのパスワードが暗号化されないenable password
と暗号化されるenable secret
があります。最近新規に導入される Cisco 機器ではセキュリティの観点で暗号化は必須となっているため、enable secret
を使用することをお勧めします。
パスワードを暗号化しない場合の設定コマンド:
- (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 con
とline vty
には大体同じような設定項目があり同じように設定できます。またline vty
には機種によって「0 4」「5-15」など複数の番号があり番号別に設定できますが、基本的には全番号で共通の設定内容とします。
line パスワード認証とする設定
コンソール接続や Telnet 接続の認証方式を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 接続の認証方式をローカルユーザ認証としたい場合は以下の設定を行います。
- (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
- (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...
- (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
という設定があります。許可したいプロトコルに合わせてこれを設定する必要があります。
- (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 以外のプロトコルも含めてすべて許可する場合
- (config-line)#transport input telnet
myrouter(config)#line vty 0 4
myrouter(config-line)#transport input ssh
Telnet,SSHの両方を許可したい場合transport input all
と設定される場合がほとんどです。
接続元 IP アドレス制限(line vty 限定)
セキュリティの厳しい案件では Telnet、SSH の接続元 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 キーペアを生成するためにはグローバルコンフィギュレーションモードで以下コマンドを実行します。
- (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 キーペアを削除するには以下グローバルコンフィギュレーションモードにてコマンドを実行します。
- (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 バージョンの設定ができるようになります。
- (config)#ip ssh version <1 または 2>
myrouter(config)#ip ssh version 2
古い機種・バージョンでは SSH バージョン 1 か 2 を指定できますが、最近の機種・バージョンでは選択肢はバージョン 2 のみになっています。
- (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 community | SNMP v1.v2c の認証で使用される文字列 | ― |
snmp-server host | SNMP トラップ送信先サーバの設定 | ― |
snmp-server enable traps | SNMP トラップの種類別の有効化設定 | ― |
snmp-server source-interface traps | SNMP トラップのソースインターフェース | |
snmp-server ifindex persist | ifIndex の固定化 | OFF |
コミュニティの設定
SNMP マネージャから Cisco 機器にポーリング(機器ステータスの取得要求)があった場合にコミュニティと呼ばれる文字列を使用して認証が行われます。このポーリング用のコミュニティは以下コマンドで設定します。
- (config)#snmp-server community <コミュニティ> <権限>
- <権限> は読み込み専用か、読み書きから指定します
- ro:読み込み専用
- rw:読み書き
- <権限> は読み込み専用か、読み書きから指定します
myrouter(config)#snmp-server community mycommunity ro
コミュニティは監視サーバ側の設定と合わせる必要があります。
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 トラップの種類を設定する必要があります。その設定コマンドは以下です。
- (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 | リンクアップ |
hsrp | HSRPの状態変化 |
eigrp | EIGRPの状態変化 |
ospf | OSPFの状態変化 |
SNMP トラップのソースインターフェースの設定
ソースインターフェースを設定した場合、SNMP トラップの送信元アドレスは指定したインターフェースのアドレスとなります。ソースインターフェースを指定していない場合はルーティングテーブルに基づく発信インターフェースのアドレスになります。監視サーバにて対象機器をどの IP アドレスを使用してノードとして登録しているかに合わせてソースインターフェースを設定する必要があります。
- (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
- 日本のタイムゾーンに設定する場合
- (config)#clock timezone JST 9 0
- <表示名> は任意の文字列を指定でき、この名前がログの時刻表示部分にタイムゾーンを示す名前として表示されます
myrouter(config)#clock timezone JST 9 0
時刻同期用 NTP サーバの設定
時刻同期をするための NTP サーバの設定です。NTP サーバを設定するかどうかは機器設置先ネットワーク内に NTP サーバが存在するかどうかによりますが、多くの場合は NTP サーバを設定します。
- (config)#ntp server <IPアドレスまたはFQDN>
- FQDNで指定する場合はDNSサーバが設定され名前解決ができる必要があります
- 複数の NTP サーバを指定する場合は台数分だけ設定コマンドを投入します
myrouter(config)#ntp server 10.20.30.40
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 byte | 59 行 | 6 秒 |
8192 byte | 89 行 | 10 秒 |
16384 byte | 120 行 | 20 秒 |
32768 byte | 240 行 | 39 秒 |
65536 byte | 479 行 | 77 秒 |
131072 byte | 958 行 | 152 秒 |
デフォルトの 4096 byte や 8192 byte だと保存できるログの量が少なすぎるので、ある程度増やすことを推奨します。
逆にバッファサイズを大きくしすぎてしまうと、ログが溜まっているときにコンソール接続でshow logging
を実行した場合の表示所要時間がとんでもないことになるため、32768~65536 byte 程度が丁度良いのではないかと思います。
一部のサイトやページで「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 サーバは以下コマンドで設定します。
- (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
- 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 はデフォルトで有効になっていますが、悪意を持った攻撃者に機器にログインされた場合、隣接する機器の情報を知られてしまうことにもなるため、セキュリティの観点から無効化するという設計思想もあります。無効化するかどうかは設計者の思想によりますが、設計時に考慮はした方が良いでしょう。
- (config)#cdp run
- CDP 有効化
- (config)#no cdp run
- CDP 無効化
myrouter(config)#cdp run
myrouter(config)#no cdp run
VTP モードをトランスペアレントにする
VTP は複数の機器間で VLAN 設定を同期するための機能ですが、実際に使用している案件はほぼありません。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サーバ機能は無効化することが一般的です。
- (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 宛にアクセスを試み、その度にエラーログが出力されます。この機能を使用することはまず無いため無効化することが当サイトの推奨です。
- (config)#no service config
myrouter(config)#no service config
service pad の無効化
service pad は X.25 というプロトコルをサポートするための機能でデフォルトで有効になっています。ただこの機能は通常使用しないため無効化することが当サイトの推奨です。
- (config)#no service pad
myrouter(config)#no service pad
service dhcp の無効化
service dhcp は DHCP サーバ及びリレーエージェント機能でデフォルトで有効になっています。DHCP サーバ機能を使用しない場合は無効化することが当サイトの推奨です。
- (config)#no service dhcp
myrouter(config)#no service dhcp
service call-home の無効化
service call-home は機器にて重大なイベントが起きた際に Eメールまたは Web ベースの通知を行うための機能です。この機能は機種やバージョンによってはデフォルトで有効になっています。ただこの機能は通常使用しないため無効化することが当サイトの推奨です。
- (config)#no service call-home
myrouter(config)#no service call-home
終わりのコメント
この記事では Cisco スイッチ・ルータの設計構築案件のほとんどで考慮される設定項目について説明しました。インターフェース、ルーティング、VPN などの良く聞く機能の方が注目されがちですが、ここで説明した管理系、システム系、サービス系の機能の設計も重要です。これらを理解し、足元を固めた上で各種機能の設計ができるとワンランク上の設計ができるのではないかと思います。
Cisco 関連記事一覧
Cisco Catalyst 1300 スイッチ関連記事一覧
Amazon で買えるおすすめアイテム
以下は Amazon アフィリエイトリンクです。ネットワーク作業向けにそこそこおすすめなアイテムです。
コメント