ホーム » コンピュータ » Linux » Ubuntu (ページ 3)

Ubuntu」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

Ubuntu 25.10 へのアップグレード

Ubuntu 25.10 も公開されたので、do-release-upgrade を実行。X.org が使えなくなり Wayland だけになるとのことであったが、ssh x-forward で使うのがほとんどだし影響も少ないだろうと更新を行ってみた。

dovecot が動かない

最初のトラブルは、dovecot 。設定ファイルの変更が原因。dovecot って、設定ファイルの基本的な書式で動かなくなることが多い。

メールボックスを Maildir 形式 に変更と、SSL の設定ファイルを変更

((( /etc/dovecot/conf.d/10-mail.conf )))
#mail_driver = mbox
#mail_home = /home/%{user|username}
#mail_path = %{home}/mail
#mail_inbox_path = /var/mail/%{user}
mail_driver = maildir
mail_path = ~/Maildir
## mail_inbox_path = ~/Maildir/.INBOX -- 設定ミス(自宅サーバでは.INBOXはナシ)
mail_inbox_path = ~/Maildir

((( /etc/dovecot/conf.d/10-ssl.conf )))
# Preferred permissions: root:root 0444
ssl_server_cert_file = /var/lib/dehydrated/certs/tsaitoh.net/fullchain.pem
# Preferred permissions: root:root 0400
ssl_server_key_file = /var/lib/dehydrated/certs/tsaitoh.net/privkey.pem

sudo-rs で CIDR記法が使えない

Ubuntu 25.10 での大きな特徴では、sudo が Rust で書かれた sudo-rs に移行したことらしい。んで、Host_Alias で の文法やセキュリティが厳格になったようだ。

Host_Alias LOCAL = 127.0.0.1 , 192.168.11.0/24

といった書き方で記載してあったが、コンマ空白区切りが、厳密にコンマか空白で区切るようになり ” , ” のような前後空白コンマなどがエラーになる。また、自宅内ネットワークからという意味で、CIDR 記法を使っていたが、Host_Alias では CIDR 記法が使えなくなった。自宅ネットワークなら OK といった雑な指定はセキュリティ的にまずいということらしく、CIDR 記法が使える部分に制限が加わった様子。今回は、localhost だけに変更しておいた。

LEDバッジが動かない(11/16追記)

自宅でスケジュール表示などに活用していた LED バッジが動かなくなった。

Perl で書いてあるし、今までの OS のアップグレードでは、ほぼ問題なく移行できていたのに…

Kernel が Linux 6.14.x から 6.17 に更新された影響かと思い grub メニューで 6.14 で起動したけど改善せず。Kernel が原因ではないのかな。

Raspberry-Pi で再起動後に vcgencmd のエラー

Debian/GNU/Linux bullseye で運用している Raspberry-Pi が 再起動後に vcgencmd がエラーをだす。通常 vcgencmd を実行するには、/dev/vcio のアクセスが root にしか許可されていない。そこで root 以外が使えるようにするには video グループで読み込みできるようにすればいいけど、再起動すると設定が消えてしまう。

このために udev のルールを作成して、起動時にアクセス権を変更させる。

$ sudo vi /etc/udev/rules.d/99-vcio.rules
KERNEL=="vcio", GROUP="video", MODE="0660"

$ sudo udevadm control --reload-rules # 新しいルールを読み込み
$ sudo udevadm trigger # ルールを即時摘要

nextr 2G を活用するには

nextr 2G を活かせていない

我が家のネットワーク契約は、こしの都ネットワーク(丹南ケーブル) nextr 2G の契約だけど、自宅の端末の管理をきめ細かくしたいので nextr 2G のルータ(G-240W-B GPON) の配下に Buffalo のルータを設置。すべてのネットワーク機器は Buffalo ルータ配下に設置している。このためすべてのトラヒックは、Buffalo ルータ経由となり、ルータの WAN 側は 1G bps なので、2Gbps の最大性能の半分しか使っていない。

改善前の性能

自宅サーバで動かしたブラウザと、Windows で動かしたブラウザで、それぞれを別タイミングで動かすと以下の性能で 1Gbps に近い性能が出る。

しかし、サーバのブラウザとWindowsのブラウザで同時に計測すると、全部が Buffalo のWAN側を通るので、1Gbps の性能になってしまう。(speedtest のリロードボタンの同時押しがなかなかできないので、微妙にタイミングがずれるので500Mbpsを若干越えてるけど)

nextr 2G で WiFi と2つのLANポートに分散

そこで、nextr 2G のルータで活用していなかった WiFi と 2つのLANポート(各1Gbps)で分散を目指した。

nextr 2Gの WiFi は、CATVSTB の インターネット側を 設定。また、自宅サーバに USB 接続の 1Gbps の有線LANを追加し、未使用だった nextr 2G ルータの2つ目の LAN ポートに接続。

これで、サーバのトラヒック(max 1Gbps)と端末のトラヒック(max 1Gbps)に分散して 2Gbps を目指した。

この結果、サーバと端末で同時に speedtest を起動しても 1Gbps に近い性能がでるようになった。

