WinMergeで設定を比較すると、変更予定行だけでなく、意図しない削除、順序差、空白、動的値も見つけられます。比較前に取得条件と文字コードをそろえ、ホスト名、timestamp、カウンターなど毎回変わる行を『無視してよい差分』として明示します。
この記事はネットワークエンジニアの仕事内容の各論です。工程の全体像から確認したい場合はそちらへ。
WinMergeで設定をどう比較する?
先に答えると、WinMergeで設定を比較すると、変更予定行だけでなく、意図しない削除、順序差、空白、動的値も見つけられます。比較前に取得条件と文字コードをそろえ、ホスト名、timestamp、カウンターなど毎回変わる行を『無視してよい差分』として明示します。
比較前に何をそろえる?
それぞれの役割と、実務で見るところを次の表に整理します。
| 項目 | 仕組み・役割 | 実務での判断 |
|---|---|---|
| 予定 | 作業票どおりの追加・変更・削除 | 設計値と照合 |
| 動的 | timestamp・uptime・カウンター | 理由を記録して除外 |
| format | space・改行・順序 | 機器が意味を変えないか確認 |
| 想定外 | 予定外差分 | 投入停止・原因確認 |
before.cfg ---- WinMerge ---- after.cfg
| planned diff | unexpected diff
+-- change ticket +-- STOP / investigate
差分をどう分類する?
作業の順序と、各ステップの完了条件を次の表にまとめます。
| STEP | 実施内容 | 確認する結果 |
|---|---|---|
| 1 | 同一機器・同一取得コマンド・同一文字コードで保存 | 比較条件を統一 |
| 2 | line フィルターを必要最小限に設定 | 重要行を隠さない |
| 3 | 差分を予定/動的/想定外へ分類 | 一行ずつ理由を付ける |
| 4 | running/startupと実通信を確認 | テキスト一致だけで完了しない |
# 取得例
show running-config
show startup-config
# review用ファイル名
R01_before_20260804_2000.cfg
R01_after_20260804_2030.cfg
- ip access-list extended WEB-IN
+ ip access-list extended WEB-IN
+ permit tcp 192.0.2.0 0.0.0.255 host 203.0.113.10 eq 443
見落としや誤検知をどう減らす?
症状ごとの原因候補と、次に確認することを次の表にまとめます。正常時の出力と並べて差を見ます。
| 症状・誤り | 主な原因候補 | 次に確認すること |
|---|---|---|
| 差分0だが通信NG | 状態・経路・カウンター・external dependency | show commandと実通信 |
| 大量差分 | 取得範囲・並び順・template違い | 同条件で再取得 |
| 予定行がない | 未投入・別参照範囲 | 対象ホスト名/VRF |
| 予定外削除 | コマンド置換・parent 設定影響 | 切り戻ししてレビュー |
レビュー担当者へ何を渡す?
フィルターで差分を消し過ぎると、事故につながる変更まで見えなくなります。原本、フィルター適用版、差分reportを分け、レビュー担当者が除外理由を確認できる状態にします。
- 対象機器・インターフェース・VRF/VLAN
- 取得日時・タイムゾーン・ソフトウェアバージョン
- 変更前後の同一コマンド出力
- 期待値・実測値・判定者
- 異常時の停止条件と切り戻し結果
この内容は、設計構築チャンネルの動画でも解説しています。
関連する記事
まとめ:差分を意図・動的・予定外へ分類し、実機状態でも確認する
要点は、差分を意図・動的・予定外へ分類し、実機状態でも確認することです。比較元と比較先のどちらがいつ取得したconfigかを、ファイル名に入れておきます。
