自宅内で運用してたSMTPサーバをさくらのVPSに引っ越した

自宅内のネットワーク環境の見直しの一環で、自宅内の配置していた SMTP & IMAP サーバ(セカンダリ DNS も兼務)を VPS に移動することにしたので、備忘録的なエントリーを書いておく。
移動っていっても、物理的には移動させることはできるわけがないので、既存のサーバと同じサービスを動作させたサーバを VPS 上に用意して、各種サービスは新しく用意したサーバの方を利用するという形。

自宅ネットワークの概要

これで、プロバイダと固定 IP アドレス 8 個のオプション付きで契約しているのが、オプションを外す事ができるようになるのですよ。それでも自宅内で動かしているマシンの台数は大きく減らないんですが…。

特定の条件でrspamdを通さないようにする設定をpostfixに施す

内容の怪しいメールは、相変わらず送られてくるわけですが、 rspamd を使っているおかげで 40 〜 50 通/日程度のスパムメールがブロックされているので、目にすることは少ないのですけど、それでもすり抜けてくるものが、ちらほら。

すり抜けてきたもので、明らかに「フィッシングだよな〜」というやつに関しては、フィッシング対策協議会の情報提供窓口に転送をしているわけですが、

フィッシング対策協議会では、フィッシングサイトに関する情報提供の窓口も準備していますので、怪しいメールを受け取ったら情報提供をするのも良いかもしれません。

