Ubuntu Mac miniでPIホールを設定する


私はしばらくの間、私のホームネットワークにPIホールを設置したかったが、時間を見つけませんでした.同様に、私の古いMac miniは、数年の間、現在のところに敷設されています.MacOSビッグSurが私の2012のMac miniと互換性がないという最近の発表の後、私はUbuntuサーバーに私のミニを回して、Piholeをインストールすることに決めました.

ハードウェア


既に触れたように、私は古い2012のMac miniを再提案しました.MacはI 5 - 3210 Mプロセッサ、8 GBのRAMと500 GBのハードディスクを持っています.小さなフォームファクタであるMac miniを使用すると、私のルータの下にうまく位置することができました.

インストールとUbuntuの設定


最初のステップはUbuntuサーバーを取得し、インストール命令に従ってくださいofficial website . インストールスティックとしてUSBスティックを使用しました.USBからブートするには⌘ Command キーを起動するときは、Mac上でブートメニューを開きます.
注意:インストール時にディスクを指定するときには、ディスクをデフォルトでは選択しませんでした.したがって、私はディスク全体を利用するためにデフォルトサイズを拡大しなければなりませんでした.

システムを更新する


最初のインストールの後、私はこれ以上続く前にすべてを更新しました.
apt update && apt upgrade -y

メールのポストフィックスをインストール


最新の無人アップグレードをサーバーを維持するために使用されます.無人のアップグレードからのレポートPostfixを使用してメールで送信されます.
Postfixと初期設定をインストールするには、次の手順を実行します.
apt install postfix mailutils
cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
私はリレーホストとしてsendgridを使用して、彼らのドキュメンテーションに続きましたconfiguring Postfix . 以下の設定を追加しました/etc/postfix/main.cf .
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
APIキーを使ってsendgridに対して認証を行うには/etc/postfix/sasl_passwd APIキーを格納するには
[smtp.sendgrid.net]:587 apikey:<yourSendGridApiKey>
パスワードファイルが正しい所有権を確保し、postfixを再起動する前に確認してください.
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
systemctl restart postfix
電子メールを送信することによってテストPostfix:
echo "Just testing postfix" | mail -s "[Test Email]" test@example.com

無人アップグレード


前に述べたように、Ubuntuサーバーが常にパッチされていることを保証するために、私は手動の相互作用なしでアップデートをインストールする無人のアップグレードを構成しました.
無人アップグレードをインストールします
apt-get install unattended-upgrades apt-listchanges

周波数設定


私が使用した更新の頻度はthis setup それは私のニーズに合っていた.
/etc/apt/apt.conf.d/20auto-upgrades 次のように設定します.
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "3";
APT::Periodic::AutocleanInterval "9";
  • APT::Periodic::Update-Package-Lists "1";
  • 私は毎日パッケージのリストを更新します.ソースが時代遅れであるなら、無人のアップグレードが失敗するので、これは重要です.
  • APT::Periodic::Download-Upgradeable-Packages "1"
  • 私はまた、毎日1つの移動でそれらをダウンロードするよりもむしろ更新をダウンロードします.
  • APT::Periodic::Unattended-Upgrade "3";
  • インストールを3日おきに行います.
  • APT::Periodic::AutocleanInterval "9"
  • パッケージキャッシュを9日おきにきれいにしてください.
  • 無人アップグレードの設定


    無人アップグレード設定ファイルでUnattended-Upgrade::Mail プロパティをメールアドレスに.
    私も自動再起動と再起動する時間を設定します
    Unattended-Upgrade::Automatic-Reboot "true";
    Unattended-Upgrade::Automatic-Reboot-Time "02:00";
    

    インストール&セットアップ


    パイ穴を設定するためのインスピレーションはblog post で、彼は彼が実行した手順について説明します.一方、私のホームネットワーク上の広告をフィルタアウトするPIホールを設定すると、私はまた、https(DOH)の上にDNSを設定します.DOHはDNSの安全な伝送を容易にする.

    インストール


    CloudfaresはHTTPSの上でDNSを有効にするプロキシとして使われます.パイ穴が良いdocumentation for installing Cloudflared . 私は、上記のリンクで概説された「自動」ウェイをインストールしました.
    をインストールします.
    wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.deb
    apt-get install ./cloudflared-stable-linux-amd64.deb
    cloudflared -v
    
    CloudFireを設定するには、設定ファイルを使って上流のDNSの位置を指定します.
    mkdir /etc/cloudflared/
    vi /etc/cloudflared/config.yml
    
    config.yml CloudFlareのDNSサーバにファイルの内容を示す.
    proxy-dns: true
    proxy-dns-port: 5053
    proxy-dns-upstream:
      - https://1.1.1.1/dns-query
      - https://1.0.0.1/dns-query
    #Uncomment following if you want to also want to use IPv6 for external DOH lookups
      #- https://[2606:4700:4700::1111]/dns-query
      #- https://[2606:4700:4700::1001]/dns-query
    
    注意: DNSプロキシポートは後で必要です.
    設定が完了したら、CloudFireをサービスとしてインストールしました.
    cloudflared service install --legacy
    systemctl start cloudflared
    systemctl status cloudflared
    
    あなたが実行することができますCloudfres作品を介してルーティングDNSをテストするにはdig :
    dig @127.0.0.1 -p 5053 google.com
    

    PIホールのインストールと設定


    PIホールのインストールは些細なことで、次のコマンドを実行し、インストール手順を実行しました.
    注意:インストール後の設定をオーバーライドして以来、デフォルトのDNS設定を選択しても問題ありません.
    curl -sSL https://install.pi-hole.net | bash
    
    インストールが完了したあと、私はPIホールがCloudFREDサービスを通してDNSをルーティングすることを確実とするために、2、3の設定ファイルをアップデートしました.
    /etc/pihole/setupVars.conf 値を削除するPIHOLE_DNS_1 and PIHOLE_DNS_2 . これは、PIホールを設定するときに選択されたDNSの設定を使用してPIホールを停止します.
    ...
    PIHOLE_DNS_1=
    PIHOLE_DNS_2=
    ...
    
    私も追加の設定ファイルを作成しましたdnsmasq DNSをCloudFireサービスでルーティングする.
    注意:ポート# ) で指定されたDOHプロキシポートと一致する必要があります
    クリエイト/etc/dnsmasq.d/cloudflared-dns.conf :
    server=127.0.0.1#5053
    
    私は、次に、更新された設定を使用するためにPihole FTLサービスを再開しました.
    systemctl restart pihole-FTL
    systemctl status pihole-FTL
    

    PIホールを使用するデバイスの設定


    パイホールを利用するために私のすべてのデバイスを有効にするには、私は私のルータ上のネットワークDNSサーバーを設定するように選択したので、すべてのデバイスは、PIホールとDOHを介してデフォルトでルーティングされます.

    私が使用するかもしれない私のセットアップの間に使用されたいくつかのリソース:
  • Install outgoing email from Debian/Ubuntu system through SendGrid
  • Integrate Postfix with SendGrid
  • Debian Unattended Upgrades Docs
  • @roybotnik Unattended Upgrades Setup
  • Install Cloudflared
  • Install Pi-Hole
  • あなたは、インストールされて、Pi穴を構成しましたか?何かフィードバックはありますか?手を伸ばして話し合いましょう.