Muttとgetmailを導入した話

はじめに

もともとメインのPCとしてThinkPad x61sを使ってきたのですが、さすがにスペックが弱いからか最近、動きがもっさりとしてきました。(OSはDebian10)

x220の方にLinux Mintを入れていたので、そちらを使うことが増えてきたので、メールの移動も兼ねてMuttとgetmailを導入した、という話です。

getmail

・getmail
http://pyropus.ca/software/getmail/

aptでぱぱっとインストールして、前のPCからgetmailrcをもってきて、とやったらGmailの認証エラーがでました。うーん?よく把握していないのですが、どうもOauth2を使った認証の方が良さそうということで、認証をOauth2に切り替えました。

仕組みをよく理解できていないので、とりあえず下記URLの記事を参考にgmail側の手順を済ませました。後日、ちゃんと勉強しないと、と思います。

・NeomuttでGmailにOAuth2.0する
https://qiita.com/ksuzuki_TVDn1/items/9b2f8d1f24ed81456793

getmailrc側の設定はこの記事のとおりで大丈夫でした。

・getmail-5.6 XOAUTH2 configuration for gmail
https://www.bytereef.org/howto/oauth2/getmail.html

メール落としてくるのに時間かかりました…

Mutt

Muttもaptでインストールして、元のPCのmuttrcを移動して完了です。

GPGで署名したメールと暗号化したメールがちゃんと検証・復号できているのか確認する作業が残っていますが、とりあえずは完了です。

2020/08/28 追記

署名と暗号化は問題なかったのですが、Gmail宛のSMTPで苦労しました。
まず、Gmail宛のSMTP設定ファイルを作成して読み込むようにします。

~.mutt/gmail.rc というファイルを作ります。

# Gmail SMTP Setting                                                                                                                        
 
set smtp_url = "smtp://#{自分のメールアドレス}@smtp.gmail.com:587/"
set smtp_authenticators = "oauthbearer"
set smtp_oauth_refresh_command = "/path/to/oauth2.py --quiet   
    --user=#{自分のメールアドレス}\
    --client_id=#{client_id}\
    --client_secret=#{client_secret}\
    --refresh_token=#{refresh_token}

それを読み込むようにmuttrcに設定します。

source "~/.mutt/gmail.rc"

とりあえず、これでOKです。

GPGで保護する

せっかくなので、認証周りの情報が書いてあるファイルはGPGで保護しようと思います。

gpg -r #{自分のメールアドレス}.com -ea gmail.rc

muttrc の記載を修正。ちゃんと送信できることを確認して、元のテキストファイルはバックアップメディアに移して削除しました。

source "gpg -d ~/.mutt/gmail.rc.asc |"

おうち林間学校最終日

はじめに

楽しかったおうち林間学校ももうすぐ終わりです。

1日目
2日目

まずはチェックアウトの準備

朝食を食べたら、ベッドのシーツを外してたたんだり、ゴミを分別したり、チェックアウトの準備です。林間学校なので、子どもたちにもやってもらいます。ちゃんとできてえらかったね。

もう少し那須で遊ぼう

せっかくなので、ということで、お菓子の城に行きました。

・お菓子の城
 https://www.okashinoshiro.co.jp/

花と体験の森の中で、小5ちゃんはハーバリウム作り、小2ちゃんはデコスイーツ作りを体験です。真剣な眼差しで取り組んで、素敵な作品を作りました。

ハーバリウムを作っている様子
デコスイーツを作っている様子

この後、お土産も買って、楽しかった那須とはお別れです。

餃子を食べよう

みんな餃子が大好きなので、宇都宮の餃子を食べようということになり、宇都宮みんみんさんの鹿沼店に行きました。(高速のインター降りて割とすぐなので)
・宇都宮みんみん
 http://www.minmin.co.jp/

15分ほど並んで、いざ店内へ。焼き餃子4人前に水餃子・揚餃子を1人前ずつとライスを頼んでいただきました。おいしくいただきました。