[From フィッシングサイトへの誘導メールが届いた - Soukaku's HENA-CHOKO Blog]

その転送メールが、今度は rspamd でブロックされてしまって、情報提供できないことが過去に何度も起きてたんですよね。
すり抜けてきたタイミングでは、 rspamd がスパムとして判定するスコアの閾値を超えていなかったのに、フィッシング対策協議会へ転送しようとしたタイミングで閾値を超えるスコアになってしまう、ということが原因であるんですが、これだと情報提供できず都合が悪いということで、なんとかしたいなと思っていたわけです。

Folding@homeに参加してみた、ので設定とかをもう少し細かく書いておく

前回のエントリーで端折っていた

自分のところでは、 Debian sid をインストールしたマシン 2 台に FAHClient をインストール。それぞれのマシンに GeForce GT 710 、 GT635 & Quadro 600 で2枚刺しって構成になっています。 Debian には CUDA を利用するためのソフトウェア群もインストール。

[From Folding@homeに参加してみた、ので設定とかイロイロ - Soukaku's HENA-CHOKO Blog]

ハードウェア周りのこととか、 CUDA 周りのこととかを追記しておきますね。

ハードウェア周り

現時点で、自分とこで、 Folding@home に参加させているマシンは、以下の 2 台。

  • 富士通 CELSIUS W520 (以下、 W520 )
    • Xeon E3-1245 v2搭載モデルで、こちらに GeForce GT635 搭載カードを 2 枚刺し。
    • 残念なことに電源 300Wモデル 、さらに PCI-E 補助電源ケーブルも生えてないのもあってハイパワーな GPU は使えないんで、 GT 635 で妥協。
    • でも、エッジフリーな PCI-E × 1 スロットが、まだ 2 本空いてるんで、もしかしたら 4 枚刺しイケたりする?
  • HP Pro 6300 SFF (以下、 Pro 6300 )

メインマシンである Z620 にも FAHClient 入れてはみたんですが、 OpenGL/OpenCL サポートが非推奨という OS 的な制約で RX580 使った解析ができないんで、さっくりとアンインストールしちゃいました。う〜ん、残念。
その代わり、 Z620 には BOINC の方を頑張ってもらうことにする。
# RX570 版例のカードも、手元にあったりするんだけど、なんだかんだと制約があるおかげで使えないだよね…。

nsd でセカンダリDNSを構成しなおす

unbound でセカンダリ DNS を構築したものの、

今回の例だと、unbound 自身はほんと最低限の動けばいいレベルでしか設定していないので、実運用時はもう少し考える必要があるので、ご注意を。

[From unboundをbind9のスレーブとして設定してみる - Soukaku's HENA-CHOKO Blog]

設定面に不安もあったし、「なんで unbound なの?オープリゾルバにしたいの?」といったご指摘も頂いたので、いろいろ調べ直して、 nsd をセカンダリとして使うように構成を変更したので、そのメモ。

nsd は

NSD (Name Server Daemon) は高性能で簡単なオープンソースの権威ネームサーバです。

[From NSD 4 – 日本Unboundユーザー会]

と謳い文句にある通り、DNS コンテンツサーバに特化している DNS サーバの実装の一つです。

インストールと基本的な設定

インストールするのは、 unbound をスレーブとして設定した自宅側のサーバ。

HomeNetwork_DNS-20190121.png

これを unbound ではなく nsd に置き換える、と…。(正確には、ちょっと違うので、その点については後述。)

unboundをbind9のスレーブとして設定してみる

bind9 使っている宿命というか、どうしても定期的なセキュリティアップデートを実施しないといけない、というのが結構運用面での負荷になっていて、「どうしても bind でないといけないというところ以外、 unbound に切り替えてもいいのでは?」と思い始めたので、スレーブに unbound を使ってみよう、ということで設定をしてみた次第。

しばらく前から、unbound も権威サーバとして使えるということは、知ってたんですけどねぇ。

インストールと設定

うちのネットワーク的には、さくらの VPS でマスタ、自宅側サーバでスレーブという形で DNS を配置しているので、自宅側を unbound で置き換えるという形に。

/images/network

サーバは、いつもどおりの Debian で構築したものなので、 インストール自体は root で "apt install unbound" なり "aptitude install unbound" で完了。一応、-s オプションつけてシミュレーションモードで確認してみると、こんな感じ。

nexus01:~# apt -s install unbound
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
libpython3.7 libunbound8 unbound-anchor
以下のパッケージが新たにインストールされます:
libpython3.7 libunbound8 unbound unbound-anchor
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 25 個。
Inst libpython3.7 (3.7.2-1 Debian:unstable [amd64])
Inst libunbound8 (1.8.1-1+b1 Debian:unstable [amd64])
Inst unbound-anchor (1.8.1-1+b1 Debian:unstable [amd64])
Inst unbound (1.8.1-1+b1 Debian:unstable [amd64])
Conf libpython3.7 (3.7.2-1 Debian:unstable [amd64])
Conf libunbound8 (1.8.1-1+b1 Debian:unstable [amd64])
Conf unbound-anchor (1.8.1-1+b1 Debian:unstable [amd64])
Conf unbound (1.8.1-1+b1 Debian:unstable [amd64])

unbound インストールの時点は、bind9 の削除がいきなり行われたりはしないようです。(というか -s オプション効くの、初めて知った…。)

LIVA Z2買ったので、ちまちまとセットアップしてます。

仕事で使っていた Raspberry Pi3 。流石にいろいろ動かしているとパワーが足りないと感じる場面が増えてきたので、ちょっと奮発?して LIVA Z2 を入手しました。

いろいろ迷ったんですけどね、あんまりお高くならず、ほどほどの性能でいいんだよね、ということで LIVA Z2 を選択。端から Debian 入れて使うつもりでいたので、最初は OS なしの LIVA Z の方にしようかと思ってたんですが、 Amazon では OS 入りの Z2 のほうが安かったので…。

ついでに 128GB の 2.5 インチ SSD と メモリ 4GB 1 枚も一緒に注文したのが届いたのが、火曜日。
で、SSD とメモリ取り付けて、プリインストールされてた Windows 10 のデスクトップを拝むこともせず、サクッと Debian をインストールしてみましたが、2 個ある HDMI ポートのうち HDMI 2.0 の表記ある方にディスプレイ繋いでたら、起動画面がすっ飛ばされていきなり Windows10 の初期セットアップ画面が表示されちゃって、 BIOS に入るための操作のタイミングが取れない、なんてことがあったぐらいで、インストール自体は特に問題なく終わりました。(表示の問題は、古いディスプレイに HDMI - DVI 変換アダプタかまして繋いたからだろうな、という気がする。)

あとは、Debian インストーラの最新版でインストールしてみたんで他のインストールイメージ使うとどうなるのかは確認してませんが、途中のネットワークインターフェースの認識のステップで 、Wi-Fi はドライバがないのであとからインストールするように、という旨の表示が出ることぐらいが注意事項でしょうかね?

Zabbix 4.0 LTS リリース!

ここ数年の飯のネタとなってる Zabbix 。
いよいよ長期サポート版としての 4.0 がリリースとなりました。(パチパチ)

2.0 から使い始めて、仕事では 2.2 から 3.4 へと(さらに 4.0 にすることを見据た上で)移行が進みつつあり、自宅でも時々ハマりながら、

実際、 Zabbix がそうだったんですが、 Zabbix が公式に用意している Zabbix 3.4 / pre-4.0 のパッケージを sid にインストールするために stretch 対応のものでよかったのですけど、 sid の curl のバージョンが上がったことで libcurl3 から libcurl4 への変更が発生。

[From Debian sidに公式配布版のZabbixパッケージがインストールできなかったので - Soukaku's HENA-CHOKO Blog]

順次バージョンアップしなから使い続けてきているわけで、当然のことながら 4.0 へのアップデートをしたわけですよ…。

Debian sidに公式配布版のZabbixパッケージがインストールできなかったので

Debian sid 使っていると、 Debian のリポジトリ以外からインストールするパッケージのインストールやアップデートが出来なくなるので「困ったな〜」となることがあったりします。

実際、 Zabbix がそうだったんですが、 Zabbix が公式に用意している Zabbix 3.4 / pre-4.0 のパッケージを sid にインストールするために stretch 対応のものでよかったのですけど、 sid の curl のバージョンが上がったことで libcurl3 から libcurl4 への変更が発生。

# dpkg -i /tmp/zabbix-release_3.4-1+stretch_all.deb
以前に未選択のパッケージ zabbix-release を選択しています。
(データベースを読み込んでいます ... 現在 155180 個のファイルとディレクトリがインストールされています。)
.../zabbix-release_3.4-1+stretch_all.deb を展開する準備をしています ...
zabbix-release (3.4-1+stretch) を展開しています...
zabbix-release (3.4-1+stretch) を設定しています ...
# apt update
ーーー 中略 ーーー
# apt install zabbix-server-mysql zabbix-frontend-php
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
zabbix-server-mysql : 依存: libcurl3 (<= 7.28.0) しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

その影響で libcurl3 に依存していた公式配布版のZabbixパッケージがインストール/アップデートができなくなってしまう、と…。
libcurl3 → libcurl4 になる前に公式配布版の Zabbix パッケージをインストールしていたので、 libcurl4 に依存する apache2 関連のパッケージのアップデートを libcurl3 に依存する Zabbix パッケージが邪魔をするという状態になってしまったというのが、自分のところで起こっていた状況だったわけです。

Debian buster/sid で玄人志向の USB3.1 インタフェースボードを動かしてみる[性能編]

前のエントリーから、時間が空いてしまいましたが、簡単にパフォーマンステストをしてみた結果をまとめておきます。

測定対象の HDD について

まず、内蔵 SATA インターフェースに繋がっている方。

root@vhost01:~# smartctl --info /dev/sda -d sat
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.17.0-rc7-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Hitachi Deskstar E7K1000
Device Model: Hitachi HDE721010SLA330
Serial Number: STN****S0UWL1K
LU WWN Device Id: 5 000cca 35ecbc4d1
Firmware Version: ST6OA3AA
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 2.6, 3.0 Gb/s
Local Time is: Thu Jul 19 22:50:48 2018 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

今回増設した USB3.1 インタフェースボード経由で接続した HDD 増設スタンドに挿した方が、こちら。

root@vhost01:~# smartctl --info /dev/sdb -d sat
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.17.0-rc7-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Hitachi Ultrastar 7K3000
Device Model: Hitachi HUA723020ALA640
Serial Number: MK0****FJ4XZVA
LU WWN Device Id: 5 000cca 223de6d56
Firmware Version: MK7OAA10
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 2.6, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Thu Jul 19 22:50:41 2018 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

どちらも、回転数 7200rpm 、セクタサイズ 512byte のもので、違いは容量と SATA のリンクスピード。
測定を厳密にやるのであれば、同じ型番の HDD 2 台用意して、内蔵 SATA と USB3.1 にそれぞれを繋ぐのが良いのでしょうけど、機材を揃える時間もなかったので、大体の傾向だけつかめれば良いことにします。

Debian buster/sid で玄人志向の USB3.1 インタフェースボードを動かしてみる

Mac mini などのバックアップを TimeMachine でやっているですけどね。そのバックアップ先にしてたサーバの HDD がお亡くなりになったようで、OS レベルで認識されなくなりまして…。

まあ、 HDD 買ってきて載せ替えて、ちょいと設定修正すれば話は終わりなんですが、それじゃ面白くないよねぇ(誰が?)ということで、いろいろと考えて「USB 3.1 のボード載せてみるか?」ということに。
最初は、サーバに HDD 内蔵してしまうと、なにかあったときに交換するが面倒だから、いわゆる「お立ち台」タイプの HDD 増設スタンドを USB 経由で繋ぐだけでいっかな〜、と思ってたんですけど、ちょっと調べてみたら USB3.1 Type-C コネクタ付きのカードで比較的お安いの見つけることができたので、それに合わせて HDD 増設スタンドの方も、 USB3.1 Type-C コネクタを持つものにして一緒に Amazon でポチッと…。

カードを増設して、 OS からの認識状態を確認

でモノが届いたので、早速取り付け~。
バックアップサーバとして使っているのは、1年ほど前に手に入れた Express5800/53Xg 。こいつ、スリムタイプの筐体なのだけど、3.5 インチ HDD を 2 台搭載可能、PCI Express スロットとも x16 と x4 ぞれぞれフルハイトのカードが使えるというのがちょっと嬉しかったり…。