GNU/Linux >> Linux の 問題 >  >> Linux

Pi-Hole-DNSトライアングル

現代のインターネットはかなり迷惑な場所です。多くの場合、テキストを読んだり、ビデオを見たりするような無実の活動は、広告としてよく知られている宣伝メッセージによって中断されます。広告が関連性があり、タイミングがよく、邪魔にならない場合、これは問題にはなりませんが、人工知能、ディープラーニング、その他の流行語の多くの「進歩」にもかかわらず、それらはそれらのどれでもありません。そうすれば、プライバシーなどがあります。

広告提供者と広告ブロッカーの間の戦いは激しさを増しています。また、積極的な対面広告モデルに反対する人が増えているため、徐々にエスカレートしています。ほとんどの場合、ブラウザでアドブロック拡張機能を使用すれば、準備は完了です。しかし、あなたはブラウザ会社と彼らが許可するものに翻弄されています。さらに、これはすべてのブラウザやオペレーティングシステムで常に機能するとは限りません。解決策は、広告サーバーへのブロックネットワークリクエストを完了することです。これは、Pi-Holeが行うことです。確認しましょう。

はじめに

Pi-Holeは、インターネット広告主にとってのブラックホールです。これは、広告配信であると識別されたドメインへのDNS要求をブロックするソフトウェアツールのセットであるため、ブラウジングセッション(またはインターネットに接続するアクティビティ)に広告が含まれることはありません。これはネットワークレベルのソリューションであるため、すべてのシナリオで機能するはずです。ノイズの減少の他に、トラフィックの量の減少、プライバシーの向上などのメリットもあります。

これに興味をそそられ、Pi-Holeをセットアップすることにしました。現在、一般的に、Pi-Holeはアプライアンスとして使用するように設計されています。その名前が示すように、安価なRaspberry Piデバイスを使用し、それにPi-Holeをインストールしてから、ネットワークフィルターとして使用することをお勧めします。そこに問題の1つがあります。Pi-Holeを正しく構成するには、ネットワークについてある程度理解する必要があります。全体として、完全なPi-Holeソリューションは以下をカバーします:

  • Pi-Holeソフトウェアを実行するデバイスのセットアップ-これはネットワーク上の専用システムにすることも、Linuxを実行している任意のマシンでPi-holeを構成することもできます。たとえば、Linuxのラップトップまたはデスクトップが2つある場合、それぞれが独自のネットワークフィルターになる可能性があります。
  • 次のステップは、Pi-HoleをDNSサーバーとして構成することです。基本的に、IPアドレスではなくドメイン名を使用して参照します。人間は、1.2.3.4などの一連の数字よりも、dedoimedo.comやexample.comのようなものを覚える方がはるかに簡単だと感じています。これは、人間が読み取れる名前から数字への変換を行うドメインネームシステム(DNS)解決サービスを介して行われます。 Pi-Holeは、この時点でフィルタリングルールを適用できます。インターネット広告主のいずれかに属すると見なされるアドレスへのリクエストを識別した場合、このリクエストをドロップできるため、そのようなコンテンツは提供されません。もちろん、これには誤検知も含まれる可能性があります。
  • 最後のステップは、DNSサーバーとしてPi-Holeを使用するように他のシステムを構成することです。これも、ネットワークに関するある程度の知識が必要です。しかし、これは実際にはすべてのオペレーティングシステムに当てはまります。 Pi-HoleアプライアンスはLinuxである必要がありますが、どのマシンでも、アプライアンスを使用するためにDNS構成を変更できます。その時点から、Pi-Holeが仲介者となり、ネットワーク要求をフィルタリングします。

したがって、上記のすべてに専門知識が必要であることを覚えておく必要があります。セットアップでこの性質のソリューションを何気なくプラグアンドプレイすることはできません。しかし、あなたがオタクの友人を持っているなら、彼らはあなたのためにこれをすることができるかもしれません。これがどれほど単純か複雑かについては、続けましょう。

インストールウィザード

スクリプトをダウンロードして実行しました。従うのが比較的簡単なテキストベースのウィザードが表示されます。これをKDEneonで実行したところ、GitHubからの独自のコンポーネントを除いて、システムリポジトリからのソフトウェアのみがインストールされました。

使用するDNSをPi-Holeに指示する必要があります。たとえば、独自のルーターを使用できます。これは通常、Linuxシステムが使用するルーターであり、192.168.1.1や192.168.2.1などです。現在systemdを導入していると、物事を理解するのが少し難しくなりますが、そこに到達します。また、既存のインターネットDNS(GoogleやCloudFlareなど)の一部を使用するオプションもあります。カスタムセットアップから始めることにしました。