家に着くまでが林間学校

ということで、安全運転を心がけ、15時くらいに無事に自宅に到着しました。
ちょっと疲れたけど、パパママにとっても良い思い出になる2泊3日でした。

娘たちへ。ありがとう!

所感

今回、Covid-19の感染が全国で広がる中、那須へおうち林間学校へ行くことに少しためらいもありました。コテージ泊なので、それほど多くの人と接するわけではありませんが、誰とも接しないわけではありません。手洗い・マスクをしっかり対策して、感染しない・感染させないように気をつけての旅行でした。感染に注意しながらでも、娘たちはとても楽しんでくれたので、行ってよかったな、と思いました。

一方で、平日を使った日程だったこともあり、道路も那須周辺もそれほどの混雑というわけではありませんでした。夏休みシーズンであることを考えると、もっとたくさんの人が来ていても良いはずの場所なので、やはりCovid-19の影響はあるのかなと感じます。

とても素敵な3日間をくれた栃木県に、また以前のような賑わいが戻るといいなと思いました。

おうち林間学校2日目

はじめに

おうち林間学校の2日目です。1日目はこちら

那須サファリパークへ

最初に向かったのは那須サファリパーク。ヒコヒココテージからは車で5分程度の近距離です。9時のオープン直後に入ったので、すいていましたね。

餌を買って、いざ出発!ところが、思いのほか動物たちがグイグイ来るので娘たちはものすごいビビリよう。大人でもちょっと焦るレベルでした。とくにシマウマなどのエリアでは、車の前にどーんと構えて餌くれないと通さないぞという固い決意を受けて、進むこともできず。ものすごくゆーっくりと車を前進させることでなんとか道を開けてもらって、通過できました。畳んでいたサイドミラーもお馬さんのせいで、完全に開いているし…。大人もビビるなか、頑張って餌やりをした娘たちでした。

サファリコース自体は30分ほどで終了したのですが、その後の、ふれあいコーナーでうさぎやテンジクネズミ(モルモット)に餌を上げたり、トラやライオンを遠目に見たりして楽しみました。

キリンやゾウに餌やりできるコーナーもあり、そこでも娘たちは動物たちに餌やりを熱心にやっていました。このときにはだいぶ慣れていたのだと思いますが、あまり怖がってなかったです。慣れが大事なんですね。ヤギの散歩をしていたスタッフさんがいたので、質問していたら、違う親子連れがきて「うちもヤギ飼ってるんですよー。でも触らせてくれなくて。」とスタッフさんに。うちの子が「ヤギ飼いたい」とか言い出したらどうしようかしらん。

ちょうどよい時間になったので、サファリパーク内のレストランで食事をしました。おいしかったです。

吊橋ツアー

午後は、つつじ吊橋へ向かいました。
・つつじ吊橋
 https://www.nasukogen.org/charm/

駐車場から、遊歩道を数分歩くと吊橋に到着です。立派な吊橋なのですが、高さがかなりあるのと、下を見ることができようになっている箇所があるのとで、結構怖いです。途中、風が吹いたときはそれなりに揺れて怖かったですが、子どもたちは平気なようで、はしゃいでいました。
※パパは高所恐怖症です。

その後、殺生石まではあるいで650mとあったので、歩いて行くことにしたら、これが見事に山道を歩くことになりました。アップダウンもあり、往復するともう汗びっしょりでした。殺生石自体は子どもたちも特段の感動はなかったようですが、山道は記憶に残ったようでした。

時間に余裕があったので、もう一つの弁天吊橋に向かうことにしました。
こちらは、つつじ吊橋よりもさらに奥に入る場所で、駐車場付近もかなり寂れていて、ちょっと不安になりながらの訪問でした。駐車場からGoogleMapに従って進むものの、目的地付近にはつけず、途中にあった看板付近から山道に入ることで吊橋に行くことができました。

