Raspberry Pi (Linux)

LIVA Zの使途

「天の声」に負けて買ってしまったLIVA Zをどう使うかの事前検討で、余ったLIVAにUSB NICを追加して実験しているが、まずは一つ目の構想。

現ラズパイルーターとLIVAでPPPoEを2セッション同時使用し、LIVAを SoftEther VPN のサーバーにして、Softetherの仮想HUBをLAN側NICにて自宅LANにブリッジ接続するようにすれば、外出先と自宅間でのファイル転送はラズパイルーターを経由しないのでブロードバンドの帯域をフルに使えると判明。

現ラズパイルーターはVPNサーバー機能を殺して、ゲートウエイ(NATルーター)の機能のみにしておくことで負荷分散するという構想も考えられる。

しかし、これだと自宅外からのVPN経由のウエブアクセスはラズパイルーター経由になる為、一般的なDL方向のみのアクセスであっても、ルーター上では常に上下同時通信となって60Mbps程度しか出なくなる。(全く問題にはならないが・・・)

こんな構成にするなら、上記LIVAに相当する端末もラズパイにすべきだし、それより、いっそ、ルーター機能もLIVA Zに集約するのが合理的だな(笑)

しかし、ルーターはラズパイに拘りたいので、上記構成にてLIVA ZをVPNサーバー兼、自宅LANの高速NASとして共用する構成にするか・・・

現状はラズパイサーバーをNASと兼ねているが、今時100Mbpsではファイル転送速度が遅すぎるので。

いぜれにせよ、どう考えても、100Mのサービスではラズパイルーターで十分。

ラズパイ2B最強!

LIVA Zは基本要らないな・・・

天の声は悪魔の囁きだったか(笑)

天の声

LIVA Z この二つのギガビットイーサはいかん!

この手のコンパクト機では他に例がない。

5年半前にLIVAの導入コストが35000円だったことを考慮すると、BMAXとこれを合わせても、ほぼ同額にしかならないと天の声(笑)

こいつで、VPN用のルーターを組むことにした。
先日、WAN側にHUBを追加した時点でほぼ決断していた(笑)

無意味な人生、気を紛らわす為に必要な投資だ、ネガティブな思考の暇を作らないことが精神衛生上重要である。

ラズパイルーターはそのまま生かして、こいつはVPN専用ルーターとし、それだけではパワーが有り余るんで、ラズパイサーバーにぶら下がっている大容量ストレージをこいつに移動し高速NASにするか・・・

ラズパイVPNでクライアントから上下同時通信すると、上下合計で64Mbps程度しか出ないが、これがどこまで上がるかだな。

ギガントルーター

ラズパイルーター、NATでのスループット

DL

UL

UL,DL同時

コミュファ+So-netのVDSLサービスにて、DL,UL片方向は86Mbps前後出るが、双方向同時だと合計で106Mbps程度。
本来は上下合計で172Mbps程度になるのが理想。

クライアントPCをPPPoE直結で試すと以下の通り、上下合計で166Mbps程度。

BMAXと入れ替えで余ったLIVAでギガントルーターを構築しても、現状契約しているVDSLサービスではこれが限界だが、VPN環境でのWebアクセスは常に上下同時通信なんで、結構差が出る。
先に確認した通り、ラズパイ2Bのルーター経由だと上下合計で105Mbpsなんで、上下合計60Mbpsの差があり、VPNでのスループットは単純計算で、60/2で平均約30Mbpsの差になる。

仕事の合間にDebian最小構成をUSBメモリーにインストール試行済みで、やる気満々(笑)
USBメモリーなら丸ごとイメージバックアップも簡単だしな。

とりあえず、WAN側にも余っていたHUB(黒い安い奴)を追加して試行の準備を整えた。

いずれにせよ、ギガ,10ギガサービスの時代に、30Mbpsの差なんてゴミだわな(笑)

やはり、あらためてラズパイルーターは優秀だ!

5.4.51-v7+でカーネルパニック

昨日は取引先が休暇で問い合わせ回答も得られない状況だったので、仕事は保留してリモートでラズパイOSのアップデートを行った。

サーバーは問題なくアップデートできたが、ルーターをアップデートしたところ、起動後ルーター動作を開始して間もなく通信不能に・・・
リモートでは何ともならず、午前11:00ごろから帰宅後の20:00頃まで自宅ネットワークがダウンする羽目に(笑)

本日も暇なんで、仕事の前に調べてみたところ、まさにこの問題が昨日発生した模様。

kernel panic with 5.4.51-v7+ after short time, in particular during downloads #3757

このスレ主も、ラズパイをルーターとして使っているし、4.19.118-v7+ -> 5.4.51-v7+のアップデートで問題が起きているし、転送を始めて間もなくカーネルパニックが発生と、ほぼ同じ条件と現象。