他のアドブロッカーと同様に、Pi-Holeはリストを使用して広告をブロックします。これは、ソリューションの最も強力なリンクであり、最も弱いリンクです。リストが最新でない、不正確である、または正しく作成されていない場合、正当なドメインが拒否されるギャップまたは誤検知が発生する可能性があるためです。しかし、それに関しては、これはブラウザ拡張機能を介したアドブロックと同じですが、もう少し徹底的で積極的である点が異なります。ほとんどのブラウザ拡張機能はサードパーティのドメインにのみルールを適用するため、期待されるドメインが動作しない可能性は比較的低くなります。 Pi-Holeは絶対確実であることが意図されており、それは合法的なサイトの読み込みを妨げる可能性があることを意味します。

WebUIはいいことのように聞こえます。設定しました。

そしてそれはそれでした。おそらく、Pi-Holeがインストールおよび構成されており、今すぐ使用できます。

機能しましたか?

いいえ。インターネットに接続できませんでした-名前解決に失敗しました。私のローカルシステム(ネオン)はそれ自体をDNS(またはルーターを使用していたインストール済みのPi-Hole)として使用していましたが、Pi-Holeは解決サービスを提供していないようでした。

この時点での問題は、インターネットがないためオンラインに接続できないため、回答を検索する場合は別のマシンが必要になることです。 Pi-Holeをアンインストールしてみましたが、これはシンプルでクリーンなソリューションであり、接続はすぐに復元されました。再度インストールしたところ、同じ結果になりました。

コマンドラインチェックを試してみることにしました。 Pi-Holeには、有効化、無効化、名前解決サービスの開始、ステータスの確認などを行うことができるいくつかのコマンドが付属しています。 pihole-FTLと呼ばれるものに問題があったことがわかりました。さて、大丈夫です。

pihole enable
[i]ブロッキングの有効化
[✗]pihole-FTL:プロセスが見つかりません
[✓]Pi-holeEnabled

pihole-FTLを実行しようとしましたが、起動しませんでした。実は、sudoが必要でした。オンラインドキュメントを見ると、セットアップエラーはそれほど十分にドキュメント化されていません。そのため、構成の最初のハードルを乗り越えたように見えます。

pihole-FTL
致命的:FTLログ(/var/log/pihole-FTL.log)を開くことができませんでした!
存在し、ユーザーneonが書き込み可能であることを確認してください

sudo pihole-FTL
FTLが開始されました!

しかし、私はまだインターネットを持っていませんでした。 DNSサービスがまだダウンしていると思ったので、再起動してみました。

pihole restartdns
[✗]pihole-FTL.serviceの開始に失敗しました:ユニットpihole-FTL.serviceが見つかりません。

エラーから、FTLサービスを開始するためのユニットファイルがないか、中断されていることがわかりました。オンラインで検索したところ、サービスファイルを変更する必要があることがわかりました。つまり、/ etc / init.d / pihole-FTLの下で、次の場所からFTLを呼び出す行を編集する必要がありました。

su -s / bin / sh -c "/ usr / bin / pihole-FTL" "$ FTLUSER"

この行だけに:

/ usr / bin / pihole-FTL

この後、Pi-Holeはエラーなしで起動しました。

sudo pihole restartdns
[✓]DNSサービスの開始

Pi-Holeは広告をブロックしていませんでした

私は接続性を持っていましたが、広告はそこにありました。 Pi-Holeはフィルタリングを行っていませんでした。そこで、Web UIにアクセスして、変更や調整ができるかどうかを確認することにしました。しかし、Pi-Holeアドレスにアクセスしようとすると、Webサーバーがリッスンしていませんでした。 http:// ip-address / adminとhttp:// pi-hole/adminは何もしませんでした。

コマンドラインでさらにテストを行いましたが、lighttpdサービスが実行されていなかったことが判明したため、WebUIがなかった理由がわかります。それで、もう少し魔法をかける時が来ました、そして再び、ドキュメントはこの主題に関して少しまばらでした。さらにエラーが発生しました:

sudo systemctl restart lighttpd.service
制御プロセスがエラーコードで終了したため、lighttpd.serviceのジョブが失敗しました。詳細については、「systemctlstatuslighttpd.service」および「journalctl-xe」を参照してください。

しかし今回はインターネットを持っていたのでオンラインで検索でき、すぐに問題の原因がわかりました。次のスレッドは私を正しい答えに導きました-解決策を示すエラーログには何もありませんが。そしてここで、もう一度、systemdの解読不可能な複雑さを指摘したいと思います。バイナリログで情報を検索する必要がありましたが、それでも情報は役に立ちませんでした。

私は実際にパッケージ(gamin)を見逃していました。なぜそれが依存関係としてすぐにインストールされないのか、わかりません。しかし、これをインストールすると、lighttpdは問題なく起動し、WebUIを探索できるようになりました。

sudo apt-get install gamin

systemctl status lighttpd.service
●lighttpd.service-lighttpdデーモン
ロード済み:ロード済み(/lib/systemd/system/lighttpd.service;有効;ベンダープリセット:有効)
アクティブ:アクティブ(実行中)2019-05-0915:34:03CESTから2秒前
プロセス:19060 ExecStartPre =/ usr / sbin / lighttpd -tt -f /etc/lighttpd/lighttpd.conf(code =exited、status =0 / SUCCESS)
メインPID:19069(lighttpd )
タスク:6(制限:4915)
CGroup:/system.slice/lighttpd.service
├─19069/usr / sbin / lighttpd -D -f / etc / lighttpd / lighttpd .conf
├─19078/usr/ bin / php-cgi
├─19079/usr/ bin / php-cgi
├─19080/usr/ bin / php-cgi
├─19081/usr/ bin / php-cgi
└─19082/usr/ bin / php-cgi

WebUIのログインとパスワード

しかし、私はまだ広告をブロックしていませんでした。それでログインしようとしましたが、別の問題があることに気付きました。実際にすべてのログと詳細を確認して変更を加えることができる管理ページにアクセスできませんでした。繰り返しになりますが、オンラインで検索したところ、コマンドラインからデフォルトのパスワードをリセットする必要があることがわかりました。

pihole -a -p

その後、WebUI設定にアクセスできました。それは本当に素晴らしくて強力なインターフェースです。 Pi-Holeを一時的に停止する機能など、多くのオプションが用意されているため、問題が発生した場合は、すべてを変更するのではなく、フィルタリングを一時停止することしかできません。 DNS設定で遊ぶ必要はありません。

ブロックリストに入力

そして、インターフェースを調べてみると、ブロックリストがすべて空であることがわかりました。はい、これはメインページから明らかですが、探しているものを知る必要があります。 Pi-Holeがリストを更新するように促したり、実際にセットアップの一部としてこれを行ったりしないのはなぜですか?コマンドラインから手動更新を実行すると、リストが生成されました。

pihole -g -f

わかりました、機能しましたか?

はい、今、それはついに機能していました! Pi-Holeは現在DNSの役割を果たしており、トラフィックのフィルタリングも行っていました。私はそれが効果的で邪魔にならないことを言わなければなりません。そして、私が間違っていなければ、システムが処理するクエリと提供するコンテンツが少なくて済むため、ネットワーク側でわずかなパフォーマンスの向上さえありました。実際、無邪気なブラウジングがあっても、すべてのクエリの20%がブロックされました。それはたくさんのように聞こえます。しかし、それはまた、現代のインターネットの現在の状況を浮き彫りにします。ブロックリストに100,000を超えるドメインがあるという事実も、この悲しい話の一部を物語っています。また、緩やかな遅延の改善についても説明します。

結論

一日の終わりに、私はPi-holeを実行していましたが、セットアップは簡単ではありませんでした。 4つまたは5つの基本的な問題がありましたが、インストールウィザードが個別のチェックを実行して問題が機能していることを確認できたため、これらの問題は発生しなかったはずです。初回実行の一部はサービスチェックである可能性があり、そこに問題がある場合は、FTLが稼働していることを確認するためのある種の自己診断が行われます。同じことがWebサービスにも当てはまります。次に、パスワードのリセットとリストの更新があります。これらすべてにより、エクスペリエンスがはるかに合理化されます。

製品として、Pi-Holeは非常に素晴らしく強力なツールです。それは非常にうまく機能し、高速で効果的かつ堅牢であり、WebUIはうまく設計されています。また、提供する必要のあるコンテンツが少なくなり、解決するクエリが少なくなるため、トラフィック側でもある程度のメリットが得られます。したがって、重要なもののパフォーマンスが向上します。セットアップは簡単ではありませんが、達成可能であり、ネットワークの接続方法に多くの柔軟性があります。 Pi-Holeをスタンドアロンシステムとして使用することも、自宅のさまざまなデバイスすべてにサービスを提供することもできます。全体として、これはインターネットがあなたに悪意を持った場合の終末兵器です。テストする価値は十分にありますが、熱力学の2番目の法則を覚えておいてください。些細なことと複雑なことを同時に行うことはできません。


Linux
  1. viエディターの紹介

  2. RackspaceCloudで起動

  3. DNS サーバーの種類とは

  1. Windowsユーザー向けのLinuxファイルシステムの簡単な紹介。

  2. Ubuntu22.04にUnboundDNSリゾルバーをインストールする方法

  3. 逆引き DNS コマンド ライン ユーティリティとは何ですか?

  1. UbuntuでDNSキャッシュをフラッシュする方法

  2. Slackware15-古い旅団

  3. Devuan Chimaera-バック・トゥ・ザ・フューチャー、フォワード・トゥ・ザ・パスト