wine32:i386インストールで、gnome-control-centerが消える問題

会社のマシンで、wineをインストールして、SoftEther の管理ツール動かしていたが、ふと気づくと「設定」が表示されなくなってて、調べると gnome-control-centerをインストールすると良いとあった。

gnome-control-centerは設定のパッケージだが、普通、こんなのがインストールされてないという事はあり得ない。

gnome-control-center をインストールしようとすると wine32:i386が削除され、衝突状態になっているのが分かった。

検索してても中々該当する事例に巡り会えなかったが、とうとう原因を見つけた。

A clean way to solve this issue by merging all solutions would be to install the OS version of libgd3 that allows to install its i386 version alongside.

Initially, libgd3 was provided by the ondrej/php ppa (https://launchpad.net/~ondrej/+archive/ubuntu/php) (probably others PPA as well)

On Ubuntu Noble 24.04, it’s currently 2.3.3-12+ubuntu24.04.1+deb.sury.org+1

  1. Force install OS version of it sudo apt install libgd3=2.3.3-9ubuntu5
  2. Install its i386 version sudo apt install libgd3:i386
  3. Prevent libgd3 from auto updating with ondrej ppa sudo nano /etc/apt/preferences.d/libgd3-php
  4. Paste this priority to use Ubuntu sources by default

  1. Run sudo apt update, now libgd3 will no cause any problem

Hopefully it helps other people with similar wine installation problems

情報源: 22.04 – Dependency conflict: Installing libgd3:i386 leads to removal of important packages? – Ask Ubuntu

要は、PPA(Ubuntu用フリーウェアみたいなもの) の ondrej/phpで、libgd3がインストールされて、その依存関係で巻き添えを食うと。

そう言えば、会社のマシンは開発環境で、PHP5.6〜8.4まで、複数のPHPのバージョンを使うので、PPAのondrej/php を入れてたんだった。
特定環境下の問題だから、検索しても出てこなかったのか。

OS版の2.3.3-9ubuntu5のlibgd3をインストールし、libgd3:i386 をインストールして、/etc/apt/preferences.d/libgd3-php を作成して、先の内容を記述しておけば、良いらしいのでそうすると、解決した。

32bit版のパッケージインストールすると、それだけで1GB位ディスク容量食うから、wine32入れずに済むようにならんのかねぇ。

asahiネット、PPPoE接続でIPv4ゲットだぜ

ルーターにネットワークケーブルを繋いだだけで、IPv6接続ができていたが、今までの自宅へのVPN接続や、Webの接続にはIPv4が必要だった。

v6コネクト(DS-Lite)はIPv4だと、共用IPアドレスのゲートウェイでのアクセスになるので、自宅のルーターには外部からアクセス不能だった。

IPv6なら、外部からのアクセスは可能だが、外での接続環境が同じIPv6しか接続できず、会社などはPPPoEのIPv4なので、接続不能。

ふと、送られてきた用紙にPPPoEのIDとパスワードが書いてあった事を思い出し、ルーターに設定してみたところ、abxxxxxx.dynamic.ppp.asahi-net.or.jpという感じのホスト名のIPv4アドレスが取得できていた。

ルーターにポートフォワード設定したら、ssh や OpenVPNが接続可能になった。

加えて、asahiネットから振られた動的IPアドレスは、radikoで滋賀判定なので、滋賀のローカル局を聞く為に会社にVPN接続しなくても良くなった。

こういう接続形態って、普通、ONUにバカHUBというかダムHUB繋いで、IPv6用ルーターでIPoE接続と、IPv4用ルーターでPPPoE接続という感じでやるものだと思ってたが、1台のルーターでできるとは思わなかった。

さすが、BUFFALOの新型のWSR3600BE4Pシリーズだ。
昨今のルーターとしては実勢価格1万円と少々高いが、ルーター2台買う事を思えば、かなり安いと思える 🙂

メールサーバー考

一時、メール受信のルールを厳しくして迷惑メールの受取拒否してたら、家のサーバーやVPSからのメールが受信できなくなっていた。

受取拒否だと、全く何の通知も無くメールが消えるので、とりあえず、迷惑メールのフォルダに入るように設定して様子を見ていた。

普段VPN環境でLANのプライベートアドレスでサーバーに接続していたが、IPv6での接続を試す為に、sshでログインすると、メールが飛んできた。

そういや、外部からログインしたら、メールを飛ばすってのをVPSや家のサーバーでやってたのを思い出した。

ちなみに、それぞれのサーバーは、LANのIPアドレスでログインしたら、パスワード認証が使えて、グローバルIPアドレスには証明書認証しか通さないようになっている。

従って、国家機関がスーパーコンピューターを使って解読でもしない限り、外部からログインされたというメールが飛ぶ事はほぼ無い(はずw)

最近のメールサーバーは、送信元IPアドレスが正当な送信者であるかを判定して、もし、正当でない場合は、受信拒否したり、迷惑メールフォルダに放り込んだりできる。

エックスサーバーの場合は、Return-Path: に正式なアカウントのメールアドレスが設定されてないと迷惑メールの判定になる。

例えば、root@noizumi.orgとか、noizumi@noizumi.orgとか、サーバーの設定によっては容易に Return-Path:に設定されちゃうようなアドレスだとダメ。

VPSの方は正常に届くように設定を追加して問題は無くなったが、家のサーバーはDS-Liteのゲートウェイの共用IPアドレスなので、正当な送信者として登録すると、成りすましを許してしまう事になる。

正常に送信できるVPSのメールサーバーに家のサーバーからSMTP AUTHでメールを送信するかと、せっせと設定し始めたが、よく考えたら、VPNでLANを構築してるので、postfixに192.168.0.0/16 をmynetworksに指定するだけだと気づいた。

そうすれば、LAN内のマシンなら、VPSにメールなげたら、プロバイダのサーバーへリレーしてくれる。なんでこんな簡単な事にすぐ気が付けなかったのやら。

ヤキが回ってるな 🙁

我、radikoト格闘ス

いつも、会社ではAFN goのTOKYO Eagleを聞いている。
しかし、昨日から、「あんたの場所だと聞けないよ(いい加減な意訳)」というアナウンスが流れて聞けない状態。

VPNでの家のIPアドレスや会社のIPアドレス、携帯電話のiijmioのIPアドレスどれを試しても、前述の状態なので、恐らく、IPアドレスの国別判定処理をミスってるのだろう。

しょうがないので、radikoでも聞くかとページを開いてみると、兵庫判定。

e-radio でムーディ勝山聞きたいので、家にVPN接続したまま滋賀判定を勝ち取るべく作業開始。

radiko.jp のIPアドレスは 203.211.199.120なので、radikoへのアクセスは会社のルーター経由にする。

$ sudo route add -net 203.211.199.0 gw 192.168.1.1 netmask 255.255.255.0 enp3s0

以前はこれで良かったのが、兵庫判定から変わらず。
多分、どこか別のサーバーでエリア判定してる。

ブラウザのデベロッパーツールで、”area” の付いてるURLを探す。

area.js で api.radiko.jp なんてサイトにアクセスしてるのを発見したが、

$ nslookup api.radiko.jp

api.radiko.jp canonical name = api.radiko.jp.cdn.cloudflare.net.
Name: api.radiko.jp.cdn.cloudflare.net
Address: 104.18.15.115
Name: api.radiko.jp.cdn.cloudflare.net
Address: 104.18.14.115

cloudflare で負荷分散してんのか。
cloudflareも会社のルーターを通すようにする。

$ sudo route add -net 104.18.0.0 gw 192.168.1.1 netmask 255.255.0.0 enp3s0

これで滋賀判定になった 🙂

radikoはセキュリティ強化してるみたいで、今まで東京判定で聞けていたKagoya VPS経由でのアクセスは不可になった。

以前は一旦会社のIPアドレスで滋賀判定出した後に、家にVPN接続して e-radio が聴けていたのが、今は「再生に失敗しました」となる。

地元ラジオ聞くのも一苦労だな。 🙁

asahiネット開通

書類がやっと届いた。

で、説明をよく読むと、対応ルーターなら線繋ぐだけで、何も設定せずに繋がるとな!?

BUFFALOのWSR3600BE4Pシリーズって今年の3月に発売されたばかりのルーターだが、対応機種一覧には載って無くて、まあ、BUFFALOなら大丈夫やろと買ったもの。

結論から言うと、ちゃんと線を繋いだだけで、インターネットに繋がった。NTT西日本からメールで回線IDとか問い合わせが来ていたが、回線IDで認証してるのかな?

速度テストしてみると、アップロードは前の半分位のスピードで、ダウンロードは50Mbpsほど速いな。

まあ、満足できるスピードだろう。

IPv6接続になった事で、v6コネクトのゲートウェイ通るから、ルーターのポート変換のリストがごっそり要らなくなった。

事実上、VPSに立てたSoftEther VPN Server経由で、家のネットにアクセスするしか無くなった。

irc.noizumi.org のVPN接続は、IP MasqueradeでVPSから直接アクセスしにいくようにしているが、その設定を切って、デフォルトゲートウェイを家のルーターにしたら、全てのVPNの通信は、家のルーター経由になるから、また設定変えよう。

WineでSoftEther VPN Server Managerを動かす

SoftEther のVPNサーバーを弄るのに、LinuxだとGUIのツールが無くて不便だったが、LinuxでWindowsのプログラムを動かすWineを使えるというのは盲点だった。

で、irc.noizumi.org内を見ていると、そういや2つ仮想Hubがあって、一つは irc.noizumi.org で、もう一つは家のサーバーだった。

irc.noizumi.org のHUBに接続して、AbemaTVなんかのサイトに接続すると、接続元が Kagoya のVPSのIPアドレスなので、蹴られてしまう。

しかし、irc.noizumi.orgにある家の仮想HUBにつないだら、インターネットへのアクセスは家のルーターから出る事になるので、今なら povo2.0のIPアドレスでの接続になるから蹴られない。

L2TP/IPSecのユーザー名で、ユーザー名@Hub名で指定してやれば、irc.noizumi.orgに接続しても、家のネットワーク環境に接続できるという便利な機能を忘れてたな。

asahiネットが未だにログイン情報を送って来ないので、povo2.0 の週末3日感使い放題のトッピングに課金した。

なんせ期間限定で6月2日 9:00までしか申し込めないのと、24時間使い放題×5の残りがあと2つだったので、それを使ったら残り1つでもう後が無い状態だったから。

もうそろそろ1週間になるけど、bb excite とかWebで申し込んですぐ使えたのに、紙でログイン情報郵送してきて、かつNTTからも確認メールが来るなんて思っても見なかったわ 🙁

silverfox.noizumi.orgのSSL証明書更新

家のホームサーバーのCronからのメールで、silverfox.noizumi.org のSSL証明書更新に失敗したと来た。

まあ、今、家の回線は光じゃなくて、povo2.0で繋いでるが、asahiネットのIDとパスワードを記載した書類が届いていないので、未だに光回線難民なのである。

動的IPアドレスをDNSに自動登録するスクリプトを組んでるので、silverfox.noizumi.orgをDNSで引くと、povo2.0のゲートウェイのIPアドレスになっている。

携帯電話の通信事業者は、各携帯電話にグローバルIPアドレスでは無く、プライベートアドレスを割り振っていて、インターネットにはゲートウェイサーバーを経由してアクセスし、携帯電話には直接アクセスできないようになっている。

なので、今まで https://silverfox.noizumi.org/ でインターネットからアクセスできていたのができなくなった。

それではSSLの証明書の更新はどうするのか? と言えば、今まで外からWebにアクセスできるのかで存在チェックしていたのを、DNSでチェックする方式が使えるらしい。

そうすると、次の表示になる。

エックスサーバーにログインして、DNSレコード追加で、次のものを作成。

これで、certbot のPress Enter to Continueでエンターを押すと、DNSをチェックして、SSL証明書を更新してくれる。

あとは、DNSのチャレンジのレコードを削除してもOK。
noizumi.org のDNSを弄れるって事は、silverfox.noizumi.org のドメインの使用者だと分かるので、インターネットから隔絶したサーバーにもSSL証明書が発行できるという事だな。

ひとつ勉強になった 🙂

VPSからメールが届かない

KAGOYA のVPSを契約していて、irc.noizumi.org というホスト名で、IRCdやVPNサーバーを動かしている。

サテライト型のメールサーバーも動かしていて、irc.noizumi.org から、sv13449.xserver.jpへSMTP認証で接続して、わしのメールアカウントでメールを送信するように設定している。

こんな感じでメールを送ると、ログには次のように記録されていて、正常に送信されているようだ。

SPF に +a:irc.niozumi.org と追加して、DMARCのポリシーで reject としていたのをnoneにすると、メールが届いた。

SMTP認証だから、送信元のIPアドレスはSPFでは問われないと思っていたが、メールヘッダの Received: の最初に Postfix とかが入ってると、スマートホストに接続したクライアントのIPアドレスチェックするのかな?

こんな風に家からメールサーバーに接続して自分宛に送信したものは、SPFチェックがなく、DKIMの署名のみで、irc.noizumi.org から送信した場合は、SPFチェックがあり、スマートホストによるDKIMの署名が行われない。

そう言えば、会社の請求書発行してるマシンのメール送信もサテライト型で、プロバイダのメールサーバをスマートホストにしてるけど、会社の固定IPアドレスをSPFレコードに追加しないと迷惑メール排除で弾かれてたな。

CloudSecure WP Securityを入れてみた

エックスサーバーから、これからのWordPress簡単インストールにCloudSecure WP Security が自動的に入ると案内があった。

既存ユーザーでもプラグインにインストールできるとの事でインストールしてみたが、結構通好みなセキュリティプラグインだな。

今まで、SiteGuard WP Pluginというのを使っていて、ログイン時にひらがなで文字を入れさせるという外人に対する嫌がらせで、かなり効果的な総当りパスワード攻撃対策になっていた。

CloudSecure WP SecurityはGoogle Authenticatorというアプリで1分間有効な認証コードを発行してログインするようになってるので、ログインのし難さではほぼ同等かな?

気になる点は、コメント投稿フォームだが、画像認証が設定できるけど、ひらがなを入力するSiteGuard WP Pluginよりも画像を読み取ってアルファベットを入れるってのは結構ウザいので設定していない。

Akismet(非商用利用は無料)というSPAM防止プラグインだけでどこまで耐えられるかとりあえずは様子見。

Ubuntu 24.04LTSが読み込み専用で起動して困った話

昨年末頃に内蔵ハードディスクがお亡くなりになり、Ubuntuはバックアップから外付けUSB RAID1ハードディスクに復旧して、WindowsはUSBハードディスクにインストールできないので、放置していた。

日曜にふと思い立ち、内蔵ハードディスクにWindows10をインストールし、Windows11 をISOでダウンロードして、マウントし、setup.exe /product server で強制インストールした。

Windows11 を直接インストールをしようとすると、PCが要件に合っていないので、拒否されるが、Windows10環境で、コマンドで先のセットアップを実行すると、要件チェックされないのでインストールできるのだ。

EFIのブートディスクが2つという事になるが、Ubuntuのgrubの起動メニューで、チェインロードにより、UbuntuとWindowsを選択可能にして起動できるようにする。

/etc/default/grub を編集して、GRUB_DISABLE_OS_PROBER=false を有功にし、次のコマンドを実行。

# os-prober
# grub-update

grub menu に Windows bootloader が表示されるようになった。

で、Ubuntu にて Windows 11のHDDをマウントしようとしたら、マウントできない。

Webで調べると、Windows11で高速スタートアップが有功になっていて、ディスクにゴミがある状態な為、マウントできないとの事。

ユーティリティの「ディスク」を使って、/dev/sda3 の「マウントオプションを編集……」で、「ユーザーセッションデフォルト」をOFFにしてやるとよいらしい。

そうすると、マウントはできるようにはなったのだが、ファイルをコピーしようと思ったらできない 🙁

再起動して Windows11のコントロールパネルで、高速スタートアップを無効化し、いざ、Ubuntuを起動すると、Failed to start: gdm.service とか出て起動しない。

Ctrl+Alt+F3 で端末ログインして、mount を見てみると、ルートFSが読み込み専用になってる。

こういう場合は、ディスク異常とかが定番だが、fsck しても異常なし。
/etc/fstab を見ると、さっき指定した /dev/sda3 のマウント定義が追加されているのだが、ルートのドライブ指定が消えている 🙁

そりゃ、fstab で起動ディスクの設定消えとったら、起動ディスクが read-only でマウントされて、read-write で remount されないから、読み込み専用のままだよなあ。

# mount -o rw,remount / を実行して、/etc/fstab にルートのファイルシステムの定義を追加して復旧。

何で起動ディスクの設定が消えたのかさっぱりわからんけど、かなり初見殺しなOSですな 🙂