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

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

システム

最近の投稿

アーカイブ

カテゴリー

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を通過してくる迷惑メールが増えたけど、送信元がブラックリストに載り出したのか、迷惑メールも来なくなったな。

自宅サーバへのdkim-passのspam

最近、自宅サーバに届く spam だけど、どれも dkim=pass のメールばかり。
DKIM さえも信用できなくなってるのか?

spam の分析

調べてみると、発信元は全部異なるドメイン名なんだけど、どの spam もサーバ自体は google cloud で、ドメイン名は tucowsdomains.com となっている。

((( spam のメールヘッダ )))
Received: from flvvzqx.com (flvvzqx.com [34.64.222.184])
  :
$ whois 34.64.222.184
:
NetRange:       34.64.0.0 - 34.64.255.255
CIDR:           34.64.0.0/16
NetName:        GOOGLE-CLOUD
NetHandle:      NET-34-64-0-0-2
Parent:         GOOGL-2 (NET-34-64-0-0-1)
NetType:        Reallocated
:
$ whois flvvzqx.com
   Domain Name: FLVVZQX.COM
   Registry Domain ID: 2923522407_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.tucows.com
   Registrar URL: http://www.tucows.com
   :

DNSBL の更新

以前、メールが届かないトラブルがあったとき、メールの送信元の確認で使っている DNS Blackhole list のサーバが、実はサポートがいい加減とか、メンテナンスされてないといったことがあり、bl.spamcop.net だけで運用していた。

今回、spam が増えたことだし Gemini に相談したら、zen.spamhaus.org を教えてくれた。もっと候補を挙げて…と調べて教えてた multi.uribl.com なども追加してみたけど、運用実験したら、自分の au.com , mineo.jp のメールもブロックしちゃう。

ということで、最終的には zen.spamhaus.org , bl.spamcom.net に留めた。

  ((( /etc/postfix/main.cf )))
  smtpd_client_restrictions = permit_mynetworks,
                check_client_access regexp:/etc/postfix/smtpd_client_regexp
+               reject_rbl_client zen.spamhaus.org,
                reject_rbl_client bl.spamcop.net,
                reject_unknown_client_hostname,
                permit

sshで多段loginでブラウザ起動

sshトンネル

リモートのFireWallの内側から自宅サーバにsshトンネルを必要に応じて掘るようにしている。

リモート$ ssh -R トンネルポート:localhost:22 自宅サーバ ping -i 30 -c 60 localhost

これにより、自宅サーバからリモートに接続する際には、slogin で接続できる。

自宅サーバ$ slogin -p トンネルポート localhost

トンネル経由でブラウザ起動

サーバのメンテナンス程度なら前述の slogin で便利に作業できるけど、リモートの FireWall の内側のWebサーバに接続したいことも出てくる。

こういう場合は、多段 login を使うけど、ssh, slogin の組み合わせが面倒なのでメモ。

自宅WindowsWSL$ ssh -t -X 自宅サーバ ssh -t -p トンネルポート -X localhost google-chrome

WP-WebAuthnで指紋認証login

WordPress の Two-Factor プラグインの多要素認証を使っているけど、メールで飛ばすワンタイムパスワードのコピペが面倒。最近は passkey などで指紋認証などが便利だし、プラグインを漁ってみた。

その中で、WP-WebAuthn が出てきた。現バージョンで検証されていない…とか表示されたけど、ひとまず動きそう。しかも、Two-Factor とも併用ができる。

WP-WebAuthn のインストール

gmp , mbstring が必要と書いてあったので、gmp を追加。(mbstringはインストール済み)

$ sudo apt install php8.4-gmp php8.4-mbstring

プラグインの WP-WebAuthn の設定では、特に変更なしで「変更を保存」

次にユーザのプロフィール画面を開き、「登録された WebAuthn 認証機能」にて「新しい認証の登録」を選び登録。

ログインの際には、以下のような画面で login できた。

