「コンピュータ」カテゴリーアーカイブ

JetPackの接続エラー

サイトは普通に見えているし証明書エラーも出ていないのですが、JetPackの接続時に “cURL error 60: SSL certificate problem: certificate has expired”と言われて接続できない。もちろん証明書の期限は切れていない。

色々調べた結果、安い証明書を使っているので、中間証明書を入れないといけなかったようだ。Ubuntu 20.04の場合こんな感じ。中間証明書は証明書を買ったところに行けば入手できると思います。

$ sudo vi /etc/apache2/sites-enabled/default-ssl.conf
SSLCertificateChainFile /etc/ssl/certs/lambeden_dyndns_org.ca
$ sudo systemctl restart apache2

今更ながらWSL便利

Windows 10でLinuxディストリビューションを使えるって話題になって久しいですが、今更ながらWSL(Windows Subsystem for Linux)を使い始めました。

選択ディストリビューションはubuntu。20.04LTSが使えるようになってました。

普通に使ってる分にはネイティブなubuntuを使ってるのと変わらないレベルですね。びっくりです。

systemctl statusとか打って

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: ホストが落ちています

と言われて初めてあーほんとに偽物なんだと気づく(笑)

普通に /mnt/c/Users/XXX/Documentsとかにアクセスできてしまうし。これは確かに便利だは。

とりあえず、やっておくこと。

sudo apt update
sudo apt upgrade
sudo apt install language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8
sudo apt install manpages-ja manpages-ja-dev

timezoneは元々JSTになってました。

参考

https://www.atmarkit.co.jp/ait/articles/1903/18/news031.html

ubuntu 20.04 mysqlが起動しない問題

18.04 LTSから20.04に上げた時に確認したら普通に上がっていたと思うのですが。。。後日、再起動したらmysqldが正しく上がってきませんでした。

確認したら以下のログが

May 9 23:30:24 abel kernel: [ 5967.758467] audit: type=1400 audit(1589034624.217:34): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/sys/kernel/random/boot_id
" pid=6850 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

/etc/apparmor.d/usr.sbin.mysqldを確認すると、確かに許可されていなかったので、以下を追加したら問題なく起動しました。

/proc/sys/kernel/random/boot_id r,

MySQLが8系になって起動時にランダム値を使うようになったのかな。

Ubuntu 18.04 LTS -> 20.04 LTS on GCP

GCPで運用しているこのサイトのOSをUbuntu 18.04 LTSから20.04LTSにアップグレードした。