これで本当に着くのかなと不安になるような道です。こんな感じの道を進みます。

なんとか無事に到着です。

つつじ吊橋よりも小ぶりですが、風情というかスリルはこっちのほうがあります。数人で渡ると結構ゆれるので、パパは恐る恐るでした。相変わらず、娘たちは余裕でしたね。

少しゆっくりと

予定外の山道歩きで疲れたので、那須の中心地?に戻って、少しゆっくりしました。フィンランドの森の中のハンモックカフェでお茶をして、コテージに戻って夕飯の準備です。

・フィンランドの森
 https://www.finlandnomori.net/

夕飯そして2日目終わり

夕飯の準備も自分たちで。買い出しチームと火起こしチームに分かれて、準備です。ママと小5ちゃんはお買い物に。メインの食材は「とちぎ和牛」です。パパと小2ちゃんは火起こし。七輪に炭を入れて、着火剤を使って火起こし。無事に準備できました。

霜降りの舌の上でとろけるような感じではなくて、赤身のしっかりとした肉の旨味を感じるお肉でした。赤身ですが、程よい柔らかさで娘たちも大満足のBBQでした。

その後片付けをしてお風呂に入ってベッドへ。疲れたのか、娘たちも早々に眠りに落ちたところで、無事に2日目も終わりました。

おうち林間学校1日目

はじめに

Covid-19の影響で娘(小5)の通う小学校の林間学校が中止になってしまったので、家族で林間学校しよう!ということで那須に来ています、の記録です。

もともとは

毎年群馬県のどこかに行っていたらしいのですが、今年から長野県のどこかに変わりますというお知らせを受けていました。詳細は決まり次第だったのが、中止の方が先に決まったので、結局どこだったのかわからず。

長野・群馬は以前も行ったことがあったので、学校とは違うけど栃木の那須にしようということにしました。

出発

9:00過ぎに車に荷物を詰め込んで出発。早々に娘(小2)がお人形を忘れたというので引き返すなどしてなんやかんやで11時過ぎに佐野SAに到着。

小5ちゃんが学校の授業で全国のうどんのことを調べていたので、「みみうどん」を食べるのが寄った目的です。

娘の感想は「うどんじゃないよね」でした。でもおいしそうに全部食べました。

パパは佐野ラーメン。こちらもおいしかったですよ。

いわむらかずお絵本の丘美術館へ

小2ちゃんが「14ひきシリーズ」大好きなので、絵本の丘美術館へ立ち寄り。

いわむらかずお絵本の丘美術館
http://ehonnooka.com/

途中、だいぶ細い道を通りながらも無事到着。小高い丘の上にあって、展望ひろばからの見晴らしは素晴らしかったです。トノサマガエル(だと思います)を見つけたり、バッタをつかまえようとしたり、素朴な遊びができる素敵な場所でした。もうちょっと遊びたかったのですが、小5ちゃんのアレルギー(なんかの花粉でしょうか)がひどくなったので、少し早めに切り上げることにしました。

キャンプ場に到着

今回止まったのはヒコヒココテージ那須です。

ヒコヒココテージ那須
http://hikohiko.com/nasu/

林間学校なのでテントじゃなくて、コテージにしました。晩御飯は子ども中心でカレーを作ってくれました。(といいつつ、だいぶマミー子さんがやってくれましたけど…)

ヒコヒココテージは設備が充実しているので、林間学校っぽさはないですが、デッキでご飯食べたり、花火をしたりと楽しむことができました。

2日目へ続きます。

ファイルシステムが壊れたらDHCPクライアントも暴走した話

はじめに

職場で一部の人から「ネットワークにつながらない」という申告があり、調べたら自分が原因でした、というお話です。

朝のことです

一部の職員から「ネットワークにつながりません」という申告がありました。朝で担当の職員がいなかったこともあり、自分が代わって対応しました。