手前のルーターも、スレッドに出てきているように arm_freq_min=300 とconfigに入れているので、これを消せばとりあえず使えそうだ。
サーバーの方はarm_freq_minを追加していないので、問題が発生していないことからも裏付けられる。

どうやら、下の通りファームウエアの問題のようだが、ユーザーとしては余計なことは控えて次のリリース待つのが得策(笑)

[Kernel5.4] Lowering arm_freq_min leads to system hang/crash #1431

後日・・・

config の arm_freq_min=300 をコメントアウトして試してみたところ、確かにハングアップはしないが、別の問題もありそう・・・
ルーターとして主要な要素、Ip転送の性能が下記の通りかなり低下してしまう・・・

4.19.118-v7+
DL: 83.13 Mbps
UL: 83.95 Mbps

5.4.51-v7+
DL: 73.60 Mbps
UL: 65.05 Mbps

その他、RTL8192のWi-Fiアダプタのアクセスランプが効かなかったり、、、

2つぐらい先までアップデートは保留決定。

無限リトライ

イギリスからだが、7/23の10:30ぐらいから執拗にSMTPリレーをトライしてくるんでログが肥大して鬱陶しかったので、、、
iptables -I FORWARD -s 212.70.0.0/255.255.0.0 -j DROP ってごっそりドロップしたのだが、その後も無限リトライしてきて、未だに収まらない(笑)

おそらく相手の端末はマルウエアに感染しているが、、、いい加減気付いてくれんかな。

いつまで続くのか観察(笑)

Let's Encrypt

SSL化必須の波には逆らえず、当サイトもようやくSSL化。

今朝も7時前に出勤して、仕事はせずにこちらを対応(笑)

無償でSSL化できるのは全てLet’s Encryptのおかげだが、Certbotがあまりに充実していて驚いた。

そして今や情報が氾濫しており、驚くほど簡単にSSL化可能。

dovecotとsendmailも似非証明書から正式な証明書に置き換えられてバッチリ!

主要サイトでの評価もA判定

まだルーターのDNATがコマンドで443を空けて暫定なんで、忘れないようにしないとな(笑)

ルーターもアップグレード完了

ルーターもBusterクリーンインストールにてアップグレード完了。
雨の週末、気を紛らわすのにうってつけ(笑)

Systemdがますます優位になり、デーモンの起動・停止管理に少し戸惑った・・・

残っているinit.dスクリプトに矛盾が有ったり・・・

insserv: FATAL: service mountkernfs has to exists for service udev
insserv: FATAL: service urandom has to exists for service networking
insserv: FATAL: service udev is missed in the runlevels 2 3 4 5 to use service raspi-config
insserv: FATAL: service mountkernfs has to exists for service keyboard-setup.sh

今更だがraspi-configを動かさないと、CPUクロックが600MHz固定になっちゃうことに気づき、それだけは生かしたけど。
mountkernfsはデフォルトではmasked、その他udev、networking、procps、urandom、keyboard-setupはSystemdから起動されているから要らないんだが、削除忘れかな・・・

いずれにせよ、insservもデフォルトではインストールされておらず、使うべきでない状況だ。

init.dスクリプトのみの管理が明快で良かったが、新しくしないと開発者達のネタが無くなる(笑)

ユーザーはそれを受け入れて振り回されるのみ。

● gw
State: running
Jobs: 0 queued
Failed: 0 units
Since: Thu 1970-01-01 09:00:03 JST; 49 years 6 months ago
CGroup: /
├─user.slice
│ └─user-1000.slice
│ ├─session-c8.scope
│ │ └─4775 nmon -x
│ ├─session-c15.scope
│ │ ├─5991 sshd: pi [priv]
│ │ ├─6000 sshd: pi@pts/0
│ │ ├─6003 -bash
│ │ ├─6018 sudo -s
│ │ ├─6023 /bin/bash
│ │ ├─6053 systemctl status
│ │ └─6054 pager
│ └─user@1000.service
│ └─init.scope
│ ├─4704 /lib/systemd/systemd --user
│ └─4707 (sd-pam)
├─init.scope
│ └─1 /sbin/init
└─system.slice
├─dbus.service
│ └─316 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
├─ssh.service
│ └─587 /usr/sbin/sshd -D
├─dnsmasq.service
│ └─585 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=.,20326,8,2,e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
├─avahi-daemon.service
│ ├─301 avahi-daemon: running [gw.local]
│ └─323 avahi-daemon: chroot helper
├─system-serial\x2dgetty.slice
│ └─serial-getty@ttyAMA0.service
│ └─675 /sbin/agetty -o -p -- \u --keep-baud 115200,38400,9600 ttyAMA0 vt220
├─ntp.service
│ └─573 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 109:114
├─system-getty.slice
│ └─getty@tty1.service
│ └─674 /sbin/agetty -o -p -- \u --noclear tty1 linux
├─vpnserver.service
│ ├─594 /home/vpnserver/vpnserver execsvc
│ └─595 /home/vpnserver/vpnserver execsvc
├─triggerhappy.service
│ └─310 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
├─systemd-logind.service
│ └─327 /lib/systemd/systemd-logind
├─cron.service
│ └─315 /usr/sbin/cron -f
├─systemd-udevd.service
│ └─139 /lib/systemd/systemd-udevd
├─rsyslog.service
│ └─298 /usr/sbin/rsyslogd -n -iNONE
├─networking.service
│ └─482 /usr/sbin/pppd call dsl-provider
├─systemd-journald.service
│ └─108 /lib/systemd/systemd-journald
└─rng-tools.service
└─317 /usr/sbin/rngd -r /dev/hwrng

