web-dev-qa-db-ja.com

rootアクセスなしで/ etc / hostsに書き込むのと同じようにオーバーライドDNSを作成できますか

ブラウザが使用するDNSレコードを設定したいのですが、ルートアクセス権がないため、/etc/hostsを変更できません。 Apacheでvhostsをテストするためにこれを行う必要があります。そのDNSはまだセットアップされていません。私はfirefoxとchromeにアクセスできるので、それを容易にするプラグインがあれば。または他のオプションが役立ちます。

pdate: DNSを上書きする代わりに、おそらくHTTPヘッダーを変更しています。正しいヘッダーがApacheに送信された場合、正しいコンテンツが返されます。

49
xenoterracide

テストのために、DNS解決を変更したプログラムを実行する方法を探していました。私にとって、解決策はHOSTALIASES環境変数を使用することでした:

_$ echo "foo www.google.com" >> ~/.hosts
$ HOSTALIASES=~/.hosts wget foo
_

hostname(7)を参照してください。

(注意:この例では、HOSTALIASES環境変数はwgetプロセスにのみ影響します。もちろん、_export HOSTALIASES_を使用して、現在のシェルのすべてのサブプロセスに影響を与えることができます。 )

68
matlehmann

Libc関数のラッパーを記述してホスト名を解決し、/ etc/hostsとは異なるファイルでそれらを検索できます。次に、hostsファイルを使用するアプリケーションを実行します

LD_PRELOAD=wrapper.so firefox
10
chris

これを行う最良の方法は、SOCKS5プロキシをセットアップし、FirefoxにSOCKS5プロキシ(network.proxy.socks_remote_dns)経由でDNSリクエストを送信するように指示することです。 opensshでsocks5プロキシをかなり簡単にセットアップでき(-Dオプション)、カスタムの/ etc/hostsまたは DNSMasq などのリモートホストを実行して、より複雑なDNS設定を行うことができます。ただし、これにより、DNS設定の構成がシステム全体に反映され、システム全体に変更を加えることができます。

6
jsbillings

スーパーユーザーで次の質問をチェックしてください:

https://superuser.com/questions/184643/override-dns-in-firefox

議論されたオプションとSOリンクが実行可能な解決策でない場合は、以下を確認してください。

https://superuser.com/questions/100239/hostname-override-in-firefox

特にチェックアウト:

https://addons.mozilla.org/en-US/firefox/addon/redirector/

このアドオンが役立つと思われますが、実際の実装に依存しています。

5
maxschlepzig

Vhostsをテストするには、ApacheサーバーをFirefoxのプロキシとして設定します。入力した名前はApacheに転送されます。これにより他のサイトの閲覧が中​​断されるため、完了したらプロキシを元に戻します。

2
BillThor

数週間ごとにIPを変更し続けるサーバーのsshやscpなどにも同様のものが必要でした(私たちのITではホストの設定に数週間の遅延があります)。このサーバーの特別な変数を使用して解決しました:export FOO='131.227.aaa.bbbそして、私はssh bar@$FOOと私は~/.bashrcいつでも変更されます...

0
BIOStheZerg