VPN クライアントを削除すると、導入前の状態に戻るはずだが、名前解決ができずブラウザがまだプロキシを求める状態に戻ることもある。残留物はルート、Winsock プロバイダー、プロキシ設定、DNS、フィルタードライバーという短い所有者リストから来る。修理の戦略は二つあり、主に何を壊すかが違う。

まったく費用の違う二つの修理

ApproachWhat it fixesWhat it costs
Full network resetAlmost everything, eventuallyWi-Fi passwords, firewall rules, evidence
Inventory, then narrow resetsThe piece that actually brokeTime, and one command per layer

広範なリセットは間違いではないが、高くつく。どの層が失敗したかを示す証拠も消すので、同じ症状の次のマシンはまたゼロから始める。まず棚卸しをすれば四つのコマンドで済み、そのうち三つは読むだけだ。

時計で選び、好みで選ばない。十分以内に動かさなければならないマシンでは、完全なリセットが正しい判断かもしれず、その後に残すメモだけが知識を保つ。症状が繰り返す群れでは、終わった障害ではなく原因を生むから、棚卸しのほうが安い。

何かに触れる前に四つを読む

ipconfig /all
route print -4
netsh winsock show catalog
netsh winhttp show proxy

どの出力も別の故障に対応する。もう存在しないアダプターを指す既定ルートは、ローカルネットワークが動いているのにインターネットが死んでいることを説明する。以前トンネルに属していたアダプターの DNS サーバーは、アドレスは通るのに名前が失敗することを説明する。クライアントが入れた Winsock プロバイダーは、ルートを変えても残るブラウザの故障を説明する。プロキシの項目は、curl は届くのにブラウザがどこにも届かないことを説明する。

ブラウザ自身のプロキシは別に確認する。それはインターネットオプションのダイアログの接続とローカルネットワークの設定の下にあり、コマンドが報告する WinHTTP プロキシとは別の設定だ。片方を直してももう片方は直らず、一台が両方を持つこともある。削除されたクライアントが残すのはその形だから、どこにも解決しないプロキシアドレスを探す。

跳ぶのではなくはしごを上る

ipconfig /release
ipconfig /renew
ipconfig /flushdns
route -f
netsh int ip reset reset.log
netsh winsock reset catalog

route -f はアダプターに触れずにルーティングテーブルを消し、トンネルの残した既定ルートを消す最も安い方法だ。netsh int ip reset は TCP/IP スタックの設定を書き直し、再起動を求める。netsh winsock reset はフィルタードライバーが変えたカタログを戻し、ブラウザだけで起きる故障を直すのはこの手順だ。一つ実行し、試し、それから次を実行すれば、上ったはしごは後で説明できるはしごになる。

netsh advfirewall reset はこのはしごの一部ではない。誰かが意図して作った規則を消すので、戻すのは別の仕事だ。設定アプリのネットワークリセットはすべてのアダプターを削除して入れ直し、保存した Wi-Fi パスワードも消すので、狭い手順の後であって、前ではない。

所有者が別の製品である残留物

アプリケーションをゴミ箱にドラッグしてもアンインストールにはならない。表示しなくなった VPN を使い続けていた Mac ではベンダーのヘルパーがまだ動いており、アクティビティモニタのネットワークタブが通信でそれを見つけ、ベンダーの削除手順がデーモンと起動項目を消した。プログラムがもう存在しない項目を /Library/LaunchDaemons と /Library/LaunchAgents で確認する。

セキュリティソフトもこのパターンが現れる場所だ。ウイルス対策ツールは独自のフィルタードライバーを入れ、それを残す削除は、どの VPN 設定でも説明できない形で VPN アダプターを壊すことがある。ベンダーの削除ツールはその場合のためにあり、一般的なアンインストールではたいてい届かない。

インストーラーも、前のインスタンスが生きているために起動を拒むことがある。OpenVPN のインストーラーは実行中の openvpn.exe を確認し、自分のスクリプトが数時間前に起動したものも含む。

env_block の失敗は別の種類の残留物だ。PATH が C:\Windows\System32 とその隣を失ったので、クライアントはアダプターを作るユーティリティーを起動できない。新しいコピーも同じ欠けたコマンドに当たるので、再インストールではなく PATH を直す。

Linux のインターフェースとルーターの試験

tun インターフェースはそれを作った設定より長く生きることがある。遅いダウンロードの報告の一つは、古いプールのゲートウェイアドレスを持ち、誰も意図しないトンネルへ通信を引く残存デバイスで終わった。ip -brief link は存在するものを一覧し、現在のサービスが主張する内容と比べてから孤児を削除する。

VPN の実験後に届かなくなったリースは、自動的にスタックの問題ではない。クライアントを載せたことのないノートパソコンと別のルーターを、さらにリセットする前に試す。ルーターが応答をやめたなら、どの Windows コマンドでもそれは変わらず、一時的な固定アドレス、ゲートウェイ、リゾルバーがどちら側が壊れているかを教える。

何をどの順でリセットしたかを記録する。次の人は Winsock カタログかファイアウォールを再構築したかを知る必要があり、そのメモだけはアンインストールが持っていけない。

関連記事