とはいっても、ブラウザで動画を家族それぞれが見たとしても、3人で 100Mbps のトラヒックでさえも出ないけど。

外から自宅サーバが見えない

分散はできるようになったものの、自宅サーバ宛てのメールが届かない。確認したら、Web サーバも外から見えない。外から、Buffalo ルータ経由でアクセスできると思ってたけど。抜き差しする可能性のある USB 有線LANだし、できればnextr 2G ルータの DMZ 設定変更したくないんだけど。もう少し、設定チューニング必要だな。ひとまず USB 有線 LANを抜いておく。

原因としては、パケットが出る際の経路(サーバ⇒nextr 2Gルータ⇒インターネット)、パケットが入る際の経路(インターネット⇒nextr 2Gルータ⇒Buffaloルータ⇒サーバ)の不一致のせい。Gemini に対応案を提案してもらうと、3つの対策を提案してくれた。

  1. ルータのインターネット接続を Buffalo ルータ経由にする案を提案してくれるが、これじゃトラヒック分散にならない。
  2. nextr 2Gルータの DMZ の宛先を直接サーバ: 抜き差しする可能性のある 有線LAN だしなぁ。
  3. PBR(ポリシーベースルーティング)を提案してくれるが、設定は複雑化するとな。

エアコンをスライドバーで操作

エアコンの温度設定を赤外線リモコン制御できるようにしておいたけど、リモコンのボタンに割り当てていると、設定できる温度の幅に限界。ということで、スライドバーで温度設定できるようにしてみた。

DNSセカンダリサーバを動かす

UPSの移行などの際に、自宅内ネットワークが止まってしまう問題もあり、raspberry-pi サーバ上にセカンダリDNSを設定してみた。

$ sudo apt install bind9 bind9utils
((( /etc/bind/named.conf.options )))
acl     internal-network {
        192.168.11.0/24;
};
options {
        directory "/var/cache/bind";
        forwarders {
                192.168.11.<プライマリ>;   // internal DNS
        };
        allow-query  { any; };
        recursion    yes ;
        dnssec-validation auto;
        listen-on    { any; };
        listen-on-v6 { none; };
};

((( /etc/bind/named.conf.local )))
zone "<自宅ドメイン>" {
        type slave ;
        file    "db.<自宅ドメイン>.slave";
        masters {
                192.168.11.<プライマリ>;
        };
};

DHCPサーバ側では、出来上がった セカンダリ情報を流すように追加設定。

option domain-name-servers  192.168.11.<プライマリ>, 192.168.11.<セカンダリ>;

ntpsec を chrony に移行

Ubuntu 25.10 への移行の記事をみていたら、ntp サーバ ntpsec が chrony になるとのことなので、先んじて chrony に移行しておく。chrony の設定記事を探すと、/etc/chrony/chrony.conf に設定を記載する話になっているけど、Debian だと設定ファイルを細かく分けて、デフォルト設定ファイルは触らないで、個人設定は別に記載するのが流儀。

$ sudo apt install chrony      ### ntpsec がアンインストールされる。

$ sudo vi /etc/chrony/sources.d/local-ntp-server.sources
# 自宅ネットワーク環境にあわせて server を追加
server ntp.ttn.ne.jp    iburst ipv4
server ntp.nict.jp      iburst ipv4 prefer
pool   jp.pool.ntp.org  iburst ipv4

$ sudo vi /etc/chrony/conf.d/allow.conf
# 自宅ネットワークからntpを参照できるように
allow 127.0.0.1
allow 192.168.11.0/24

$ sudo systemctl restart chrony
$ chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^+ ntp-nts-2.ps5.canonical.>     2   6    17    22  +5775us[+5775us] +/-  124ms
^- ntp-nts-3.ps5.canonical.>     2   6    17    23  +5795us[+5795us] +/-  124ms
^* ntp-nts-2.ps6.canonical.>     2   6    17    24  -8694us[-9701us] +/-   88ms
^+ ntp-nts-3.ps6.canonical.>     2   6    17    23  +6458us[+6458us] +/-  104ms
^- 103.131.151.30                3   6    17    24  -8991us[-8991us] +/-   35ms
^- ntp-nts-1.ps6.canonical.>     2   6    17    24    -21ms[  -21ms] +/-  103ms
^- ntp-k1.nict.jp                1   6    17    23  -7807us[-7807us] +/-   13ms
^- ntp.ttn.ne.jp                 2   6    17    24  -7393us[-7393us] +/-   40ms

これにあわせて、自宅内の raspberry-pi の端末の確認をしていたら、サーバ1台の ntp しか参照していない。せめて 直の上位のプロバイダの ntp.ttn.ne.jp も参照してほしい。確認すると、DHCP で接続したサーバだけに問い合わせるようになっている。/etc/default/ntpsec を修正して DHCP サーバではなく /etc/ntpsec/ntp.conf を見るように設定する。

((( /etc/default/ntpsec )))
IGNORE_DHCP="yes"

((( 追記 2026/04/26 )))

chronyc sources を実行した結果を Gemini にかけたら、国内の nict.jp が優先されていないとのアドバイス。

server ntp.nict.jp      iburst ipv4 prefer
                                    ~~~~~~ 追記

