GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

SynologyNASでPi-holeをセットアップする方法

今日は、SynologyNASでPi-holeをセットアップする方法を見ていきます。

Dockerを使用してSynologyNASにPi-holeをインストールする2つの異なる方法を見ていきます。ここで説明する最初の方法は「簡単」であり、NASにSSHで接続したくない場合に使用する必要があります。この方法では、ホストネットワークインターフェイスを利用します。 2番目の方法では、Synology NASにSSHで接続して、Docker用のmacvlanネットワークインターフェイスを作成する必要があります。あなたが考えている質問に答えるために、それらは両方とも同じ機能で終わりますが、最初のオプションはNASのIPアドレス(および異なるWebポート)を使用し、2番目のオプション(macvlanネットワークインターフェイスを使用)は独自のものを使用しますIPアドレス。

始める前に、冗長DNSサーバーを用意することが非常に重要であることに注意することが非常に重要です。 安価なRaspberryPiZeroを購入し、その上にPi-holeを構成して、2つのPi-holeDNSサーバーを使用することを強くお勧めします。これにより、NASを再起動したときに、クライアントがDNS解決サービスを失うことがなくなります。

1。初期ステップ

これらの手順はどちらのインストールでも実行する必要があるため、最初にこれらの手順を邪魔にならないようにします。

1. Dockerをインストールします Synologyのパッケージセンターから。

2.Dockerイメージをマップする2つのフォルダーを作成する必要があります。デフォルトでは、Dockerは dockerという名前のフォルダーを作成します インストールが完了した後。このフォルダ内に、 piholeという名前のフォルダを作成します。 。そのフォルダー内に、2つのサブフォルダーを作成します。 piholeという名前のフォルダを1つ作成します およびdnsmasq.dという名前の別のフォルダ 。

2。ホストネットワークインターフェース(オプション1)– SynologyNASPi-holeセットアップ

上記のように、このオプションはホストネットワークインターフェースを使用します。このため、SynologyNASのIPアドレスと定義されたポートを使用してPi-holeにアクセスする必要があります。

3.ドッカーを開きます 、レジストリに移動します 、およびPi-holeを検索します。 Pi-hole / Pi-holeをダブルクリックします (公式のPi-hole docker画像)ダウンロードしてください。

4.最新を選択します 。画像がダウンロードされます。

5. Pi-holeイメージをダブルクリックして、Docker構成を起動します。

6.コンテナに名前を付けてから、詳細を選択します 設定 :DHCPにPi-holeを使用する場合は、高い特権を使用してコンテナを実行するを確認する必要があります。

7.次に、詳細を構成する必要があります 設定

  • 有効をオフにします 自動再起動。

  • ボリューム セクションでは、作成したフォルダーを内部のDockerPi-holeの場所にマップする必要があります。 追加を選択します フォルダ dnsmasq.dを追加します フォルダを作成し、マウントパスを /etc/dnsmasq.dと入力します 。マウントパスが/etc / piholeのpiholeフォルダについても同じようにします。 。

  • ネットワークの下 、[Dockerホストと同じネットワークを使用する]を選択します。

  • 環境に移動します セクション 。いくつかの変数を追加する必要があります。
  • +をクリックします これらの変数に署名して追加します:
    • WEBPASSWORD: 管理者ポータルにアクセスするためのパスワード。
    • WEB_PORT: 管理者ポータルにアクセスするためのポート。これは使用されていないものである必要があります。一般的に、8000年代のものは問題ないはずです。
    • DNSMASQ_LISTENING: ローカル
    • ServerIP: これはすでに存在します。これをNASのIPアドレスに変更します。

8.適用をクリックします Pi-holedockerコンテナを作成します。

9.ホストネットワークインターフェイスを使用しているため、Synologyファイアウォールでポート53と上記で選択した「WEB_PORT」(8888が使用したもの)を開く必要があります。これは、デフォルトのDNSポートであり、Pi-holeWebポータルのポートです。ファイアウォールの構成方法を知りたい場合は、ここでチュートリアルを作成しました。