確認できたのは以下のような事象でした。

  • 会社の無線LANのうち、あるSSIDではつながらない
  • 別のSSIDなら大丈夫
  • ipconfigしてもらうと、つながらないというSSIDはIPを取得できていない
  • Wifiはつかめているっぽい

PCのIPアドレスはDHCPなので、DHCPサーバになにか問題が起きたかなぁというのが私の見立て。

しかし、この時点でいくつか疑問が。

  • DHCPサーバの不具合なら、別のSSID(別セグメント)では問題起きないのは不思議
  • DHCPリレーの不具合でも同様
  • 問題のあるSSIDも、大丈夫な人と大丈夫じゃない人がいる。DHCPサーバの問題なら大丈夫な人がいるのも不思議。
  • 大丈夫じゃない人も複数いる。PC再起動してもダメ。PC起因が複数台で同時発生というのもありえなくないけど、確率低い

そんなこんな考えると、IPアドレス枯渇が一番ありえそうな気がする一方で、つながらない人が全員、後から接続しようとしたわけじゃなく、大丈夫な人よりも先につなごうとしていたので、はっきりと断言できるわけでもなし。

調査結果を聞く

ネットワークの担当者が来たので、そちらに任せていると「DHCPのアドレス枯渇が原因です。特定のクライアントから10秒毎に新しいIPを払い出すよう依頼が来ている」という連絡が。しかも、私が実験用に使っているPCから。

そのPCはMinIO の実験用に職員用セグメントに立てていたDebianマシン。そういえば、昨日の午後にファイルの送受信試したな、と。
マシンを見てみると、IOエラーが大量に出ているようですが、sshも通るしネットワーク的にはおかしくはない感じ。IPアドレス確認しようとコマンド打ったらびっくり!確かに有線のinterfaceにIPアドレスが大量に割り当ててられているではないですかー。とりあえず迷惑かけ続けるのもアレなので、シャットダウンしました。

問題のマシンを調査してみる

IOエラーがDHCPの暴走になるのか?というのが疑問で、所定の用事を済ませたた後に、問題のマシンを調査してみました。

問題起こすわけにもいかないので、いったん、有線ケーブルは抜いて起動して、syslogとかを見てみようとすると、ガーン!起動しないじゃないの。手動でfsckしてね、と言われるので、言われるがまま作業してなんとか起動。

で、syslog見てみると、どうも前日の18時前くらいからログがない様子。その少し前のログを見るとIOエラーでファイルシステムをReadOnlyに、と書かれているので、syslogも書き込めなくなったのかも、という結論に。

しかし、それでなぜDHCPが?syslogを見ると前日の12時くらいにリース更新の記録があり、残りが12時間弱くらいになっていたのです。そういえば、前日の23時台から問題の挙動が起き始めている、とネットワーク担当者が言っていたな…

dhclient-enp2s0.leasesを見ると、正常に取得していたIPだけが書かれていて、それがsyslogの内容とも概ね合致している感じ。その後IPを大量に取得しているにもかかわらずそれがleasesに反映されていない。

ということは、こんな感じってことですかね。

DHCPのリース更新をした
→ちゃんと更新できているにもかかわらず、DBを更新できないためにリース期限を更新できなかったと思いこむ
→リース切れだと思い、IP取得に行く
→取得できているのにDB更新できないから取得できなかったと思い込み、また取得に行く(以下これを繰り返す)

まとめ

問題のマシンは、以前もファイルシステムエラーを起こしていたので、ディスクが壊れているのか、MinIOとext4の組み合わせが良くないのか、ちゃんと調べてから使うべきでした。

きちんと調査せずに、安易にOS再インストールして、かつサーバのように起動させっぱなしにしていたのが良くなかったです。

psコマンドとかで見た限り怪しいプロセスもなかったし、おそらくセキュリティインシデント(マルウェア感染とか)ではなかったと思われるので、それは良かったです。

参考にしたサイトなど

あと、dhclientのソースコードもちょっとだけ目を通しました。