【管理者権限不要】hosts編集せずにChrome/Edgeの名前解決ルールを変更
Chromium系のブラウザ、ChromeやEdgeで利用できるブラウザ専用の名前解決オプションについてです。
ネットワーク構成やテスト環境の都合で、管理者権限は無いけどhosts編集みたいに名前解決の設定を一部だけ変更したいといった場合に便利です。
以下のように、--host-resolver-rules オプションを指定してブラウザを起動します。
Edgeの場合
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --host-resolver-rules="MAP host.example.com (IPアドレス)”
Chromeの場合も同様に指定できるはずです。
このように指定して起動したブラウザのプロセスは、指定した名前解決ルールに従って動作します。
上記の場合、ブラウザが host.example.com にアクセスするとき、DNSを利用せず、(IPアドレス)に接続する動作になります。
テストやトラブルの切り分けを行う必要性があるとき、管理者権限が無くてDNSも変更できない、hostsも変更できない、といった場合に便利です。
Chromium系のブラウザは内部にリゾルバを持っているのが気になっていたのですが、こういうところは利点ですね。エンジニアの方が理解して活用する分には全く問題ないと思います。ただただ便利なだけです。
その一方で、ユーザ権限で調整できる起動オプション一つで管理者権限が無くても名前解決をコントロールできてしまうという点には注意が必要です。
一般ユーザが、悪意のあるコマンドラインやショートカットの実行を誘導され、名前解決のレイヤを突破されてしまうと、例えばパスキーのフィッシング耐性ですら(条件が揃えば)無力化される可能性があります。
Firefoxではこのようなオプションは無いようですね。





