本文へ移動

インフラ転職コンパスわからないところから、ひとつずつ。

メニュー

WinMergeでconfigを比較する方法|変更前後の差分確認

動画と記事で学ぶ / 業務ツール

WinMergeでCisco機器のconfigを変更前後で比較する手順。ファイルの取得条件、予定・動的・予定外の差分判定、行フィルターの注意点、レビュー証跡と実機確認まで解説します。

ここからは、記事でゆっくり確かめましょう。図や操作の例を見ながら、気になるところから読み進めてください。

設定変更が終わったあと、「予定した行だけ変わっているか」を目で探すのは大変です。長いconfigでは、一行の削除や別ポートの変更を見落とすこともあります。

WinMergeは二つのテキストを並べ、違う箇所を示すツールです。ただし、色が付いた場所がすべて設定変更とは限りません。取得条件をそろえ、差分の意味を読み、実機の動作も確認するところまでを順に説明します。configは、機器の設定情報を指す言葉です。

差分を見る前に、「変わるはずの行」を決める

WinMergeは違いを見つけますが、その違いが正しいかまでは判断しません。先に変更票や設計書で、対象ポートと追加・変更・削除する行を確認します。

たとえばGi0/1へdescriptionを追加するだけなら、別ポートのshutdownやACLの削除は予定外です。差分に何が出るはずかを決めてから比較すると、目的の行を見つけただけで終わらなくなります。

比較元を左、比較先を右などと固定すると、追加と削除を読み違えにくくなります。レビューする人にも、その並びを伝えます。

変更前後は、同じ機器・同じコマンドで取得する

running-configは現在の設定、startup-configは起動時に使う保存済み設定です。片方ずつ比較すると、今回の変更とは関係のない未保存の差も混ざります。変更前後は同じ種類の出力を使います。

機器名、取得時刻、コマンド、権限、取得範囲を記録し、原本を別に保存します。後から加工しても、元の状態へ戻って確認できるようにするためです。

  1. 作業前に対象機器からconfigを取得し、読み取り専用の原本として保存する。
  2. 作業後に同じ方法で取得し、ファイル名へ機器名と取得時刻を付ける。
  3. UTF-8などの文字コードと改行コードを確認する。文字化けや全行差分が出たら、設定変更と判断する前に取得条件をそろえる。
  4. 設計書・変更票で「変わるはずの行」を先に列挙する。差分ゼロも、予定した変更が入っていない可能性がある。

ファイル名は、R01_20261010_2000_before.cfgのように、機器と時刻を入れると見分けやすくなります。これは命名の例で、実際の取得時刻を使ってください。

全行に差分が付いたり日本語が崩れたりしたら、文字コードや改行を確認します。設定が全部変わったと考える前に、比較できる条件がそろっているかを見ます。

左右のファイルを開き、差分を先頭から末尾まで読む

二つのファイルを開き、差分の移動機能で順に確認します。まず予定した行があるか、次に予定外の差がないかを見ます。どちらか一方だけの確認では足りません。

interfaceの配下、ACLの順番、route-mapの番号など、設定には文脈があります。似た一行でも、属する場所が違えば別の動作になるため、周囲の行を読みます。

  1. WinMergeを開き、左側へ変更前ファイル、右側へ変更後ファイルを指定して比較する。左右を固定すると追加・削除の読み違いを防げます。
  2. 差分一覧を先頭から末尾まで移動し、変更票の予定行と一行ずつ照合する。見た目の色だけで承認せず、コマンドの階層と前後の行を読む。
  3. 各差分を「予定した変更」「取得条件や動的値による差」「予定外」に分類する。予定外は投入を止め、原因と影響範囲を確認する。
  4. 必要に応じて行フィルターを使う。ただしフィルター適用前の原本と差分一覧を保存し、除外した正規表現と理由もレビューに渡す。
  5. 最後に実機の状態確認と疎通・業務試験を行う。configのテキスト一致だけでは動作を保証できません。
判定の例(説明用の架空config)
変更票: Gi0/1 に description を追加する
変更前: interface GigabitEthernet0/1
変更後: interface GigabitEthernet0/1
        description TO-FW01       ← 予定どおり
        shutdown                  ← 予定外。投入停止して確認

表の判定例のように、予定、取得時刻などで毎回変わる値、予定外の変更を分けます。「色が付いたけれど無視した」ではなく、何の値で、なぜ設定変更ではないと判断したかを残します。

WinMergeには内容を相手側へ取り込む機能もありますが、レビューだけなら原本を編集する必要はありません。比較用のコピーと原本を分けて扱いましょう。

空白や並び順を、まとめて無視しない

時刻やカウンターのように、取得のたびに変わる値はあります。一方、ACLの順番は通信の許可・拒否に影響します。「順序の差だから無視」で済ませると、必要な変更を見落とす場合があります。

フィルターを使うときは、除外する行を限定し、除外前の比較結果も残します。フィルター後の差分なしだけでは、元の二つが同じだったとは言えません。

見えた差分 最初に確認すること 判断
予定外の削除・shutdown・ACL行の変更 変更票、対象インターフェース、通信影響、切り戻し条件 理由が確定するまで承認しない
全行に差分 文字コード、改行、取得範囲、行末空白 同条件で再取得して再比較
時刻・証明書・自動生成行だけ違う 値の意味と設定影響。無視してよい行を個別に記録 必要最小限のフィルターを適用
差分ゼロ 予定行が両ファイルにあるか、比較ファイルを取り違えていないか 投入・保存状態を確認

予定外の削除や対象外ポートの変更は、理由を確認するまで承認しません。変更票の不足なのか、操作ミスなのかを確認します。

全行差分なら取得条件、少数の予定外差分なら内容と対象、というように見え方から確認先を選ぶと、調査が進めやすくなります。

設定差分と、動作確認を一緒に残す

レビューには変更前後の原本、予定した変更、比較結果、除外した行と理由を渡します。どのファイルを比べ、どう判断したかが分かれば、別の担当者も確認できます。

そのあと実機で、設定が反映されたか、ポートや経路が期待どおりか、必要な通信が通るかを確認します。テキストが正しくても、対向設定や実機の状態によって通信は変わります。

  • 対象機器・インターフェース・VRF/VLANと取得時刻
  • 変更予定行と実際の差分、予定外差分の調査結果
  • 実機の状態確認コマンドと期待値・実測値
  • 疎通・業務試験、異常時の停止判断と切り戻し結果

WinMergeは「何が違うか」を調べる道具です。「その変更で業務が動くか」は、状態確認と通信試験で確かめます。

まず短い設定変更一つを選び、予定した差分と実際の差分を比べてみてください。差分の場所だけでなく理由を説明できると、レビューの練習になります。

動画・筆者の投稿で補足する

文章と図で流れをつかんだら、関連する動画も参考にしてください。画面の表示や操作は、機種・ソフトウェアの版によって異なる場合があります。

確認に使った公式資料

このテーマを続けて学ぶ

最近の記事
ピックアップ