カテゴリー: ネットワーク

  • Zimaboardに入れているOpenWRTのバージョンを、24.10.5から25.12.2にアップグレードした話

    Zimaboardに入れているOpenWRTのバージョンを、24.10.5から25.12.2にアップグレードした話

    自宅ネットワークではゲートウェイに、Zimaboard232に入れたOpenWRTを使用しています。

    先程、このOpenWRTにログインしてアップデートの確認をすると、現在の24.10.5から24.10.6へのアップデートが可能と出てきました。

    ということでアップデートしてみようと思いましたが、念の為、AIに
    ・アップデートしたほうが良いのか
    ・アップデートするに当たり注意点はあるか
    ・アップデートによるデメリットはあるか
    ・アップデートした後のすべきこと
    を聞いてみて、色々教えてもらいましたが、その中で、

    OpenWrt公式の24.10.6リリース案内では、OpenWrt 25.12 stable series のリリースに伴い、24.10系は2026年9月以降セキュリティ更新が提供されない予定

    と言われて、知らなかったので驚いた次第です。うかつでした。自宅ネットワークの入り口のサーバについてはもっと注意を払わないといけないですね。

    ということで、改めて最新バージョンである25.12.2へのアップグレードに関して、生成AI(Gemini、Claude、ChatGPT)に

    ・アップグレードするに当たり注意点はあるか
    ・アップグレードによるデメリットはあるか
    ・アップグレードした後のすべきこと

    を確認して、色々教えてもらったので、この5連休に実施しました。

    作業としては、

    1. バックアップ取得
    2. Attended Sysupgradeで25.12.2へアップグレード
    3. 再起動後にメインPCやスマホのネット接続、Tailscale、Cloudflare Tunnel、Proxmox配下サービスを確認

    の以上です。丁寧にちゃんとした手順を踏むなら、

    1. 作業前の準備
    2. バックアップ取得
    3. 現在の設定・パッケージ一覧を保存
    4. 復旧手段を準備
    5. Attended Sysupgradeで25.12.2へアップグレード
    6. 再起動後にLAN/WAN/DNS/DHCPを確認
    7. VPN、Cloudflare Tunnel、Proxmox配下サービスを確認
    8. ログ確認

    という感じで進めていくのでしょうけれど、自分1人だけのネットワークで、サーバにしても別に自分だけ(このWordpressは全世界に公開していますが)が使うものなので、もしトラブルが起きてしまっても、最悪、一からまたOpenWRTをZimaboardに入れてしまえば良いわけで、気軽にアップグレードを試してみることにします。

    1.バックアップ取得

    まずは何がなくとも現状のバックアップを作成します。


    System>Backup/Flash Firmware>Backup
    から、「Generate archive」をクリックしてダウンロードします。.tar.gz形式のファイルで保存されます。

    2.Attended Sysupgradeで25.12.2へアップグレード

    お次は、System>Attended Sysupgrade
    から、「Search for firmware upgrade」を押すと、現在のバージョンからアップデート/アップグレード可能なイメージを探してくれます。

    私の環境では、現在、24.10.5ですので、
    24.10.6と25.12.2の2つをプルダウンで選べるようになっています。

    前述の通り、ここは一発ワイルドにいきなり25.12.2にアップグレードします。

    それを選んだ状態で「Request firmware image」を押して、次の画面で

    「Keep settings and retain the current configuration」にチェックを入れた状態で、「Install firmware image」をクリックします。先のチェックが入っていないと、各種設定などが引き継がれないままインストールすることになるので、明らかに後で面倒くさいことになります。

    インストール中は、当たり前ですが待つだけです。ファームウェアを更新している機器やその上流のルータの電源さえ落とさなければ大丈夫なはずですけれど、悲劇が起きてからでは遅いので、静かに待ちます。

    程なくして自動的に再起動がかかります。Zimaboard232はさすがにx86マシンで、一般的なルータとは速度もメモリも違います。あっという間に終わりました。ルータだともっと時間がかかるのかも知れません。

    3.再起動後にメインPCやスマホのネット接続、Tailscale、Cloudflare Tunnel、Proxmox配下サービスを確認

    再起動後、ログインするとこんな画面が出てきましたが、

    OpenWrtの管理画面を開いたときに、オンラインで新しいファームウェアがあるか確認してよいですか?

    ということですので、Yesでセーブして適用で問題ないですね。

    OpenWRTへの接続は問題ない。
    一般的なウェブサイトも問題なく閲覧できる。
    Proxmoxに入れているサーバ群にもアクセスできる。
    Cloudflare Tunnel経由のサーバも、Nginx Proxy Manager経由のサーバも大丈夫。
    スマホのモバイル回線でTailscale経由でもアクセスできる。

    ということを確かめて、全て問題ないことを確認できたので、本日のアップグレード作業は完了。

    念の為、改めてOpenWRT(Zimaboard232ごと)を再起動してみて、問題なくネットが繋がっていることを確認も出来ました。

    もっとトラブルが起きるかと思って身構えつつアップグレードしてみましたが、何もなかったですね。ルータ専用機とか、プラグインでややこしいのを入れていたら違ったのかも知れませんが。

    幸か不幸か、OpenWRTでのAdGuardHomeやTailscaleがうまく動作しなかったので、ネットワーク内のProxmoxでAdGuardHomeもTailscaleを動かしている状態になっていて、そのおかげか、OpenWRTがほぼ素の状態に近いため、トラブルなくアップグレード出来たのかも知れません。何でも一つに放り込んだら、使用中の管理は楽ですけれど、いざ何かを変更するときには面倒なことになりがちです。機能ごとにサーバが分散している方が、アップグレードは楽なのかも知れませんね。

    ちなみに、OpenWRTのバージョンアップ頻度が1年〜1年半程度でメジャーバージョンアップすることを、今初めて知りました。無知は危険ですね。ちょくちょくログインして確認することにします。次の26は2027年の中頃ですかね。

  • なぜか使えたり使えなかったりするLANハブ

    1年ほど前に自宅サーバや各種Linuxマシンにハマる前は、自宅のネットワークで使っていたのはNuro光のONU兼ルータと、TP-Link製の5ポートLANハブくらいでした。有線LANでつなぐのは、メインPCとNasneとネットワークプリンタだけでしたのでそれで十分だったのですが、今では、
    ・メインPC
    ・プリンタ
    ・Nasne
    に加えて
    ・ProxmoxVEを入れているミニPC✕2台
    ・ProxmoxBackupServerを入れているミニPC
    ・ゲートウェイにしているZimaboard
    もあるので、当然5ポートハブでは足りません。ということで、バッファロー製の8ポートのファンレスのハブを購入して使っていたのですが、数ヶ月で使えなくなりました。具体的には電源ケーブルとLANケーブルがつながっていても、電源ランプもLANのランプも点かず、当然ですが通信もできません。

    これは困ったと思ってとりあえず機器を選んでいるのも面倒なので、すぐに届いて安いTP-Linkの8ポートハブをAmazonで購入して使い始めました。色々悪評高いTP-Linkですけれど、LANハブならまだマシかと勝手に考えています。

    ともかく、そのTP-Linkのハブの方は、以前使っていた5ポートのハブも含めて壊れる気配はありません。

    その一方で、以前壊れた!と思っていたバッファローのハブも、戯れに電源を繋いでみたらランプが点きます。

    ・・・?

    活線のLANケーブルも繋いでみたら、こちらもランプが点きます?

    これはもしかして何かの勘違いだったのかなと思い、機会があればTP-Linkのハブと入れ替えようと思っていました。

    そして先日。休みの日に、いわゆるスパゲッティ状態でごっちゃになっていた上記機器間をつなぐLANケーブルを、カテゴリ6の1メートルのLANケーブル(日本橋のイオシスで1つ100円で購入)に入れ替えてスッキリさせるついでに、LANハブもTP-Linkからバッファローに交換しました。ついでにACアダプタ、電源コード類もくんずほぐれつの状態になっていたのを整理しました。

    機器が増えたので面倒も増えましたが、全部つなぎ直して全て電源オーン!

    しかしネットワークがつながりません。全部のPingも通りません。何だこれはと思ってバッファローのハブを見てみたら、電源ランプも全ポートのランプも落ちています。やっぱ壊れてるやんけ!!!

    再び、TP-Linkの8ポートハブに入れ替えて何事もなくネットにつながりました。全てのサーバも正常です。

    やはりバッファローのハブが復活したと思っていたのは幻想だったのだな・・・と思い、念の為にまた電源をつないでみるとランプが点く。LANケーブルをつなぐと、そのポートのランプも点く。

    なんじゃこれはと思いましたが、ネットや開発の世界では、
    「動いているものはイジるな」
    という大原則が存在します。それを無視したから面倒なことになったのですが、同時に接続するポート数が多いと使えなくなるのか・・・? なんだこいつ。

    同時接続が何ポートになると落ちるのか、あるいは特定の場所のポートを使うと落ちるのか。

    いろいろ検証したいところですが、確か2,000円もしない製品のために、細かい検証なんかやってられません。

    ということで、また死蔵することになりました。もう出番はないと思いますが。

  • セルフホストのサーバの大半をSSL化

    昨年10月にこのブログでも使っている独自ドメインをCloudflareに移管したのですが、

    その時にやろうと思っていたことを忘れていました。

    DNSチャレンジを使っての、ローカル環境の各サーバのSSL化です。前にドメイン管理をしていたバリュードメインでは出来なかったのですよね。前にDNSチャレンジという技術を知ってやってみようと思ったら駄目で、それもあってCloudflareに移管したのをすっかり忘れていました。

    当然ですがこのブログを運用しているGhostのサーバと、あとNextcloudとVaultwardenとFreshRSSは既にCloudflareトンネルでSSL化していたので、残りのMemosとJellyfinをDNSチャレンジでSSL化します。

    まず準備として、CloudflareでAPIトークンを作成します。

    Cloudflareの「アカウントの管理」→「アカウントAPIトークン」で「トークンを作成」をクリックし、「ゾーンDNSを編集する テンプレートを使用する」から、
    特定のゾーン : 独自ドメイン
    を選んでから「概要に進む」をクリックして、
    出てきたAPIトークンをコピペしておきます。一回限りしか表示されないそうです。

    次に、Cloudflareでドメインを管理するようになって不要になり、Proxmoxからは削除していたNgnix Proxy Managerを、Proxmox Backup Serverからリストアします。

    リストアしたNPMで、
    「SSL Certificates」から「Add Let’s Encrypt Certificate」を選び、
    ドメインネームはサブドメインをワイルドカードで指定して、「Use a DNS Challenge」でCloudflareを選び、さっきコピペしておいたAPIトークンを貼り付けて保存すると、サブドメイン共通で使い回せるSSL証明書が完成します。

    次に、「Proxy Hosts」で作りたいサブドメインを「Add Proxy Host」から作成します。ドメインネームにサブドメインを入れて、Forward Hostname/IPにプライベートIPアドレスを入れて、必要ならPortも指定して、SSLタブでさっき作ったSSLを選んで完了。

    最後に、OpenWrtで「Network」→「DHCP and DNS」→「DNS Records」タブで、
    必要なサブドメインについてHostnameとIPアドレスを入れます。
    ここで最後に「Save& Apply」を押して適用しないと有効にならないのが落とし穴。今回何度も忘れて、???という状態になってしまいました。

    成功したので気を良くした自分は、ついでにProxmox VEとProxmox Backup ServerもSSL化しようとして、ハマりました。

    他のサーバと同じようにやってもブラウザで開かず、AIに聞いてみると、NPMで
    Websockets Support: ON
    HTTP/2 Support: ON
    にした上で、Advancedタブに

    location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection “upgrade”;
    proxy_set_header Host $host;
    proxy_pass https://192.168.x.x:8006; # ← ここはPVEのIP(PBSの場合は8007ポート)にする
    }

    を書かないといけないらしい。マジでAIに聞かないとわからんわ。

    というか、そもそもProxmoxの場合は、
    「データセンター」→「ACME」
    にある機能で、ここからDNSチャレンジできるやん。まあ、その場合はワイルドカードで作ったSSL証明書の使い回しが出来ないので、それはそれで面倒ですけれど、Proxmox単体でSSL化するならこっちのほうが圧倒的に早いです。

    素人だからこそのアホな悩みでしたけれど、まあこれでProxmox VEもProxmox Backup Serverも、他のローカル環境のサーバもSSL化出来たのでOKです。

    一応、怖くてやっていないですが、
    ・OpenWrt
    ・Pi-hole
    ・Ngnix Proxy Manager
    については、SSL化したらややこしいですよねえ・・・。

  • ブログを固定IPで公開するのを止めてCloudflare Tunnelに切り替えた

    先日まで3連休を費やして、自宅サーバを入れていたCasaOSから、一つずつProxmoxに移行していった面倒な作業は終了しましたが、ブログを入れているサーバが、他のサーバと同じLAN内に同居することになりました。

    今まではブログのあるネットワークと、他のネットワークは分けていて、pfsenseで振り分けていました。

    今回も分けることは可能ではあるのですが、面倒にもなりましたし、独自ドメインの管理先をCloudflareにもしましたので、Cloudflare Tunnelを利用してブログを安全に公開する設定を行います。

    例によって生成AIに教えてもらいつつではありますが、
    ステップ1:Cloudflare Tunnel用LXCの作成
    ステップ2:Tunnelの作成(Cloudflare側での操作)
    ステップ3:ルーティングの設定(公開設定)
    ステップ4:Nginx Proxy Manager (NPM) との連携
    という順序で設定していきます。

    これで完了!と思いきや、元々固定IPで公開していたので、DNSレコードを削除しないといけなかったり、NginxProxyManagerのSSLを削除してCloudflareのSSLをフルで有効化したり、なんやかんやありました。

    外部ネットワーク(スマホのモバイル通信)からでもちゃんとアクセスできる、すなわち自分以外の人がアクセスできることを確認して、やれやれ終わった、と思ったら、自宅ネットワーク内のパソコンからブログにアクセスできない!

    調べたら、外部ネットワークからCloudflare経由でGhostサーバまで、カッチリ経路をSSLで確保しているのに、自宅ネットワーク内から経路に横入りするようなもので、そりゃエラーになりまっせ、ということらしいです。

    ということで、Pi-holeのDNS設定を削り、自宅からでも一旦Cloudflare経由でアクセスするようにしたら、晴れて
    ・自宅ネットワーク内のTailscale無し
    ・自宅ネットワーク内のTailscale有り
    ・外部ネットワークからTailscale無し
    ・外部ネットワークからTailscale有り
    の4パターンで問題なく、アクセスできるようになりました。

    面倒と言えば面倒、しかし設定してしまえばこれほど楽なこともないでしょう。全部Cloudflare任せですし。

  • CasaOSを入れているDebianやUbuntuをアップデートしたらCasaOSがおかしくなった件(復旧済み)

    現在、自宅ネットワークでCasaOSは2つのPCで稼働させています。1つはDebian13にCasaOSを入れて、AdguardHome、Memos、Vaultwarden、FreshRSS、NextCloud、Jellyfin、PhotoPrismを稼働させています。

    もう一つは、このブログを動かしているGhostだけのCasaOSを、ProxmoxのVMに入れたUbuntu Server24.04に入れています。

    さて、先日これらDebianやUbuntuをアップデートしたのですが、するとCasaOSがおかしくなってしまいました。

    日本語での情報が少なくて困りましたが、Xに書いている人がいて、どうやらdockerをダウングレードしたら直るらしい。dockerバージョンが29以上になると、CasaOSが動かないようです。

    ということで、生成AIに聞いてダウングレードを決行。まずは失敗した時のダメージが少ない、Ghostだけを動かしているCasaOSの方から行います。

    メインマシンから、CasaOSを入れているProxmoxのVMにSSHで入ります。
    以下は、生成AIに聞いた内容そのままを記載しています。

    ========================

    ダウングレードの実行

    1.利用可能なDockerバージョンの確認

    sudo apt update
    sudo apt-cache madison docker-ce

    2.Dockerサービスの完全停止

    まず、DockerとDockerソケットの両方を停止します:

    sudo systemctl stop docker.socket
    sudo systemctl stop docker.service

    3.現在のDockerパッケージの削除

    sudo apt remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    4.特定バージョンのDockerをインストール

    リストから5:28.5.2-1~ubuntu.24.04~nobleを選択してインストールします:

    sudo apt install docker-ce=5:28.5.2-1~ubuntu.24.04~noble docker-ce-cli=5:28.5.2-1~ubuntu.24.04~noble containerd.io docker-buildx-plugin docker-compose-plugin

    5.Dockerの自動更新を防止

    ダウングレード後、Dockerが自動的に最新版に更新されないようにパッケージをホールドします:

    sudo apt-mark hold docker-ce docker-ce-cli

    6.Dockerサービスの起動

    sudo systemctl start docker.socket
    sudo systemctl start docker.service

    7.バージョンの確認

    正しくダウングレードされたことを確認します:

    docker version

    注意事項
    この方法では既存のDockerイメージやコンテナは削除されません
    ダウングレード作業は必ずSSHまたは直接接続したターミナルから実行してください
    作業完了後、CasaOSのWeb UIが正常に動作することを確認してください

    ホールドを解除したい場合は、以下のコマンドを実行します:

    sudo apt-mark unhold docker-ce docker-ce-cli

    ========================

    これで確かにこのブログとCasaOSがちゃんと動くようになりました。

    次は、色々セルフホストしているサーバの多いCasaOSですが、やることは同じです。ダウングレードするdockerのバージョン名が少し変わるだけですね。

    sudo apt install docker-ce=5:28.5.2-1~debian.13~trixie docker-ce-cli=5:28.5.2-1~debian.13~trixie containerd.io docker-buildx-plugin docker-compose-plugin

    これで無事、二つともCasaOSとその上のサーバも復旧できました。ただ、新しいdockerバージョンに対応していないのは厳しいですねえ。

    Redditを読んでると、CasaOSが無くなる!とかZimaOSに吸収される!とか慌てて焦っている人がいます。Zimaspaceが、商売に直結しているZimaOSの方に注力するのはまあ当然なことでもあります。

    将来的にCasaOSが使い物にならなくなった時のこともそうていしておかないといけないでしょうね。

    Proxmox上で、LXCやVMで一つずつサーバを動かせば良いのですし、以前はそうしていたので無理ではないですが、ファイルサーバの取り扱いが面倒ですね。自分一人しか使わないサーバ群なのですから、もっと簡単に扱いたいものです。

    調べていると、UmbrelOSというものがあるらしい。CasaOSに近い機能があるようですが、ビットコインノードを動かすのがメイン機能のようです。どこかでCasaOSを見限る前に試しておきたいですね。

  • 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とかありますしね・・・。

  • 独自ドメインをCloudflareに移管してみた

    このブログの独自ドメイン[hrsgmb.com]は、バリュードメインで取得しました。どこのプロバイダが良いとか悪いとかはあまり知らなかったのですが、だいぶ前にお名前ドットコムでやったときには、その後の怒涛の広告メールがクッソうざかったので、お名前ドットコムは絶対なしと思って、結局適当にバリュードメインを選んだ気がします。

    しかし、ここ最近色々調べてきて、Cloudflareでドメインを管理したら色々便利じゃないかね? と思って、バリュードメインからCloudflareに独自ドメインを移管することにしました。

    ということで、いつものごとく生成AIに質問しつつ、移行作業開始。

    まず、バリュードメインでWHOIS情報公開代行の解除を行います。
    https://www.value-domain.com/userguide/manual/whoisproxy_off

    これをしないと移行したときのメールが自分宛てに飛んできませんから重要です。

    次に、
    https://www.value-domain.com/userguide/manual/transferother
    この説明を読みつつ進めていきます。

    並行して、Cloudflareのアカウントも作成しておきます。Cloudflareでの設定画面も日本語に変えれば分かりやすいですね。

    設定途中で移行する独自ドメインをCloudflareで入力すると、現在のDNSレコードを勝手に読み込んで設定を入れてくれますが、なかなか全部完璧には入れてくれはしないようですね。足りない分は自分で設定します。

    ブログ公開を途切れる時間(ダウンタイム)を生じさせないためには、途中で出てきたCloudflareのネームサーバーを、いったんバリュードメインにも設定します。

    そしてなんやかんやCloudflareでの設定を進めていき、自分宛てに届いたメールを承認すると、最大5日間かけて移管されますが、私の場合は数時間も経たずに移管出来ました。

    移管したあとでブログが問題なく表示されて、管理画面にも入ることができれば、最後にバリュードメインでのデータを削除して完了。

    本当は、Cloudflareならではの機能を色々使いたいところですが、今回はここまで。また勉強しつつ設定していきます。

  • OPNsenseからpfSenseに移行

    前の記事に書いたように、OPNsenseを導入して、さらにCasaOSにサーバを集約して機器もケーブルもスッキリして、はーやれやれ、と思っていたのもつかの間、突然ある日の朝に、ネットが繋がらなくなりました。メインPCもスマホもです。LAN内のサーバにはつながり、OPNsenseを経由せずに、大元の光回線ルータに直接wifiで繋ぐと、インターネットにアクセスできたので、どう考えてもOPNsenseに問題があります。

    ということで、出勤するまでの数十分間かけて色々やっても駄目、仕事を終えて帰宅してからバックアップデータから復旧しても駄目、ついにはファクトリーリセットをしても駄目、ということで絶望に打ちひしがれていました。

    また完全にゼロからOPNsenseを入れ直せば、多分動作するんだろうけれど、また同じ設定をやったらまた同じように駄目になりそうですし、そもそもまたOPNsenseを入れるのも芸がないので、OPNsenseの派生と言うか正確には派生元から分離したpfSenseの方をインストールしてみます。

    なんかよく知らないですが、netgateという会社のホームページからダウンロードできるようですが、メールアドレスやら住所やらを登録しないといけないようです。色々調べていたらRedditに旧バージョンのftpのURLを貼っている神がいましたけれど、そもそも何か送られてくるわけではないので、メールアドレス以外は嘘を書いておけばいいだけです。メールアドレスもFirefox Relayのマスク機能を使えば、何の個人情報も先方には渡りません。

    さて、なんやかんやで手に入れたisoファイルを、いつものごとくUSBメモリ内のVentoyのフォルダにコピーして、いざインストール。途中の画面は似ていますし、インストール完了直後のコンソール画面での設定はほぼ同じですね。

    GUI画面はまるっきり異なりますが、実際に設定できる内容はやっぱり似ています。インストール直後のデフォルトのIDとパスワードが[admin]と[pfsense]で、[root][opnsense]だったOPNsenseとは違ったのでちょっと焦りましたけれど。

    さて、またAIにも聞きつつ、自分の環境に合わせた設定をしていきます。今回は逐一、バックアップを段階ごとに保存していきます。しかし、[Diagnostics]→[Backup & Restore]→[Config History]に、設定変更ごとに巻き戻したり設定を保存したりする機能があることを知りました。OPNsenseでもあったのかも知れません。

    ともかく、設定をすればちゃんと動きました。LANとOPT1の分離も出来ましたし、Tailscaleプラグインを入れてモバイル回線からもアクセスできました。

    これでなんとかなりそう。これでもなんか知らん間に駄目になったら、OpenWRTを試してみようか。

  • OPNsenseのインストールから設定完了

    先日、NECのジャンク品スリムPCにLANカードを追加したところまで書きましたが、ここからはOPNsenseをインストールしていきます。ちなみに私は生成AIに聞きながらインストール・設定をしていきましたが、参考に出来るサイトとしては、
    さくらのVPSマニュアル
    https://manual.sakura.ad.jp/vps/os-reinstall/iso-install/opnsense.html
    こちらがわかりやすいかも知れません。ただし、これはクラウドサーバでの設定ですので、ローカル環境の実機では設定が一部異なります。

    OPNsenseのサイト
    https://opnsense.org/download/
    からイメージをダウンロードします。私はUSBメモリに入れたVentoyのフォルダに入れるので、「Select the image type」はDVDを選び、isoファイルを落としました。それぞれの違いはここに書いてありました。
    https://docs.opnsense.org/manual/install.html#installation-images

    VentoyのUSBメモリをPCに挿して起動してインストール開始。まずはCUI画面での設定です。WAN interfaceは光回線ルータにつながっている方を選び、LAN interfaceは、従来の内部ネットワーク(メインPCやProxmoxホストなど)につなぎます。

    インストール時にいきなりログインIDとパスワードを求められますが、ここは
    ID installer
    Password opnsense
    と入れればOKです。知らないと焦りますな。もちろん、ドキュメントには書いてあるのですけれど。
    https://docs.opnsense.org/manual/install.html#opnsense-installer

    この後は、大抵のLinuxディストリビューションと同様に、言語、キーマップ、ストレージやパーティションなどを決めて、インストール開始。途中でrootユーザーの設定を行います。

    完了したら再起動しますが、OPNsenseはデフォルトでいきなり、インストールしたPCのプライベートIPアドレスが「192.168.1.1」に設定されてしまいますので注意が必要ですね。

    さて、ここからが最後のCUIでの設定です。0から13までの選択肢が出る中で、まずは2を選び、インターフェイスの設定を行っていきます。ちなみに、1を選ぶと、インストール前のWAN/LANの設定をやり直せます。

    この辺もまあ、Proxmoxとかのインストール時の知識があれば大丈夫ですね。IPv6関係は無視します。設定が完了したらリブートして、またこの画面に戻ってきたら、次はGUIでの設定です。このCUIの画面は実機上で表示されたままですので、もし万が一rootパスワードを忘れた場合はここの「3」からリセットできます。

    次は、GUIでのセットアップです。

    インストール時に設定したLANのゲートウェイアドレスに、
    :8443
    をつけてブラウザで開けば入れます。

    最初にウィザードが出てきますが、これを飛ばしても個別で設定できますし、ウィザードのやり直しも出来ます。

    自分の環境に合わせて設定していきます。キャプチャとか取っていなかったので、最初にどのように設定したかをもはや全く覚えていませんが、この時点ではWordpressサーバの分離は行わず、全てのデバイスをLAN(192.168.100.0/24)の方につなげましたので、まだそこまでややこしくは無かったはずです。それでも難しかったですが。

    システム→設定→全般
    インターフェース→割当/LAN/WAN
    ファイアウォール→NAT→ポートフォワード/外向き
    ファイアウォール→ルール→LAN/WAN
    サービス→ISC DHCPv4→LAN

    なんかを設定したと思います。その後にも色々といじっていますが、それについてはまた後日書きます。

    とりあえず、これでOPNsenseを用いたファイアウォール・ゲートウエイを設定できました。Core i5 8500Tにメモリ16GB、SSD128GBという過剰スペックですけれど、少なくともハードウェア的制約で困ることはないでしょう。

  • NECのジャンク品のスリムPCにLANカードを追加してOPNsenseをインストールした

    前回の記事で、NEC製のスリムPCをジャンク品として購入した話を書きましたが、使いみちとして、LANカードを挿してLANポートを増やして自宅ネットワークを拡張しようと思います。

    具体的には、現在、Proxmoxのホスト内にあるLXCコンテナで運用しているWordpressサーバ(このブログ)を、他のサーバ群と別のネットワークに分離します。他所からアクセスされるサーバは、他のサーバとは分けるべきですね。そもそも、クラウド上で運用すればいい話ですが、それは置いといて。

    さて、そこで必要になるのが、LANポートが2つ以上あるLANカードと、そのカードをスリムPCに挿すためのライザーカードです。どちらもAliExpressで買おうかと思いましたが、Amazonでも対して値段が変わりません。多少の値段差は、送料プラス安心で埋まります。昨今のAmazonは配送トラブル・中身のすり替えなどが問題になっていますけれど、まあこのカード類程度の金額であればダメージは少ないですし、こういうライザーカードなんて売っているネットショップは非常に限られます。

    ちなみに、購入したものは以下の2点です。

    https://www.amazon.co.jp/dp/B0DQQ94D1D

    https://www.amazon.co.jp/dp/B085WPC19Q

    ライザーカードはLenovo m720qでも使えるもので、同構成のNECのこれでも動くはずと思って買いました。

    LANカードはIntelチップでギガビットポートを2つ積んでいれば良いので、これにしました。シビアなスピード要求があるわけではないですし。

    さて、PC本体を開けて、2.5インチSSD用アダプタを外し、ライザーカードを挿す前に、LANカードをライザーカードに挿す必要があります。不可能ではないですが、先にライザーカードを挿すとめんどくさいです。

    出来上がりはこんな感じ。

    PC本体の背面はこちら。若干傾いていますが、固定できないのでしょうがないですね。重いGPUカードならメインボードに干渉するかも知れませんが、LANカード程度なら大した自重はありません。

    次は、OPNsenseのインストールのお話です。

  • 今度はジャンクのスリムPCを購入した話

    購入したのは少し前でしたが、大阪は日本橋にてブラブラしている時にジャンク品のミニPCを購入してしまいました。

    買ったのはショップインバース日本橋一号店さんで、モノはこちらのNEC製のスリムデスクトップパソコン MKM21/C です。

    https://support.nec-lavie.jp/navigate/support/productsearch/old_number/MKM21C4/spec.html

    CPUはCore i5 8500Tです。今流行りのN100(4コア4スレッド)と比べてシングルスレッドでは若干劣りますが、6コア6スレッドのためマルチスレッドでは圧倒します。
    メモリは8GBが1枚刺さっていました。2スロットあるのでもう一枚刺して16GBにしてみます。最大16GBまでだそうですが、多分64GBまでいけるんじゃないですかね。試してないですが。

    HDD・SSDは無し。M.2を1つ、SATAを1つ使えるので結構便利。まずは手持ちの128GBのNVMe接続SSDと、240GBのSATA接続SSDを使います。

    ACアダプタも付いていないものでしたが、じゃんぱら大阪本店にてNECのACアダプタのジャンク品があったことを覚えていたので、あれで良いだろうと思ってこの本体を購入しました。値段は10,000円ポッキリ。ACアダプタは480円でした。

    出力ワット数をチェックしていなかったのですが、じゃんぱらで買ったアダプタは定格45Wで、本体は最大65Wを消費する仕様でした。不安になりながらも起動したら何事もなく動作しましたけれどね。

    基盤の背面にM.2スロットが1つあります。チップがある側には2.5インチHDD/SSDドライブ用のアダプタも付属していました。ジャンク品だとこういうのは無くてもおかしくないですが、ラッキーです。

    さて、購入したは良いものの、特に使いみちが無い状態です。まあジャンク購入あるあるですね。

    このNEC製のスリムPCは、珍しいタイプで内部にPCIeスロットがあるタイプです。ブログやYouTubeではライザーカード経由でGPUカードを刺して、ゲーミングPC化しているネタがいくつもアップされています。同系統のLenovoのスリムPCの方が世界的には有名です。ただ、さすがに筐体の構造的に発熱・騒音が厳しいと思われるので、それは諦めます。人によっては筐体を3Dプリンタで作り直したり、ドリルで穴を開けたり、あるいは完全に筐体を開けたまま使っていたりしていて、そこまでやる気にはなれません。

    ひとまず、Proxmoxを入れてWindows11と、WindowsServerの試用版をそれぞれVMにインストールして、ActiveDirectoryの触りだけ試してみました。CPUやメモリが十分あるので、何の問題もなく使えます。ジャンク品とは言っても、ただ単にストレージとACアダプタが欠品しているだけのものですので、お得でしたね。

    さて、せっかくあるPCIeスロットを使わないのももったいない。ということで、LANカードを購入してルータ代わりにとりあえず使ってみることにします。

  • Proxmoxをアップグレードしてみた

    Debian13が正式に公開されましたが、DebianベースのProxmoxは一足先に新バージョンである9.0が公開されていました。そんなんいいんですかね。

    自宅のネットワークでは、ProxmoxのクラスターをミニPC3台で構築していますので、アップグレードする対象も3つになります。元のバージョンは8.4.9で、すでにapt update済です。

    アップグレードのレポートは、Linuxやサーバに詳しい諸兄が、すでにQiitaやZennやnoteで書かれていますので、それらも参考にしましたが、ちょくちょくややこしいこともあるみたいですので、具体的な方法は、Google AI StudioにてGemini 2.5 Proさんにお聞きしました。

    人それぞれ異なる環境によって、アップグレード前の準備と実際の手順は多少異なるはずですが、概ね


    ・バージョン8.4.*までアップデートする
    ・VMやLXC及びホストのバックアップを取る
    ・VMとLXCをシャットダウンもしくはマイグレーションで移動する
    ・pbs8to9 –full で事前にチェックして、エラーと警告の項目に対応する
    ・APTリポジトリをtrixieに変更する
    ・apt dist-upgrade でアップグレードする
    ・再起動する
    ・アップグレード後にVMとLXCを復帰させる


    といった流れです。CephやHAについては使っていないので分かりません。使っている人ならご自身で調べてなんとかするでしょうけれど。

    多分、面倒なのは事前チェックで出てきたエラー・警告への対応でしょう。私の場合は、3つのホストで以下のような表示が出てきました(1つのホストでしか出ていないものと、重複しているものがあります)。

    WARN: systemd-boot meta-package installed but the system does not seem to use it for booting. … Consider removing ‘systemd-boot’
    WARN: The matching CPU microcode package ‘intel-microcode’ could not be found! … apt install intel-microcode
    WARN: dkms modules found, this might cause issues during upgrade.
    WARN: Deprecated config ‘/etc/sysctl.conf’ contains settings – move them to a dedicated file in ‘/etc/sysctl.d/’.
    WARN: The matching CPU microcode package ‘amd64-microcode’ could not be found! … apt install amd64-microcode

    どれくらい個人差があるか分かりませんが、intelやAMDのmicrocodeの問題ってここで初めて対応することになるのが、「なんでやねん」という感じもしますけれど。

    なんやかんやエラーとかありましたけれど、その都度Geminiに聞きながらなんとかホスト3つともアップグレードに成功し、9.0.3になりました。

    Proxmoxだけ利用しているのであればここで終了なのですが、私の場合は別PCでProxmox Backup Serverも動かしていますので、こちらもアップグレードしないといけません。PVEを9にアップしたら、PBSも4にしないと不具合が起きるらしいです。

    ということで、PBSのアップグレード方法をGeminiに聞きつつ実行していきます。ちなみにPBSでの事前チェックコマンドは
    pbs3to4 –full
    です。

    こちらもほとんどやることはPVEのときと変わりませんが、事前準備でデータストアのドライブは、オプションからメンテナンスモード(リードオンリー)にしておくべきなんだそうです。アップグレード中にバックアップデータをいじったらヤバそうなのは素人目にも分かります。

    PBSのアップグレードもなんだかんだエラーとかありましたが、ここでもその都度Geminiに聞いていくと全部解決して無事、アップグレードできました。現時点での最新バージョンは4.0.12ですね。

    Proxmoxは2年毎のバージョンアップグレードが行われるようですが、移行猶予期間みたいなものとして1年プラスされるので、今回のPVE9とPBS4はおそらく2028年8月までサポートされるはずです。まあ、次のバージョンが出たら出たですぐに飛びついてしまうとは思いますけど。