gcalcli インストールしてなかった

自宅での LED バッジでの予定表示、「■予定なし」ばっかりだなぁ…と思ってたら、サーバ移行時に gcalcli をインストールしてなかった。

$ sudo apt install gcalcli
$ gcal.pl
10/08(水)14:00 60周年記念事業記念式典
10/08(水)15:00 60周年記念講演

Home Assistant のインストール

Google Home mini などでの音声操作は、Google Home に Switchbot を連携させて、使えるようになって十分に便利になったけど、調べて出てきた Home Assistant も試してみたくなった。

Docker をインストール

普通に、Ubuntu の Docker をインストールする手順にてインストール。

Docker に Home Assistant をインストール

参考にしている記事などでは、homebridge なども Docker でインストールしているけど、我が家は homebridge が既に動いているので Home Assistant だけを docker で動かせばいい。これにあわせ、docker-compose.yml を作成。Docker 内の設定ファイルが保存される /config は、/var/lib/homeassistant にマウントさせる。

((( /etc/homeassistant/docker-compose.yml )))
version: '2'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /var/lib/homeassistant://config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    privileged: true
    network_mode: host
$ cd /etc/homeassistant
$ sudo docker-compose up -d
$ sudo docker ps
CONTAINER ID   IMAGE                                          COMMAND   CREATED          STATUS          PORTS     NAMES
xxxxxxxxxxxx   ghcr.io/home-assistant/home-assistant:stable   "/init"   15 minutes ago   Up 15 minutes             homeassistant

設定がうまくいったら、http://localhost:8123 を開いて、ユーザ登録などを行う。

 

設定ができた後は色々と設定して、最終的に以下のような画面となった。

homebridge-gshが有償化

自宅の homebridge の制御を google home mini から行うために homebridge-gsh を使っていた。便利に “OK,google” で便利に使っていたけど、エラーがでるようになってきた。homebridge-gsh の導入した当初のページには、「無償だけど有償登録をお願い」みたいに書いてあったけど、2025年5月から、有償サービスに移行していたようだ。

プラグインの再設定を試みたけど、エラーが出るのでよくよく見たら、Trial Expired … ってしっかり表示されていらぁ。

月額 US$2.00 or 年額 US$22.00 を PayPal or カードで支払いとな。こんだけ便利に使ってるのにケチケチ野郎は導入に悩む。Gemini に聞いてみたところ Home Assistant を導入する方法が紹介された。

でも、よくよく考えたら、メインの機器は Switchbot の配下だし、ぐだぐだ考えずに Google Home アプリで、Switchbot を連携でいいじゃん。

SPF, DMARC の確認をしてみよう

最近になって、spam が増えて、文面も日本狙いで、しかもついつい押してしまいそうなものばかり。

SPF 確認の設定

$ sudo apt install postfix-policyd-spf-python

postfixの設定

((( /etc/postfix/main.cf )))
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    check_policy_service inet:127.0.0.1:10023    # postgrey
    check_policy_service unix:private/policy-spf # postfix-policyd-spf-python

最後に postfix の再起動

$ sudo systemctl postfix

postgreyの起動方法の変更

メール受信チェックの postgrey を使っているけど、inet 起動になっている。でも一般的には socket 起動が普通のようなので変更するか。

((( /etc/default/postgrey )))
#POSTGREY_OPTS="--inet=127.0.0.1:10023"
POSTGREY_OPTS="--unix=/var/lib/postgrey/postgrey.sock"

((( /etc/postfix/main.cf )))
smtpd_recipient_restrictions = permit_mynetworks,
                permit_sasl_authenticated,
                reject_unauth_destination,
                check_policy_service unix:/var/lib/postgrey/postgrey.sock
                check_policy_service unix:private/policy-spf
smtpd_relay_restrictions = permit_mynetworks,
                permit_sasl_authenticated,
                reject_unauth_destination,
                check_policy_service unix:/var/lib/postgrey/postgrey.sock

OpenDMARC確認の設定

apt install opendmarc
設定に失敗中

(追記)

上記のように、SPFや postgrey などの設定を見直したけど、SPF, Postgrey, DKIM 全部通ったメールが届いてる。はぁ….
Thuderbird の spamfilter が迷惑フォルダに落としてくれているけど。

Authentication-Results: XXXXXXXX;
    dkim=pass (1024-bit key; unprotected) header.d=qlaahl.com
        header.i=sbi_news_alert@qlaahl.com header.a=rsa-sha256
        header.s=default header.b=mQJjBRHe;
    dkim-atps=neutral
X-Greylist: delayed 601 seconds by postgrey-1.37 at XXXXXXXX;
    Sun, 07 Sep 2025 09:53:47 JST
Received-SPF: Pass (mailfrom) identity=mailfrom;
    client-ip=34.142.162.76; helo=qlaahl.com;
    envelope-from=sbi_news_alert@qlaahl.com; receiver=tsaitoh.net 

(追記09/18) DKIM通過の迷惑メール減った

DKIM, SPFを通過してくる迷惑メールが増えたけど、送信元がブラックリストに載り出したのか、迷惑メールも来なくなったな。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報