2023年7月29日土曜日

洗面所の蛇口レバー交換(KVK KF308)

 自宅の洗面所の蛇口のレバーが割れてしまいました。

型番 KVK KF308 台付洗髪シングルレバー

レバーハンドルセット(ZK1S318)は廃番でしたが、カートリッジの型番(PZKM110A)が同じ別モデル用のシングルレバーを購入したところ、使うのに実害無い形で対応できました。


代替レバーハンドルセット白

PZK1S336C 




メーカー保証ではないので、利用は各自の責任でお願いします。

2023年6月3日土曜日

povo回線を使った自宅サーバへの裏接続回線

背景

実家はJ:COM 横浜南経由のインターネット接続をしています。最近1Gbpsの回線にアップグレードしたためか、半年に一回程度自宅固有だったり、町単位での回線不良(20-30%ぐらいパケットロス)が発生する場合があります。
両親はその問題の切り分けなどできないため、外部からのサポートが必要なのですが、J:COMのインターネット回線が切れていては、原因が自宅内部の機材の問題なのか、またはJ:COM側の問題なのかが断言できないです。
そのため、povoを使った安価なバックアップ裏接続回線を作ってみました。

povo 2.0は、6ヶ月おきに何らかのトッピングを一時的にすれば速度は128kbpsで接続可能です。ssh程度ならば問題なく接続できています。

ちなみに、J:COM回線の回線状況監視は、smokepingを用いて、各種サーバにパケットを投げて見える化しています。

準備するもの

  • KDDI/au povo sim
  • LANポート付きモバイルルータ(今回はSIMフリー化されたDoCoMo Wi-Fi Station L-02Fを利用。 自宅サーバとの接続をWi-Fiで用いる場合はLANポートは不要です)
  • 自宅サーバ(Raspberry PIでも可能、今回はIAサーバにFreeBSDをインストールして利用)
  • 2nd Ethernet用のLANカード(今回は速度が不要なためUSB 100BASE-TXのLUA3-U2-ATXを利用)
  • 外部のクラウドサーバ(今回はGoogle Cloud Platformの無料枠のCompute Engineを利用、有料でサーバを立てても良いですし、Oracle Cloud Platformの Always Freeの利用も可能でしょう)

物理構成図

作成中

論理構成図

作成中

機材の設定

自宅サーバのpovo回線のUSB Ethernetのドライバ読み込み

こちらはFreeBSD固有ですが、kernel起動時にUSBを認識されるために、設定しています。
/boot/loader.conf.local
if_axe_load="YES"

自宅サーバのpovo回線のDHCP Client設定

povo回線のインターフェース名はnet1としています。net1でdhclientを動かすとき用に
以下の設定をしました。
ポイントは
  1. DNSサーバは、J:COM回線側を利用する。(192.168.11.1は、J:COM側のデフォルトルータです)
  2. default routerは、J:COM側のままにするために、request行は必要最低限のみとする。

FreeBSDでのpovo回線用のDHCP設定 /etc/rc.conf
#########################################
#
# for seconday interface
#
ifconfig_ue0_name="net1"
ifconfig_net1="DHCP"

DHCP clientの設定 /etc/dhclient.conf
interface "net1" {
        supersede  domain-name-servers 192.168.11.1;
         request subnet-mask, broadcast-address, time-offset;
}

自宅サーバからGoogle Cloud Platformへの通信は、povo経由にする(static route)

裏接続回線はpovoを使ってほしいので、static routeを設定。以下はFreeBSDの場合で、/etc/rc.confに追記した。
なお、今回利用したDoCoMo Wi-Fi Station L-02FのIPアドレスは192.168.225.1であったため、-gateway 以下はそのアドレスを設定した。

static_routes="gcpserver"
route_gcpserver="-net [Google Cloud PlatformのサーバIP] -gateway 192.168.225.1"

自宅サーバとクラウドサーバのVPN

wireguardを実家サーバからGooge Cloud PlatformのCompute Engineに向けて張りました。
詳細設定はwireguardの設定例をインターネットで探して設定ください。
パケット流れていないと、povoのNATテーブルが切れてしまうようなので、以下の設定をしています(30秒おきにVPN回線維持パケットを流す設定)。
PersistentKeepAlive = 30

私は試していませんが、SoftEtherVPNでもpovo回線で利用できたとの話もありました。各自ためしてみてください。


2023年4月18日火曜日

sendmailにSMTP接続時の反応が5秒ぐらいかかる問題

 発端

rubygemのmailを使ったら以下のアイムアウトでエラーになってしまいました。

/usr/local/lib/ruby/gems/3.1/gems/net-protocol-0.2.1/lib/net/protocol.rb:229:in `rbuf_fill': Net::ReadTimeout with #<Socket:(closed)> (Net::ReadTimeout)

Timeoutしているため、以下のコマンドで直接sendmailとお話してみると。

% telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 smtp.examples.com ESMTP Sendmail 8.16.1/8.16.1; Tue, 18 Apr 2023 21:49:15 +0900 (JST)


220 smtp.examples.com... の表示まで、5秒ぐらいかかっていました。

原因

調べると、以下の記事を見つけました。
(上記ページの「Version 8 Specific Issues」(タブの左から3つ目)の「10」番目のFAQです。

INDENT認証が有効になっているようです。

対策

sendmail.mcに以下の設定を加えて解決しました。無事rubygemのmailからも送信できました。

define(`confTO_IDENT',`0s')dnl