タグ: adguardhome

  • Zimaboard232にOpenWrtをインストールしてゲートウェイ兼ファイアウォールを入れ替えた

    以前購入して、今は余っている状態だったZimaboard232をなんとか使いたいと思っていましたが、ようやく実行しました。LANポートが2つあるZimaboardを自宅ネットワーク内のゲートウェイ兼ファイアウォールとして使います。

    これまでOpnsense、pfsenseは使っていましたが、Zimaboard232はメモリが2GBであり、ギリギリかも知れないので、もっと低スペックでも動作するOpenWrtを使うことにします。

    ちなみにZimaboard232のスペックは、
    CPU CeleronN3350 1.10GHz
    メモリ 2GB
    eMMC 32GB
    です。メモリとストレージの数字が232の型番の由来ですね。この初代Zimaboardはメモリ4GBや8GBのものもあったのですが、その分値段も高かったです。

    さて、OpenWrtはISOファイルでの提供がされていないため、普段のインストールで使うVentoyに入れられません。ということで、新しくUSBメモリを買ってきて、OpenWrtのイメージファイルをbalenaEtcherで書き込みます。

    このUSBメモリを、Zimaboard232に挿して起動してからddコマンドで本体に書き込みます。

    そしてZimaboard232で起動するとあっさり動きました。元々使っていたpfsenseのIPアドレスと同じように設定して、晴れて全てのデバイスがネット接続できたのですが、なぜかストレージのディスクスペースが20MBくらいの空きしかなく、全体でも100MBくらいしか使っていません。32GBのeMMCなのに。

    ということで、コマンドラインからfdiskでイジったら見事に失敗しました。一からやり直しです。

    再度インストールしてから、今度はUSBメモリにGparted Liveを入れたもので起動して、GUIでディスクスペースを拡張します。ここで気が付きましたが、なんかエラーがあってチェックから修復できました。これでようやく、eMMCの全てをOpenWrtに使うことが出来ます。

    OpenWrtで起動したらあまりすることはありません。一応、AdGuardHomeのプラグインを入れましたが、設定しても広告ブロックが出来ていない・・・。既に立てているPi-holeの方を削除できるかと思いましたが、とりあえずこのままにします。

    OpenWrtでTailscaleのプラグインもあるので、それもやってみましたが、こちらも駄目。

    AdGuardHomeもTailscaleもGeminiに聞きながらアレコレ頑張りましたけど駄目だったので、Proxmoxに頼ることにします。

    広告ブロックはPi-holeのLXCがすでにあるので、後はTailscaleですが、こちらはVMで立てることにします。Ubuntu server 24.04を入れて、Tailscaleも入れて、ブラウザ上でTailscaleの管理画面から設定したら、あっさり動作OK。モバイル回線でのスマホからでもちゃんとセルフホストのサーバにアクセスできました。

    結局、Zimaboard232でOpenWrtを動かしていますが、プラグインを使っていないのでリソースが余りまくっています。まあいいか。

  • 脱CasaOS計画〜その4:AdGuardHomeを止めてProxmoxにPi-holeを設置

    脱CasaOS計画の4回目では、広告ブロック・DNS転送のために設置しているAdGuardHomeを、ProxmoxのLXCに立てたPi-holeに移行します。

    現在、Proxmoxを入れているDELL Wyse5070はCPUが
    CPU:Celeron J4105(Quad Core 1.5 GHz)
    メモリ:8GBx2
    というスペックのため、アレコレProxmoxでコンテナやVMを作っていくと負荷をさばけなくなりかねないため、AdGuardHomeよりも低スペックで動くPi-holeにします。以前は使っていたのでだいたいのことは分かりますし。

    例によってProxmoxのLXCですが、
    コンテナイメージ:Ubuntu server 24.04
    CPU:1コア
    メモリ:128MB
    スワップ:256MB
    ストレージ:4GB
    とかなり減らしました。メモリは最初512MBで立てましたが、メモリ使用率を見たら128MBでも十分です。64MBでもなんとかなるかも知れませんが、apt update && apt upgrade -yを走らせたら厳しいかも。

    移行作業自体は、AdGuardHomeで設定しているDNS転送設定をPi-holeでも設定すればOK。ついでに広告ブロックのリストも一部コピーしておきました。

    あと、ゲートウェイにしているpfsenseで、DNSを従来のAdGuardHome(CasaOS)から、今回のPi-holeの数字に変更します。

    これで完璧!と思っていましたが、なぜかPi-holeの方にデータが流れていきません。AIに聞いてみたら、

    ① Pi-holeのインターフェース設定(セグメントが違う場合)
    もしメインPC(例: 192.168.1.x)とProxmox(例: 192.168.2.x)でネットワークのセグメントやVLANを分けている場合、Pi-holeはデフォルトで「自分と同じセグメントからのリクエスト」しか受け付けません。
    
    Pi-holeのWeb GUI > [Settings] > [DNS] を開きます。
    
    Interface settings の項目を探します。
    
    Allow only local requests になっている場合は、Permit all origins に変更して画面下の [Save] を押してください。
    (※Pi-holeがインターネットに直接公開されていない環境であれば、これを選択して問題ありません)
    

    こういう返答がありました。今回便宜的に、別のセグメントのProxmoxを使ったのでこれが原因ですね。言われたままに設定してみれば、Pi-hole経由での通信になりました。

    そしてしばらく使っていると、

    「あれ? CasaOSのAdGuardHomeよりも、Pi-hole経由の方がウェブ表示が速いぞ???」

    ということに気が付きました。別にCasaOSを入れていたPCのスペックが低いわけでもなく、CPU・メモリや通信帯域が足りていなかったわけではなかったのですが、なぜかAdGuardHomeでの処理が遅かったようです。

    メインPCだけではなく、メインスマホ、サブスマホ、タブレットでも同様な感じに思えました。

    まあ速くなる分には問題ないです。ありがたいことです。

    ・CasaOSで運用中のセルフホストのサービス
    FreshRSS→移行完了
    Jellyfin
    Nextcloud→移行途中
    AdGuardHome→Pi-holeに移行完了
    Memos→移行完了
    Vaultwarden
    PhotoPrism
    Ghost

  • WordPressからGhostにブログを移行してみた

    このブログはWordpressを使って運営していますが、自分のブログの方針として、面倒くさいのでゴテゴテした感じにするつもりはないし、テキストと写真・リンク以外のものが存在しないので、Wordpressは結構過剰な仕様なんですよね。

    ということで、もっとシンプルに使えるものとして、同じCMSながらブログ・ニュースレターに特化したGhostというセルフホスト可能なサービスを使うことにしました。

    https://ghost.org/

    ウェブサービスとしても使えますが、セルフホストも可能というのはWordpressとWordpress.orgみたいな感じでしょうか。

    移行にあたっては、まずは既存のWordpressでGhost移行用プラグインをインストールします。プラグイン検索でGhostで検索すると見つかりますので、それを入れたあとに有効化すると、エクスポートできます。json1つだけ出力されるのと、画像込みZipを出力するのとがありますので、一応両方エクスポートしておきます。

    肝心のGhostについては、最初はProxmoxのLXCコンテナで作るつもりでしたが、DBとか面倒くさいなあと思ったので、VMを作ってCasaOSを入れて、CasaOSのアプリとしてGhostを入れました。勝手にDBを入れるところまでやってくれるので楽です。

    まずはプライベートIPアドレスでGhostを起動します。ポートは2368がデフォルトです。

    最初の画面でメールアドレスとパスワードを設定して初回ログイン。先ほどエクスポートしたWordpressの中身をインポートしようとすると、画像込みのZipファイルを読んでくれません。仕方無しにjsonでインポートします。画像入れてる投稿は1つくらいしか無かったので別に良いのですが、画像が多いブログを移行する場合は大変ですね。

    さて、問題なさそうなので独自ドメイン(https://hrsgmb.com)に移行・・・する前にテストとして、
    https://new.hrsgmb.com
    で使えるか試してみます。

    Cloudflareの設定で上記のテスト用サブドメインのDNSレコードを固定IPに設定し、
    AdguardHomeでサブドメインをNginxProxyManagerに向けて設定、
    NginxProxyManagerでCasaOSのIPアドレスに向けるのとSSL設定を行い、
    さあサブドメインでテスト運用!と思っていました。

    しかし、このサブドメインをブラウザで開き、設定画面で初回ログイン時に設定したメールアドレスとパスワードを使うとエラーが出てログインできません。

    訳が分かりませんでしたが、調べてみるとどうやらログイン時に作成したクッキーがないと強制的に2段階認証が発動するようです。そして、メール送信の仕組みを設定していないため、そのメールアドレス宛への2段階認証のコードを送ることすら出来ないという状況になっていました。

    先達の方々のブログも読んで、configファイルにCasaOSのアプリのターミナルから普段使わないviで書いたりしましたが、それでも2段階認証のメール送信が出来ません。

    結局、困ったときはいつもの通り生成AIです。聞いてみると、configを編集するよりも、dockerなら環境変数で設定したほうが良いとのこと。こういうことはやっぱり知識がないと駄目ですね。

    言われたとおり、CasaOSのGhostの設定画面で環境変数に追加してみました。ちなみに使用するメールはGmailで、送信システムもGmailのSMTPを使用します。

    この時に、Gmailのアプリパスワードという仕組みを使いましたが、セキュリティのことを考えるといずれこの仕組みはGoogleが廃止しそうな気がします。その時までに、自宅ネットワーク内でのメールサーバを立ち上げておかないといけないのでしょうか。

    それはともかく、生成AIのおかげで2段階認証のメールがちゃんと届き、ログインできました。

    まだテスト用のサブドメイン運用ですので、
    https://new.hrsgmb.com
    となっているものを全て、
    https://hrsgmb.com
    に変更していきまして、Ghostの設定画面にも再び2段階認証でログインできました。これで移行完了です。あ、上記のテスト用サイトは

    大してビュー数も無く、画像もあまり貼っておらず、ポスト数もまだまだ少ないブログですので、WordpressでもGhostでも表示速度に差は無いと思いますが、とにかくシンプルなのは良いですね。

    設定画面が全部英語で、日本語ローカライズも無いようですが、難しい英語が書かれているわけではないですし、ブラウザの翻訳機能を使えば誰でも使えるでしょう。

    結構良いなと思ったのですが、少なくとも日本での知名度も利用度もWordpressと比ぶべくもないくらい隔絶しています。まあ、シンプルなブログを書きたいなら、GoogleのBloggerとか、私も書いているnoteとかありますしね・・・。