10.コントロールパネルを開き、ファイアウォールに移動します 。 編集を選択します ルール

11.ルールを作成します カスタムポートを使用 上で定義したこと。プロトコルはTCPのままにしておくことができます 。

12.作成 DNSポートを使用したルール これは53 。プロトコルで、すべてを選択します 。

13.ルールがすべて拒否を上回っていることを確認します ルール。

14.これで、次のWebアドレスを使用してPi-holeにアクセスできるようになります: http:// [NAS IP_ADDRESS]:[WEB_PORT] / admin

15.これでインストールプロセスは完了です。 [DNS構成]セクションに移動して、構成プロセスを完了します。

3。 Macvlanネットワークインターフェース(オプション2)–SynologyNASでPi-holeをセットアップする方法

この投稿の執筆時点では、v5.1.1(最新バージョン)をこのメソッドで動作させることができません。何度もテストしましたが、v5.0とv5.1が正しく機能していることを確認できます。

v5.1.2は、v5.1.1が引き起こした問題を解決したようです!

上記のように、この方法でセットアップを完了することの利点は、Pi-holeに独自のIPアドレスを与えることができることです。これには、SynologyNASにSSHで接続する必要があります。

1.SynologyNASにSSHで接続できることを確認します。 コントロールパネルを開きます 、端末とSNMPを選択します 、および SSHを有効にします サービス。Synologyのファイアウォールを使用している場合は、ポート22のトラフィックを許可していることを確認してください。 問題が発生した場合にSynologyNASにSSHで接続する方法に関するビデオを作成しました。

2. SSH お気に入りのSSHツールを使用してSynologyNASに接続します。最初に行う必要があるのは、 resolv.confを作成することです。 Dockerが正しいDNSサーバーアドレスを取得できるようにするファイル。この手順は必須ではないかもしれませんが、これなしでPi-holeを構成する際に大きな問題が発生しました。次のコマンドを実行します:

cd /[VOLUME_#]/docker/pihole
sudo vi resolv.conf

3.作成したファイルに、以下の2行を入力し、ファイルを保存します。 viエディターの使用方法がわからない場合は、ここで使用方法を学ぶことができます。 :これで問題が発生した場合は、 resolv.confという名前のローカルファイルを作成してください。 以下の2行で、DSMのpiholeフォルダにアップロードします。

nameserver 127.0.0.1
nameserver 8.8.8.8

4.ファイルが作成されたので、dockermacvlanネットワークインターフェイスを作成する必要があります。まず、(Synology NASに)現在存在するネットワークインターフェイスを特定し、アダプター名を書き留める必要があります。これを行うには、以下のコマンドを実行し、Synology NASのIPアドレスを持つネットワークインターフェース名を書き留めます(この例では、私のものはeth0です)。

ifconfig

5.次に、正しいサブネットを置き換えながら、以下のコマンドを実行する必要があります(ほとんどはデフォルトで192.168.1.0/24です)。また、現在使用されていない、使用するIPアドレスを選択する必要があります。 192.168.1.198を使用します。 :ph_networkはネットワークの名前になります(必要に応じてこれに置き換えることができます)。

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 ph_network

これでネットワークが作成されました。その後、SSHセッションを終了し、DSMで無効にすることができます(使用しない場合)。無効にしてファイアウォールルールを作成した場合は、ファイアウォールルールも無効にする必要があります。

6.次に、ブリッジネットワークを作成する必要があります。これにより、ホスト(NAS)がPi-holeコンテナと通信できるようになります。 Dockerを開きます ネットワークに移動します セクション。 [追加]を選択して、現在使用されていないサブネットを入力します。作成しているブリッジのIPアドレスは192.168.10.2になります。

7.これで新しいネットワークが作成されました。次に、Pi-holeコンテナを作成する必要があります。

8.ドッカーを開きます 、レジストリに移動します 、 Pi-holeを検索します 。 Pi-hole / Pi-holeをダブルクリックします (公式のPi-hole docker画像)ダウンロードしてください。

9. v5.1を選択します 。画像がダウンロードされます。

10.コンテナに名前を付けて、詳細設定を選択します 。 :DHCPにPi-holeを使用する場合は、高い特権を使用してコンテナを実行するを確認する必要があります。

11.次に、詳細設定を構成する必要があります 。

  • 有効をオフにします 自動再起動。
  • ボリューム セクションでは、作成したフォルダーを内部のDockerPi-holeの場所にマップする必要があります。 追加を選択します フォルダ dnsmasq.dを追加します フォルダを作成し、マウントパスを/etc/dnsmasq.d。と入力します。 マウントパスが/etc / piholeのPi-holeフォルダについても同じようにします。 。
  • 最初のオプションとは異なり、 resolv.confをマッピングする必要があります ファイルも。 ファイルを選択します resolv.confに移動します 作成したファイル。マウントパスを/etc/resolv.conf。として入力します

  • ネットワークの下 セクションで、作成した2つのネットワーク(ph_network、ph_bridge)を追加し、ブリッジを削除します。 ネットワーク。

  • +をクリックします これらの変数に署名して追加します:
    • WEBPASSWORD :管理者ポータルにアクセスするためのパスワード。
    • DNSMASQ_LISTENING: ローカル
    • VIRTUAL_HOST: pihole
    • ServerIP: これはすでに存在します。 これを、上記で作成したph_networkのIPアドレス(192.168.1.198)に変更します。

12.適用をクリックします Pi-holedockerコンテナを作成します。

13.これで、次のWebアドレスを使用してPi-holeにアクセスできるようになります: http:// [IP_ADDRESS] / admin

4。 DNS構成–SynologyNASでPi-holeをセットアップする方法

Pi-holeのセットアップが完了したので、クライアントをDNSサーバーにポイントする方法を決定する必要があります。これを行うには、主に2つの方法があります。

  • ルーターのDNSサーバーをPi-holeサーバーのIPアドレスにポイントします。これにより、接続されているすべてのデバイスがDNSサーバーとしてPi-holeを使用するようになります。
  • 各クライアントをDNSサーバーにポイントします。これは、特定のクライアントだけにPi-holeをDNSサーバーとして使用させたい場合に役立ちます。
    • Windowsの説明
    • MacOSの説明
    • Linuxの説明

すべてのデバイスが確実に接続するようにしたいので、ルーターのDNSサーバーをPi-holeサーバーにポイントします。

5。結論

このチュートリアルでは、SynologyNASでPi-holeをセットアップする方法について説明しました。プロセスはそれほど悪くはなく、Pi-holeは素晴らしいです!しばらく使用していますが、必要なものがブロックされるという問題が発生することがありますが、それを見つけてホワイトリストに登録するのは非常に簡単なプロセスです。

もう一度、冗長なPi-holeサーバーの重要性を指摘します。 2台目のDNSサーバーを使用することには多くの利点があり、Raspberry Pi Zeroキットは25ドルと安いので、それだけの価値があります。

チュートリアルを読んでいただきありがとうございます。ご不明な点がございましたら、コメント欄にご記入ください!


Docker

WSLでDockerを設定する方法[ステップバイステップ]

  1. Dockerをインストールし、CentOSおよびRHEL 8/7で基本的なコンテナー操作を学ぶ–パート1

  2. Dockerコンテナに静的IPを割り当てる方法

  3. DockerにWordPressをインストールする方法(Windows、macOS、Linux)

Dockerコンテナ内のローカルホストに接続する方法

  1. Dockerfiles

  2. 信頼を高めるためにDockerイメージに署名する方法

  3. Dockerコンテナを停止せずに切り離す方法

Linuxでファイルとディレクトリの名前を変更する方法

  1. Dockerイメージとコンテナーはホストのどこに保存されますか?

  2. DockerとNGINXとAPIプロキシを使用してReactアプリを本番環境にデプロイする方法

  3. Docker再起動ポリシーのビギナーズガイド