Cisco ルーターや Cisco Catalyst スイッチを触るとき、最初に入れておきたい管理系の設定があります。ホスト名、ドメイン名、不要な DNS 参照の抑止、enable secret、ローカルユーザー、SSH、VTY、設定保存などです。
この記事では、Cisco IOS の初期設定を SSH 前提で整理します。Telnet、平文パスワード、無期限タイムアウトのような古い作業癖をそのまま残すと、検証環境では楽でも、あとで運用に近づけるときに直す場所が増えます。最初から最低限の管理設定を整えておく方が、後続の検証や運用が安定します。
| 設定項目 | 目的 |
|---|---|
| ホスト名 | ログ、プロンプト、運用上の識別を明確にする |
| ドメイン名 | SSH 鍵生成や FQDN の前提を整える |
no ip domain-lookup | 誤入力時の不要な名前解決待ちを避ける |
enable secret | 特権モードの認証を平文ではなくハッシュ化された形で扱う |
| ローカルユーザー | SSH ログインの認証に使う |
| VTY | リモートログインを SSH に限定し、タイムアウトを設定する |
書籍
マスタリング TCP/IP 入門編 第 6 版
TCP/IP、Ethernet、VLAN、ルーティングなど、ネットワークの基礎を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
ホスト名とドメイン名を設定する
ホスト名は、プロンプト、ログ、監視、障害対応時の識別に関係します。検証環境でも、機器名が曖昧だと作業ログや設定差分を追いにくくなります。SSH の RSA 鍵を生成する場合は、ドメイン名も設定しておきます。
hostname rt1
ip domain-name example.com実環境では、ホスト名を単なる機器名ではなく、拠点、役割、冗長系、番号と対応させることが多いです。名前は後から変えられますが、ログや監視名と結びつくため、早い段階で命名方針を決めておく方が安全です。
不要な DNS 参照を無効化する
Cisco IOS は、存在しないコマンドや意図しない文字列を入力したときに、名前解決を試みることがあります。DNS サーバーを設定していない環境では、タイムアウトまで待たされるため、検証や初期作業では no ip domain-lookup を入れておくと扱いやすくなります。
no ip domain-lookup一方で、機器自身が外部サーバー名を解決する設計であれば、DNS 参照を使う場合もあります。その場合は、単に無効化するのではなく、DNS サーバー、ドメイン名、名前解決が必要な機能を整理しておきます。
enable secret を設定する
特権モードへ入るためのパスワードは、enable password ではなく enable secret を使います。enable password は古い設定として見かけますが、基本的には避けます。
enable secret <ENABLE_SECRET><ENABLE_SECRET> は実際の秘密値に置き換えます。記事、手順書、公開リポジトリ、チャットに実パスワードを残さないようにします。検証環境でも、秘密情報の扱いを軽くしすぎると、本番作業に悪い癖が移ります。
ローカルユーザーを作成する
SSH ログイン用にローカルユーザーを作成します。小さな検証環境では privilege 15 を付けることもありますが、本番環境ではユーザー、権限、認証方式を分けて設計します。
username admin privilege 15 secret <ADMIN_PASSWORD>ローカルユーザーは、外部認証が使えないときの保守用アカウントとしても使われます。AAA、RADIUS、TACACS+ を使う環境でも、ローカル認証をどの範囲で残すのかは、障害時の作業手順と合わせて決める必要があります。
SSH を有効化する
SSH を使うには、ドメイン名、ローカルユーザー、鍵、SSH version 2、VTY の設定が必要です。古い機器や古い IOS では鍵長や対応アルゴリズムに制約があるため、実機のバージョンに合わせて確認します。
crypto key generate rsa modulus 4096
ip ssh version 2鍵長は機器や IOS の世代によって指定できる範囲が異なります。古い機器では 4096 が使えないこともあります。その場合でも、Telnet を前提に戻すのではなく、その機器で使える範囲の SSH 設定を確認します。
VTY を SSH 前提にする
VTY では、認証にローカルユーザーデータベースを使い、リモートログインを SSH に限定します。ここを曖昧にすると、Telnet が残ったり、パスワードだけの古いログイン方式が残ったりします。
line vty 0 15
login local
transport input ssh
exec-timeout 10 0exec-timeout 0 0 は作業中には便利に見えますが、放置セッションが残ります。本番や共有環境では、無期限タイムアウトを標準にしない方がよいです。
コンソールと AUX の扱い
コンソールや AUX は、リモート管理とは役割が違います。SSH は通常運用の管理経路、コンソールは初期投入や非常時の直接作業用として扱うのが自然です。
line con 0
logging synchronous
exec-timeout 10 0
line aux 0
exec-timeout 10 0logging synchronous は、コンソール作業中にログ出力で入力行が崩れるのを抑えるためによく使われます。小さな設定ですが、初期作業時の操作性に効きます。
設定を保存する
Cisco IOS では、running-config の変更を startup-config に保存しないと、再起動後に失われます。設定投入後は保存まで含めて作業として扱います。
write memory
copy running-config startup-configwrite memory と copy running-config startup-config は、どちらも設定保存で使われます。チームや手順書でどちらを標準にするかを決めておくと、作業記録も揃いやすくなります。
確認コマンド
初期設定を入れたら、設定が意図通り入っているかを確認します。特に、SSH、VTY、ローカルユーザー、保存状態は作業後に確認しておきたい部分です。
show running-config | include hostname|ip domain-name|ip ssh|enable secret|username
show running-config | section line vty
show ip ssh
show startup-config | include hostname|ip ssh|username確認コマンドを入れる理由は、設定作業そのものより、作業後に何をもって完了とするかを明確にするためです。初期設定は一度入れたら終わりではなく、その後の運用や検証の土台になります。
DHCP リレーは初期設定とは分けて考える
元の記事には DHCP リレーの例も含まれていました。ip helper-address は重要な設定ですが、Cisco 機器の初期ログイン設定とは主語が異なります。これは、管理アクセスの初期設定ではなく、VLAN、SVI、L3 境界、DHCP サーバー配置の設計に属する設定です。
service dhcp
interface Vlan100
ip address 172.16.1.200 255.255.255.0
ip helper-address 172.16.0.100DHCP リレーを設定する場合は、どのセグメントの DHCP 要求を、どの DHCP サーバーへ転送するのかを設計として確認します。初期設定のついでに入れるより、L3 インターフェース設計やアドレス設計の中で扱う方が自然です。
初期設定で確認したいこと
確認したいこと:
- Telnet ではなく SSH で管理する前提になっているか
enable passwordではなくenable secretを使っているか- VTY が
login localとtransport input sshになっているか - 無期限タイムアウトを標準にしていないか
- 設定保存まで作業に含めているか
- DHCP リレーなど、初期ログイン設定とは別の設計項目を混ぜすぎていないか
まとめ
Cisco IOS の初期設定では、ホスト名、ドメイン名、不要な DNS 参照、enable secret、ローカルユーザー、SSH、VTY、設定保存を最初に整えます。これらは派手な設定ではありませんが、その後の検証、運用、障害対応の土台になります。
初期設定で大切なのは、単にコマンドを並べることではありません。どの設定が管理アクセスのためのものか、どの設定が L3 設計やサービス設計に属するものかを分けることです。最初に境界をきれいにしておくと、後から設定を読み返したときにも、何のための設定なのかを判断しやすくなります。
関連する記事
あわせて読みたい:

