DNSサーバとしてのMacOS構成dnsmasqの問題を記録

1660 ワード

背景


携帯電話の接続テスト環境は常に同僚をテストするのに面倒で、時には同僚がいなくても面倒なので、自分でdnsサーバーを配置するのが便利です.

リファレンス


dnsサーバの構成この文書を参照すると、macOSの下でdnsmasqでDNSサーバを構築できます.

問題


1.sbinディレクトリがありません


実行brew link dnsmasqで、ヒントにsbinファイルに権限がない、sudoの問題かと思ったら、最後に、sbinというディレクトリがない、手動でsbinディレクトリを作成すればOK

2.コピープロファイルのプロンプトにdnsmasqがない.conf.exampleファイル


原文では、このコマンドを実行してexampleの内容をdnsmasqにコピーする必要があると述べている.confでは、実際にインストールされた2.8バージョン、dnsmasq.confにはすでに関連プロファイルがあります.cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf

3.キャッシュがクリアされていない


インストール後にMacOSのDNSキャッシュをリフレッシュし、本当に必要かどうかを確認せずに実行しても構いません.sudo killall -HUP mDNSResponder

4.hostを変更しても有効にならない問題


これは困りますが、hostを修正しました(例えばswitchhostsでhostsを閉じて、携帯電話がテスト環境に接続できることに気づきました)、dnsmasq+携帯電話を再起動してwifiを閉じて再開しなければなりません.
Web上で著者の返信が見つかり、プロファイルを再ロードする必要がある場合は、新しいプロセスを閉じる必要があります.ここではhostsを修正しましたが、この方法で上記の問題を解決することもできます.
http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2004q4/000002.html
つまりhostsを修正するには、次の2つのステップを実行する必要があります.
  • brew services restart dnsmasq
  • 携帯電話が切れてwifiが再接続
  • 関連コマンド


    MacOSのキャッシュをクリア:sudo killall -HUP mDNSResponderbrewを使用してdnsmasqの起動と再起動:brew services start dnsmasqbrew services restart dnsmasqシステムコマンド使用launchctldnsmasq起動
    sudo launchctl stop homebrew.mxcl.dnsmasq
    sudo launchctl start homebrew.mxcl.dnsmasq
    
    brew services実際には簡略化されているlaunchctl操作

    締めくくり


    以上の通り、携帯電話を使って自分のDNSサーバーにアクセスできるようになり、仕事を始めましょう.