DNSサーバの宛先ポート指定

OS XとiOSでDNSサーバの宛先ポートを53以外に指定する方法はありますか?


NASにDNSサーバを立てたのですが,ポート53を使用することができず別のポートを設定しました.

ところがMojaveではDNSアドレスは指定できるものの : で続けてポートの指定ができず,

iOSでは入力はできるものの,DNSサーバにリクエストログがないことから有効になっていないようです.


ターミナルからnslookupでDNSサーバアドレスとポートを指定すると名前解決できているので

DNSサーバは問題なく稼働していると考えています.


ネットワーク関連に強い方のご助言,よろしくお願い致します.

MacBook Pro Retina

投稿日 2019/08/04 06:11

返信
返信: 8

2019/08/05 21:17 おかざきP への返信

> NASにDNSサーバを立てたのですがポート53を使用することができず別のポートを設定しました


何故ポート53を使用できないのでしょうか?


macOSではdnsmasqをインストールすればポートを変えられるみたいです。

https://apple.stackexchange.com/questions/187287/how-to-use-different-port-for-dns-on-yosemite


しかしこれだとDNSサーバが2つになってしまいますね...

2019/08/08 01:47 おかざきP への返信

もともとそのNASにDNSサーバが入って(cache serverとして)稼働してるのでは?どんなホストだろうと、多くのホストでDNSのcache serverは動いてると思います(ルータでさえ動いてます)。そのNASに向けてネットワークユーティリティ(spotlightで検索すればすぐ出てきます)でポートスキャンをしたらport 53は開いてるのでは?

なので、Adguard Homeを立ち上げる際に起動スクリプを作って。そのスクリプト内で(killall とかして)元のDNSサーバを止めてからAdguard Homeを起動するようにすれば良いのでは?

2019/08/07 04:35 hohokihai への返信

初期状態でDNSサーバかポート53を使用するデーモンが入っているのかは分かりませんが、

能動的にAdguard Home以外のDNSサーバは立てていません。


macOSのリゾルバ編集による対応は難しそうなので

NASにdnsmasqを導入して上位DNSにAdguard Homeを指定する方式を検討します。

2019/08/08 09:07 はに への返信

NASにssh接続してlsofコマンドでport 53を確認したところプリインストールのdnsmasqが使用しているようでした。

そもそもAdguard Homeが(dnsmasqが使用中の)port 53の設定を認めてくれないため、

手動でdnsmasqをNASにインストール後、resolv.confを編集してport 53への要求をAdguard Homeに飛ばすように設定しました。

2019/08/07 21:55 おかざきP への返信

Adguard Homeでポート53が使えないので別ポートしたという話でしたか。設定やインストがうまくいっていないのではないでしょうか?

Qiitaには2つの記事しかありませんね。


広告除去ができるAdGuardHomeの設定方法

https://qiita.com/huru555/items/f66b693fc038a4631066


DNSブロッキングで余計な広告を表示させないようにしよう

https://qiita.com/hirofumitouhei/items/17105c280bd584f97313

2019/08/07 02:34 おかざきP への返信

Adguard Home(DNSサーバ)の他にDNSサーバを立てる意義はなんですか?テスト用ですか?


/etc/resolv.confは、ネットワークの接続・切断によってダイナミックに書き換えられますし、networksetupコマンドなどでもポート指定はできないし、macOSとしては変更不可能と考えるのが妥当だと思います。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

DNSサーバの宛先ポート指定

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。