アップグレード完了(再)(再)

アップグレード完了(再)したばかりだが、Busterクリーンインストール版が早くも完成。

無駄を排除し、/dev/root が更に減少した。

バックアップを考えると4GバイトのSDカードで十分なのだが、8Gバイトさえも流通が減ってる状況に閉口・・・

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 7460628 1433916 5690812 21% /
devtmpfs 469544 0 469544 0% /dev
tmpfs 474152 0 474152 0% /dev/shm
tmpfs 474152 13536 460616 3% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 474152 0 474152 0% /sys/fs/cgroup
tmpfs 474152 0 474152 0% /tmp
tmpfs 474152 11388 462764 3% /fsprotect
overlay 474152 11388 462764 3% /usr
overlay 474152 11388 462764 3% /lib
overlay 474152 11388 462764 3% /etc
overlay 474152 11388 462764 3% /home
overlay 474152 11388 462764 3% /root
overlay 474152 11388 462764 3% /var
tmpfs 474152 2508 471644 1% /var/log
/dev/sda1 15043032 7775148 6497068 55% /mnt/data
/dev/mmcblk0p1 258096 39973 218123 16% /boot
/dev/sdb1 1921802520 114793384 1709317076 7% /mnt/media
tmpfs 94828 0 94828 0% /run/user/1000

アップグレード完了(再)

一度はBusterにアップグレード完了したが、PHPスクリプトの問題アップグレード保留となり、昨日までに解決したので再びアップグレード完了(笑)

deborphanを使って不要パッケージを削除しまくり、その他、ルーターとの時刻同期をntpdからsystemd-timesyncdに変更して無駄?を排除。
/dev/root が34%から30%まで減少した。

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 7511124 2126372 5049644 30% /
devtmpfs 469544 0 469544 0% /dev
tmpfs 474152 0 474152 0% /dev/shm
tmpfs 474152 7392 466760 2% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 474152 0 474152 0% /sys/fs/cgroup
tmpfs 474152 0 474152 0% /tmp
tmpfs 474152 9852 464300 3% /fsprotect
overlay 474152 9852 464300 3% /usr
overlay 474152 9852 464300 3% /etc
overlay 474152 9852 464300 3% /home
overlay 474152 9852 464300 3% /root
overlay 474152 9852 464300 3% /var
tmpfs 474152 1272 472880 1% /var/log
/dev/mmcblk0p1 61384 41256 20128 68% /boot
/dev/sda1 15043032 7773136 6499080 55% /mnt/data
/dev/sdb1 1921802520 114619284 1709491176 7% /mnt/media
tmpfs 94828 0 94828 0% /run/user/1000

PHP7系の配列

PHP7系(といっても7.0では問題なかった)の配列でIllegal string offsetで暗黙的型変換ができなくなる問題でメール投稿が出来なくなっていたが、問題箇所をarray()関数で明示することで解決した。

$newrecord = “”; 問題の暗黙的型変換
$newrecord = array(); // array()関数で明示

但し、問題の起きていない箇所でも暗黙的型変換が多数あって、全てを修正するのは結構大変・・・

grepしたら、25ファイル、合計240個所見つけましたと・・・
ローカル変数で多数の暗黙的型変換を使用しているみたい。

やはり、修正にはかなり時間が掛かるか・・・と思ったが、1ファイル3箇所のみの修正でメール投稿は問題なくなった。
とりあえず、これでいいな(笑)

他はエラーが出た時点で随時対応。

以前のエラーログ

[Wed Jul 17 07:08:05.513095 2019] [php7:warn] [pid 571] [client 192.168.1.127:50176] PHP Warning: Illegal string offset ‘520,,,1,9|,\n002267’ in /mnt/data/www/weblog/database/db_text.php on line 1387, referer: http://192.168.1.3/
[Wed Jul 17 07:08:05.513680 2019] [php7:error] [pid 571] [client 192.168.1.127:50176] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2147483672 bytes) in /mnt/data/www/weblog/database/db_text.php on line 1387, referer: http://192.168.1.3/