forwarders 設定ミス

娘のスマホで AQUOS を購入ということで、メモ用にリンクを確認するが、SHARP でググったリンク https://corporate.jp.sharp を参照できない。最初は、 jp.sharp というドメイン名に驚くが、ググってみると .sharp とかの 新gTLD が使えるらしい。

自宅内上流ルータに DNS の問い合わせはできない

nslookup www.jp.sharp 8.8.8.8 は動くけど、nslookup www.jp.sharp は、返答が返ってこない。forwarders に書いてある DNS に問い合わせるけど、自宅内の上流ルータ 192.168.1.254 は nslookup 自体を拒否される。Buffalo の家庭用ルータなら、DNSにルータの IPアドレスを指定するのが普通なので、上流ルータの 192.168.1.254 を設定していたけど、これが間違いの元のようだ。

ということで、自宅上流ルータがもらっている丹南ケーブルの DNS 202.88.193.82, 202.127.80.3 を forwarders に記載して、正常動作するようになった。

((( /etc/bind/named.conf.options )))
  forwarders {
        // Google public DNS
        8.8.8.8;
        8.8.4.4;
        // router
-       192.168.1.254; // 家庭内上流ルータのIPアドレス
+       202.88.193.82; // ルータがもらう 丹南ケーブルの DNS
+       202.127.80.3;  // 丹南のセカンダリ DNS
  };

gemini-cli 便利

Gemini をコマンドラインから使えるツール gemini-cli が公開されている。

インストールは、参考ページの中から、グローバルインストールで行った。

$ sudo npm install -g @google/gemini-cli

((( 更新も同上コマンドで可能 )))

単純に、$ gemini で 以下のような画面が表示され、プロンプトを入力すればいい。

でも、本領発揮なのは、フォルダ配下を読み込んだうえで、アドバイスが得られること。

実際、お試しで Three.js を実験していたけど、import でトラブル発生。でも「index.html が動かない」と入力したら、index.html やら、そこから読み込まれる *.js なども自動的に読み込んだうえで、修正点を指摘してくれる。

さらに指摘した修正点を、適用するか聞いてくれるので、Yes を答えたら、勝手にソースコードも修正してくれる。

LINE bot が動いていない… 月当たり最大数オーバー

我が家では、以前より 自宅専用の LINE bot を動かしていて、サーバからの通知に使っていた。

最近は、homebridge-people-pro による家への出入りの通知を、LINE に流す設定を便利に使っていたけど、先週からメッセージが滞っている。プログラムのトラブルかと思ったけど、特に問題はなさそう。

LINE bot 無料プランは最大200メッセージ/月

でも改めて考えてみたら、LINE bot が出せる最大メッセージ制限を疑う。確認すると、「無料プランだと月に200メッセージまで」とな。最近は、homebridge からの通知は1日10通ほどでてるし、軽くオーバーしてらぁ。先週 6/18 で止まってるし、まあまあ、そんなもんだな。

ということで、homebridge-inotify からの通知に LINE を使うのは最小限にしなくては。

rkhunter の設定

卒研のセキュリティの説明の中で rkhunter を紹介。説明してたら、自宅サーバにはサーバ機以降後に rkhunter がインストールされていなくって、説明がてらでインストール。

/usr/bin/lwp-request に警告が出ていたけど、Gemini で問い合わせしたら、Perl script なので、警告がでるかも。パッケージ情報を設定すれば、パッケージ情報を踏まえた検証をしてくれるようになって警告が消えるとのことなので、

((( /etc/rkhunter.conf )))
PKGMGR=DPKG   # Ubuntuなので

を設定。

Checking if SSH root access is allowed [ Warning ] の警告も出ていて確認したが、確実に PermitRootLogin no に設定しておこう。

((( /etc/ssh/sshd_config )))
#PermitRootLogin prohibit-password  (デフォルト)
PermitRootLogin no

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報