DnsmasqをSierraで動作させることはできません(ローカル開発用)。

DnsmasqをSierraで動作させることはできません(ローカル開発用)。

それで、Dnsmasqを動作させようとする多くの試みにもかかわらず、コミュニティに助けを求めるためにここに投稿しました。要約:すべての.localドメインが自動的にまたはとしてlocalhost確認されるようにします127.0.0.1

これは2014 MBP 15にSierraを新しくインストールしたものです。 Homebrew、Composer、Nodeなどをインストールしました。以下のガイドに従ってこれまでに行った手順は次のとおりです。ここそしてここ:

  1. brew install dnsmasq
  2. /usr/local/etcBrewのインストール時にすでに存在していたので、nano /usr/local/etc/dnsmasq.conf
  3. 内部には以下があります。

    address=/local/127.0.0.1 no-resolv strict-order

  4. sudo brew services start dnsmasq

  5. sudo mkdir /etc/resolver
  6. sudo nano /etc/resolver/local-->nameserver 127.0.0.1
  7. 最後にMacを再起動しました。

再起動後、zsh端末を開き、pingとdigを試しましたtest.local

ping -c 2 test.local-->ping: test.local を確認できません: 不明なホスト

dig test.local @127.0.0.1-->接続がタイムアウトしました。サーバーに接続できません。


127.0.0.1ネットワーク設定でDNSサーバーの上に手動で追加してみました。dnsmasq.conf私もそれを試しました(address=/.local/127.0.0.1「local」の前に「.」が違いがあることに注意してください)。最後に、dnsmasqを再起動してみました。brew services restart dnsmasq...残念ながら、これらのどれも役に立ちませんでした。

欠落しているか誤って設定した手順がありますか?

答え1

brew services restart dnsmasq

コマンドは現在ユーザーとして実行されるため、dnsmasqにはポートでリッスンする権限がありません。53

まず、プロセスを停止することをお勧めします

brew services stop dnsmasq

その後、root ユーザーとして dnsmasq を再起動します。

sudo brew services restart dnsmasq

サービスステータスの確認

sudo醸造サービス一覧

Name           Status  User Plist
dnsmasq        started root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

Userそれが正しいことを確認してくださいroot

答え2

dnsmasqが動作しないOSX High Sierraでも同様の問題がありました。私もこれを見つけました:

$ dnsmasq

dnsmasq: failed to create listening socket for 169.254.51.195: 
Permission denied

それで試してみましたが、sudo dnsmasq突然ローカルドメインが機能し始めました。理由はわかりません。

関連情報