おかざきPの記録

Mac, QNAPの設定やプロデューサー業の記録

QNAP 231PにAdGuard Homeを導入した

環境

  • QNAP 231P

要約

  1. arm-x41用のqpkgをダウンロード
  2. インストール
  3. ナビに従って初期設定
  4. AdGuard Homeを停止
  5. QNAPにssh接続
  6. 各種ファイルを変更
  7. dnsmasqを再起動
  8. AdGuard Homeを起動

実作業

やったことはQNAPのフォーラム(英語)を 忠実に実行しただけ。なんだけどトップの通りではほぼ使えない。 なぜならデフォルトでAdGuard Home(以下、AGH)はポート16553への問い合わせに応答するが、私の知る限りDNSサーバのポートまで設定できるマシンはないから。一般的にDNSサーバはポート53で稼働している。このためマシンにDNSサーバのIPアドレスを指定すると、マシンは設定したIPアドレスのポート53に問い合わせる。ところがQNAPにインストールしたAGHはポート53以外で稼働しているため、マシンがQNAPのポート53に問い合わせても応答がないわけだ。
このポート問題に対応するためにフォーラムに従ってQNAPの設定ファイルを弄った。ページ中程、2018年10月21日の回答によるとQNAPでデフォルトでポート53を使用しているdnsmasqを他のポートに移動、その後AGHをポート53で稼働させる。

arm-x41用のqpkgをダウンロード

このページを参考にダウンロードすべきqpkgのバージョンを確認する。QNAP 231PであればQNAP arm x41に該当する。バージョンを確認できたらQNAP CLUBからqpkgをダウンロードする。

インストール

Appセンターからqpkgを手動でインストール

ナビに従って初期設定

アプリを起動して言われるがままに設定。フォーラムではAGHの設定ページはポート9638とか書いてあるけど、この初期設定で自由に変更できる。DNSサーバとしてのポートは使用中と怒られない好きな数字を設定する。どうせ後で変更するから何でもいい。

AGHを停止

はい、私はここを読み落として苦戦してました。どうにも稼働中のアプリは、インストール先/share/CACHEDEV1_DATA/.qpkg/)とは別の場所(/opt/)にコピーもしくはリンクを貼られて変更できないようで、私は必死に/opt/のコピーを弄っていたため設定を変更できなかった。今から考えると書き込み時にそれっぽいログが表示されていた気がする。ログを読まずに痛い目にあったり解決が遅れるのは何度も経験してるのに、英文だと全然読むする習慣ができない、読んでも理解できない。

QNAPにssh接続

一時的にadminを有効化して、adminでssh接続

各種ファイルを変更

まずはAGHのポートの待ち受けポートを53に変更する。vimでファイルを開いて、
vi /share/CACHEDEV1_DATA/.qpkg/AdGuardHome/AdGuardHome.yaml
以下を設定する。
port: 53
protection_enabled: true
続いてプリインストールされているdnsmasqの設定を変える。
vi /etc/dnsmasq.conf
port = 1053
最後に次の設定を行う。
vi /etc/resolv.conf
nameserver = 127.0.1.1:1053

dnsmasqを再起動

killall -9 dnsmasq
dnsmasq
ユーザ名かユーザグループが正しくないと怒られたが私の場合は動いている。sshでの操作は終わりなのでログアウト、adminを無効化する。

AGHを再起動

Appセンターから起動すると無事、ポート53で稼働するようになっている。ルータもしくは各マシンのDNSサーバとしてQNAPのIPアドレスを設定すれば完了。