gcp用でも問題なく do-release-upgrade -d で上げることができた。なお、gcpでアップグレードを掛けると、Kernelは勝手に5.4.0-1009-gcpになる様だ。(apt/sources.listはhttp://us-west1.gce.archive.ubuntu.com/ubuntu/を参照している)

GCPの問題というわけではなく毎回出る軽微な設定の変更な何点かあった。

  • PHP7.2→7.4になったことによりApacheが起動しない問題
May 02 09:14:18 abel systemd[1]: Starting The Apache HTTP Server... 
May 02 09:14:19 abel apachectl[3698]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.2.load: Cannot load /usr/lib/apache2/modules/libphp7.2.so into server: /usr/l> 
May 02 09:14:19 abel apachectl[3693]: Action 'start' failed. May 02 09:14:19 abel apachectl[3693]: The Apache error log may have more information. May 02 09:14:19 abel systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE 
May 02 09:14:19 abel systemd[1]: apache2.service: Failed with result 'exit-code'. 
May 02 09:14:19 abel systemd[1]: Failed to start The Apache HTTP Server. 

phpモジュールをリンクしなおして解決
# a2dismod php7.2
# a2enmod php7.4
  • dovecot 2.3系での変更
May 2 09:20:53 abel dovecot: config: Warning: please set ssl_dh=</etc/dovecot/dh.pem
May 2 09:20:53 abel dovecot: config: Warning: You can generate it with: dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam -inform der > /etc/dovecot/dh.pem 
May 2 09:20:53 abel dovecot: imap-login: Error: Failed to initialize SSL server context: Can't load DH parameters: error:1408518A:SSL routines:ssl3_ctx_ctrl:dh key too small: user=<>, rip=126.203.14.194, lip=10.138.0.3, session=<zjVRRZ+ k7lt+yw7C>

May 02 09:23:52 abel dovecot[4362]: config: Warning: NOTE: You can get a new clean config file with: doveconf -Pn > dovecot-new.conf 
May 02 09:23:52 abel dovecot[4362]: config: Warning: Obsolete setting in /etc/dovecot/conf.d/10-ssl.conf:50: ssl_protocols has been replaced by ssl_min_protocol

DH keyを作れと言われるので以下で作る(2048を指定しないと1024で作られてしまう)
dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam 2048 -inform der > /etc/dovecot/dh.pem

/etc/dovecot/conf.d/10-ssl.confを以下の様に変更
ssl_dh = </etc/dovecot/dh.pem
# ssl_protocols = TLSv1 TLSv1.1 TLSv1.2
ssl_min_protocol = TLSv1

AWS インターネットVPNでRTXを使ったハマった話

AWSのインターネットVPNを張るときRTXでNATを使っているとAWSコンソールからダウンロードできるコンフィグをそのまま使うと繋がりません。

インターネットには繋がっていて、RTXのログにはVPNを張ろうとしている記録が残っているのにshow ipsec sa しても何も出てこなかったら以下を疑ってみましょう。

ipsec ike local address 1 xxx.xxx.xxx.xxx ←ここ

アドレスがCGWとして入力したルータのIPになっていますが、普通、NATを使っているのでRTXのLAN側のIPで書く必要があります。

参考

Gmail アプリケーションパスワード設定

アカウントの保護: Google からのセキュリティに関するアドバイス「 安全性の低いアクセスの無効化 」というのが頻繁に来てうざいので無効化してみました。。。

そしたらこのサーバからGmailのSMTPサーバに飛ばしているメールが飛ばなくなり。。。

重大なセキュリティ通知 「 ログインをブロックしました 」と言われるように。。。

メールサーバのログにはこんなのが。

Oct 22 02:26:31 abel postfix/smtp[6427]: B271742237: to=xxxxxxxx@gmail.com, relay=smtp.gmai
 l.com[74.125.195.109]:587, delay=71777, delays=71776/0.02/0.84/0, dsn=4.7.14, status=deferred
  (SASL authentication failed; server smtp.gmail.com[74.125.195.109] said: 534-5.7.14  Please?534-5.7.14 log in via your web browser and then try 
 again.?534-5.7.14  Learn more at?534 5.7.14  https://support.google.com/mail/answer/78754 c8s
 m17372375pfi.117 - gsmtp)

まぁ、SMTP Authは安全性の低いアクセスって訳ですね。確かに、これだけ権限が集中しているGoogleアカウントをメール送信のためにメールサーバに仕込むのは気が引けてはいました。

では何か手がないかというと、アプリパスワードという専用のパスワードを作ってSMTPサーバを利用する方法がありました。

アプリパスワードを利用するためにはその前に2段階認証を有効にしておく必要があります。

まぁ、詳しくはもろそのまんまなブログがあったので先人の知恵を利用させて頂きました(^_^)

参考サイト

https://blog.saboh.net/smtpgmailcom/

AWS Lightsail to GCP CE

Google Cloud Platformが実は ちっちゃいインスタンスをずっと無料で動かせるという事を知り、このBLOGをAWS LightSailから引っ越しました(笑)

Always Freeの仮想マシン(Compute Engine)条件は以下の通り

1 つの非プリエンプティブル f1-micro VM インスタンス(1 か月あたり)。次の米国リージョンのいずれかで利用できます。
オレゴン: us-west1
アイオワ: us-central1
サウスカロライナ: us-east1
30 GB 月の HDD
次のリージョンで 5 GB スナップショット ストレージ(期間合計):
オレゴン: us-west1
アイオワ: us-central1
サウスカロライナ: us-east1
台湾: asia-east1
ベルギー: europe-west1
1 GB の北米から全リージョン宛ての下りネットワーク(1 か月あたり、中国とオーストラリアを除く)

https://cloud.google.com/free/docs/gcp-free-tier?hl=ja

サイズ的にはAWS LightSailの$3.5/月版(1vCPU, 512MBメモリ,20GB SSD,1TB転送)くらいかと。

米国にサーバを建てないといけないわけですが、クラウドだし、WEBサーバならそんなに気になりません。

違うリージョンに作ってしまったり、対象外の国(中国など)からのアクセスは課金されるので注意。

なお、元のLightSailサーバはスナップショットを取った上で削除しました。スナップショットは$0.05/GB月なので、20GBあっても$1くらいですね。(実際は使ってる分だけなのでそんなにないです。)

参考

https://qiita.com/Brutus/items/22dfd31a681b67837a74

ソフトバンク光BBユニットについて

WEBサーバをAWSに引っ越してサーバを止めたので。更なる電気代節約のため、RTX810とAtermWG1800HPも止めてソフトバンク光のBB光ユニット(E-WMTA2.3)でルーティングと無線LANを賄うことにしました。合わせて10W程度でしょうか。微々たるものですが。

BBフォンを使っていなければBB光ユニットを止めてRTX810だけ残すという手もあったのですが、仕方ない。

問題なく動いているような気もしていたのですが、どうもFireStick TVで動画を見ていると止まることがある。電波が弱いのかと思い、FireStick TVの近くにAPを設置してみたところとりあえず安定。やっぱり遠かったのか。。。と思ってました。(今思えば電波は強いので単純に光BBユニットが調子が悪いだけな気がする。。。)

が、新たに問題発生。ローミング時に切れる。E-WMTA2.3接続の無線からもう1台のAPに切り替わるときにしばらく通信できないという問題発生。

調べてみるとこれか?

https://qiita.com/mecaota/items/662790514b960ee7773b

ちょっと試した感じ、確かにE-WMTA2.3の無線を止めて、別のAPを2台E-WMTA2.3の同一ポート配下のスイッチに繋ぐとローミング時に切れない。。。

ダメすぎる。。。

とはいえ、そのためにAP2台追加って無駄すぎる。。。

結局、妥協してE-WMTA2.3の無線を有効して他のAPの電源をそっと落としました。。。

もうちょっとなんとかならないものですかね。。。

>ソフトバンクさん

LightSailのdovecotでちょっとはまった話

LightSail Ubuntu dovecot 2.2.33.2-1ubuntu4.3 で最近なぜかiPhoneからメールが取れないことに気づいた。原因がよくわからなかったのだか、/var/log/mail.logにこんなメッセージが。

Aug 15 08:49:21 ls dovecot: imap-login: Disconnected (no auth attempts in 18 secs): user=<>, rip=126.203.xxx.xxx, lip=172.26.xxx.xxx, TLS handshaking: SSL_accept()
syscall failed: Connection reset by peer, session=<AGABaByQw8B+yw7C>

原因らしきもの – dovecot 2.2.33というかOpenSSL1.1.1?でSSL対応しなくなったようでTLSしか使えなくなった。だと思うのですが、iOS 12.4において普通にTLS使えるはずなんだけどなぁ。。。試しにiPhoneのメールアカウントを再登録してみたのですが、なぜかSSLの確認が通らない。。。やっぱり、OpenSSLの変更が関係している気がします。が、解決に至らず。全く繋がらないという訳ではなく一度繋がってしまえば問題ないのですが。。。

情報募集中!