インターネットに接続していないときに OS X で dnsmasq を使用する

インターネットに接続していないときに OS X で dnsmasq を使用する

ローカル開発に使用しているドメインが 127.0.0.1 を指すように、dnsmasq を介して DNS 要求をルーティングしています。これは、Wi-Fi またはイーサネット経由でインターネットに接続しているときはうまく機能しますが、インターネットにまったく接続していないときは問題が発生し始めます。

dnsmasq.conf には次の設定があります:

address=/gentoo/127.0.0.1

すべてのネットワーク接続をオフにして、次を実行します。

$ dscacheutil -q host -a name test.gentoo
name: test.gentoo
ip_address: 127.0.0.1

$ ping test.gentoo
PING test.gentoo (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.043 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.107 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.177 ms
^C
--- test.gentoo ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.043/0.109/0.177/0.055 ms

それでうまくいっているようです。しかし、開こうとするとhttp://test.gentoo/Chrome では次のメッセージが表示されます:

インターネットに接続できません。コンピュータがインターネットに接続されていないため、Google Chrome はウェブページを表示できません。

次の手順を実行して、問題を診断してみてください。

「アプリケーション」>「システム環境設定」>「ネットワーク」>「接続のテストを支援」に移動します。エラー 106 (net::ERR_INTERNET_DISCONNECTED): インターネット接続が失われました。

Chrome はネットワーク接続がないことを認識しており、リクエストを試みることすらしません。

これを回避する方法はありますか? ダミーのネットワーク インターフェースを作成して、Chrome にインターネットに接続していると信じ込ませることはできますか? 接続していない場合でもリクエストを送信するようにできますか? 他に何かアイデアはありますか?

私は解決策を試しましたhttps://serverfault.com/q/22419/92378しかし、OS X 10.7.3 を使用しているため、ネットワークに接続されていないとリゾルバが無視され、動作しませんでした。

関連情報