SSHポート転送で自宅外から録画を見る

自宅にVPNを張れば良いのだけど、最近SSHのポート転送というものを覚えたので、これを使ってみる。 使うアプリはこちら。
・SSHクライアント:ConnectBot
・動画プレイヤー:VLC for Android 自宅サーバは普通に外からSSHで繋げられるようにしているので、これを踏み台にして録画機にポート転送を行う。ちなみに録画機ではChinachuが動いているので、この機能を使ってストリーミング再生を行いたい。 まずはConnectBotでSSHの鍵を作る。まぁ作り方自体は雰囲気でなんとかなるので良い。出来上がった鍵を長押しして出てくるメニューから、「公開鍵をコピー」を押すとクリップボードに公開鍵が入るので、これを自宅サーバのauthorized_keysに仕込む。
これができればあとは普通に設定を書くだけで接続できる。 次、ポート転送。 接続ホスト設定を長押しして出てくるメニューから「ポート転送の編集」を選ぶ。ここに新規で…
鍵の名前:お好きに
タイプ:ローカル
ソースポート:ローカルで開けたいポート
転送先:録画機のIPアドレス:Chinachuが待ち受けているポート これで、接続した状態にして、ブラウザからlocalhost:上記で設定したソースポートにアクセスすると、普通にChinachuの画面が出てくるので、後はいつも通りストリーミング再生してみれば良い。ただ、VLCだとシークできなかったのでChinachuのストリーミング機能を使ってみた…のだが、Chinachuのストリーミング再生も普通に使いにくいのであった…
・シークできない
 →手元にデータがあるもの、つまり再生済みの内容であれば多少シークできるが、進みたい場合にはこれができない
・一時停止後の動き始めが進んでいる
 →画面上は一時停止しているが、再開すると停止しなかったままのように進んだところから再生が再開する 実際使うかは微妙な感じになってしまったのであった…

自宅サーバのメールがOCNでリレーしてもらえなくなった

自宅サーバにたてているメールサーバ、自宅固定回線を契約しているOCNにリレーしてもらっていたのだけど、OCNで弾かれるようになってしまった。 あんまり真面目に使っていないメールアドレスなので、いつから弾かれるようになったのかわからないけれど、少なくとも今は弾かれる。

host smtp.ocn.ne.jp[153.149.231.65] said: 554 5.7.1 <hoge@hogehoge.com>: Sender address rejected: Access denied (in reply to RCPT TO command)

ぐぐってみると以下のサイトを発見。
OCNメルサーバーへのリレー設定 – CentOSで作る自宅サーバー どうやらenvelope-fromがOCNのメールアドレスでないといけないらしい(OCNの公式情報が見つけられなかったのが悲しい)。上記サイトそのままだけど、設定を記載しておく。

$ vim /etc/postfix/main.cf # 以下を追記
local_header_rewrite_clients = permit_mynetworks
sender_canonical_classes = envelope_sender
sender_canonical_maps = regexp:/etc/postfix/sender_maps
$ vim /etc/postfix/sender_maps # 新規作成でOCNメールアドレスを記入
/^.*$/ hoge@fuga.ocn.ne.jp

設定が終わったらpostfixを再起動させてリベンジしてみたところ、普通にリレーしてくれるようになった。よかった。

NASの仕上げ(監視とか)

以下のつづき。
btrfsでNASを組む – お茶漬けぶろぐ
NASにHDDを追加した – お茶漬けぶろぐ
現在はただ組んだだけなので、メンテナンスも無ければ監視も無い。 というわけで、まずは定期scrubから。
scrubというのは、全てのデータを読み込んで、整合性チェックを行う操作。破損があった場合には修復も行ってくれるらしい。Arch Linuxでは月イチ実行のtimerがあるのでこれを利用しよう。パス指定はsystemd-escapeによってエスケープしたものを指定する。

$ systemd-escape -p /tank/nas
tank-nas
$ sudo systemctl enable btrfs-scrub@tank-nas.timer
Created symlink /etc/systemd/system/timers.target.wants/btrfs-scrub@tank-nas.timer → /usr/lib/systemd/system/btrfs-scrub@.timer.

btrfs-scrub@.serviceはstartすればscrubをsystemdを通して実施できそう。ログがsystemdのjournalに残せるみたい。 つぎ、S.M.A.R.T.のテスト。こちらは手軽に実行できるので手でもやってみよう。

$ sudo pacman -S smartmontools
$ sudo smartctl -t short /dev/sdc
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.7.9-arch1-1] (local build)                                               
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org           
                                                                                                                       
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===                                                               
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".                                 
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.                                         
Please wait 2 minutes for test to complete.    
Test will complete after Tue Sep  8 22:22:53 2020 JST                                                                  
Use smartctl -X to abort test.

〜完了してから〜
$ sudo smartctl -l selftest /dev/sdc
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.7.9-arch1-1] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%       893         -

エラー無く完了したっぽいことがわかる。 単発手動実行したが、本当は自動でチェックして欲しい。というわけでsmartdの出番。こいつは指定したタイミングでテストを実施して、問題がありそうであればメールで通知してくれるらしい。

$ sudo cat /etc/smartd.conf
DEVICESCAN -S on -s (S/../.././02|L/../../6/03) -W 4,45,50 -m root@hoge.com
/dev/sdc -a
/dev/sdd -a
/dev/sde -a
/dev/sdf -a
$ sudo systemctl enable --now smartd

HDDがスタンバイだった時のためのオプション(-n standby,q)があったが、journalを見てみたところ、使っている全てのHDDがサポートしてなさそうな事を言われてしまったので断念。

Device: /dev/sdc [SAT], no ATA CHECK POWER STATUS support, ignoring -n Directive

smartd.confに-M testを書いておくと、メール送信のテストができる。root宛以外はMTAやMUAが必要だそうだ。今回環境ではroot宛を別のアドレスに転送するようにしていたので、root宛で問題無い。テストを行うと以下のような文面のメールが届いた。

This message was generated by the smartd daemon running on:

   host name:  cerulean-blue
   DNS domain: [Empty]

The following warning/error was logged by the smartd daemon:

TEST EMAIL from smartd for device: /dev/sdf [SAT]

Device info:
WDC WD20EZRX-00D8PB0, S/N:WD-xxxxxxxxxxxx, WWN:x-xxxxxx-xxxxxxxxx, FW:xx.xxxxx, 2.00 TB

For details see host's SYSLOG.

これで、HDDに異常が生じて、これをS.M.A.R.T.を利用して発見できた場合には、通知がくるようになった。scrubも実行しているので、btrfsの構造破損もそれとなくどうにかなりそう。これでまた暫く使ってみよう。

NASにHDDを追加した

btrfsでNASを組む – お茶漬けぶろぐと言って、btrfsで組んだアレイを使ってNASにした。本当は先に監視関係をいじるべきだったんだけど、大きな空き容量を先に見てみたくなってしまったので、HDDを追加することにした。 元々NASとして使っていたアレイは、データは全て取り出したので、もう不要ということでバラした。そこから取り出したHDDを組み込む。HDDケースは5ベイあるけど、(故障時を思うと)1つ余裕をもたせたいので、2台のみ組み込むことにした。6TBx2+2TBx2で、全体としては16TBのアレイ(DataがRAID1になっているので、使えるのは8TBになる)になるはず。 やることはそんなに難しくない。HDDを接続してアレイにaddするだけ。 前回同様にgdiskでパーティションを切って、あとは以下の感じで組み込むのみ。

$ sudo btrfs device add -f /dev/sde1 /dev/sdf1 /tank
$ sudo btrfs filesystem show
Label: 'house'  uuid: 略
        Total devices 4 FS bytes used 3.72TiB
        devid    1 size 5.46TiB used 3.74TiB path /dev/sdc1
        devid    2 size 5.46TiB used 3.74TiB path /dev/sdd1
        devid    3 size 1.82TiB used 0.00B path /dev/sde1
        devid    4 size 1.82TiB used 0.00B path /dev/sdf1

最後にbalanceして、完了を待つのみ。

$ sudo btrfs balance /tank

ちなみに、12時間経過したがまだ完了していない。 28日23時ころ追記:結局、丸2日くらい経ってから、ようやっと完了した。よかった。

0.00s user 13821.47s system 8% cpu 45:41:48.60 total

9月8日追記:そういえばどのくらいにbalanceされたんだ?というのをここに書いてなかったなと思ったので、追記する。

$ sudo btrfs filesystem show
Label: 'house'  uuid: 略
        Total devices 4 FS bytes used 3.74TiB
        devid    1 size 5.46TiB used 3.69TiB path /dev/sdc1
        devid    2 size 5.46TiB used 3.69TiB path /dev/sdd1
        devid    3 size 1.82TiB used 56.00GiB path /dev/sde1
        devid    4 size 1.82TiB used 56.00GiB path /dev/sdf1

全然新HDDに移動されてないけど、稼働時間とかの状態が違いすぎて、信頼できないとかなのかな…

btrfsでNASを組む

前記事のつづき。といっても内容は素直な話だが… Arch Linuxなマシンにつないだところ、/dev/sdc, /dev/sddとして認識された。まずはGPTで初期化して、パーティションを1つずつ作る。

$ sudo gdisk /dev/sdc
o // create a new empty GUID partition table (GPT)
n // create a new parition
w // write table to disk and exit
$ sudo gdisk /dev/sdd
// オペレーションはsdc同様


$ lsblk //sdc, sdbのみ抜粋
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 0 5.5T 0 disk
└─sdc1 8:33 0 5.5T 0 part
sdd 8:48 0 5.5T 0 disk
└─sdd1 8:49 0 5.5T 0 part

必要パッケージのインストール

$ sudo pacman -S btrfs-progs

さあmkfs

$ sudo mkfs.btrfs -L house -d raid1 /dev/sdc1 /dev/sdd1
btrfs-progs v5.7
See http://btrfs.wiki.kernel.org for more information.

/dev/sdc1 appears to contain an existing filesystem (ext4).
ERROR: use the -f option to force overwrite of /dev/sdc1

怒られた、sdc1にはもうファイルシステムいるみたいなので、-fオプションつけてリベンジ(今回はディスク丸々ではなく、パーティションを切った上にbtrfsを作りたかったのだけど、上記gdiskのオペレーションじゃあ何か過剰だったのか…?よくわからん…)

$ sudo mkfs.btrfs -L house -d raid1 /dev/sdc1 /dev/sdd1 -f
btrfs-progs v5.7
See http://btrfs.wiki.kernel.org for more information.

Label: house
UUID: 略
Node size: 16384
Sector size: 4096
Filesystem size: 10.92TiB
Block group profiles:
Data: RAID1 1.00GiB
Metadata: RAID1 1.00GiB
System: RAID1 8.00MiB
SSD detected: no
Incompat features: extref, skinny-metadata
Runtime features:
Checksum: crc32c
Number of devices: 2
Devices:
ID SIZE PATH
1 5.46TiB /dev/sdc1
2 5.46TiB /dev/sdd1

うまくいってそうなのでマウントして、サブボリュームを切る。

$ sudo mkdir /tank
$ sudo mount /dev/sdc1 /tank
$ mount | grep btrfs
/dev/sdc1 on /tank type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)
$ sudo btrfs subvolume create /tank/nas
$ sudo chmod 777 /tank/nas

sambaの設定をして、データを書き込んで見る。

$ sudo vim /etc/samba/smb.conf
$ sudo systemctl restart smb nmb

どうでも良いが、ユニット名がsmbd.service, nmbd.serviceからsmb.service, nmb.serviceに変わっていてびびった。 取り敢えず手持ちの500GBくらいのデータを投げ込んでみたら、当初は快調に100MB/s前後で書き込めていたものの、すぐに200KB/sくらいに落ちたりした。平均するとだいたい40MB/sくらいをうろうろしていたかな?
後で旧来のNASから3.5TB程データを書き込んでみたところ、丸2日程度かかったから、平均すれば毎秒20MB/sくらいか。
SMRにbtrfsでRAIDしたのがまずかったか? ダメになり次第ストレージは気軽に交換していく運用にしようと思っているので、まぁあんまり気にせず使っていこう(暫くは様子見だが)
それと、近日中に定期scrub設定とか、S.M.A.R.T.監視とかそういうのはやっておきたい。まぁまた別記事で。 しかし、Wordpressのエディタ、なんだかんだ使いにくいなー、マウス操作沢山しないといけないのがめんどい。
エディタだけ変更するのもなんだかだし、どうせ大したコメントも来ないしという事で、Wordpressやめてjekyllとかで作り直しても良いかもね。コンテンツの移行がくっっっそめんどくさそうと思ったけど、ちょろっとぐぐっただけでそれっぽいのが出てくるし、やってみても良いかもね!

ConoHaのメールサーバで証明書エラーが出るのをどうにかする

参考サイトそのままなのだが、こういうのは残ってくれているのか不安だったりするので、ここでもメモ。
ちなみに、iPhoneメーラでSMTPするのは結果的にはできませんでした。かなしい。 参考サイト:
ConoHa のメールサーバーを使おうとしたら SSL 証明書で難儀した話 (序説) – Compnet
ConoHa のメールサーバーを使おうとしたら SSL 証明書で難儀した話 (実装編) – Compnet ConoHaのメールサーバには証明書に問題があって、証明書では「*.tyo1.conoha.io」とあるのに、実際に利用するのは{smtp, imap}.hogehoge.conoha.ioを指示されるのだ。
Thunderbirdの場合は例外承認すれば済むけど、今回はiPhoneのメールアプリで、そもそも通信してくれなさそうだった。SSLをオフにすれば良いのだが、それでは時代に逆行し過ぎでしょう。
という訳で、ConoHaのメールサーバとのやり取りが問題なので、ConoHaの証明書を受け入れるプロキシを設置し、クライアントからはこのプロキシに通信を申し入れれば良い。 では設定。
今回の環境は、Ubuntu 20.04 LTS(SMTPはdovecotの2.3.0以上が必要なので、それが用意できる必要がある)
また、SSL証明書が必要なので、適宜用意しておく。今回もLet’s encryptにお世話になりました。 必要パッケージのインストール。

$ sudo apt-get update
$ sudo apt-get install dovecot-imapd dovecot-submissiond

コンフィグの書き換え。 /etc/dovecot/conf.d/10-auth.conf
・auth_mechanismsにplain login cram-md5
・「!include auth-system.conf.ext」行をコメントアウト
・「!include auth-static.conf.ext」行をアンコメント /etc/dovecot/conf.d/auth-static.conf.ext
・末尾に以下を追記

passdb {
  driver = static
  args = proxy=y nopassword=y
  default_fields = destuser=%u nologin=y starttls=any-cert
}
userdb {
  driver = static
  args = uid=mail gid=mail /home=/dev/null
}

/etc/dovecot/conf.d/10-ssl.conf
・ssl = noをyesに変更
・ssl_cert, ssl_keyをLet’s encryptで取得したfullchain.pemとprivkey.pemに設定する /etc/dovecot/conf.d/20-imap.con
・protocol imap {}の中に以下を追記

login_greeting = IMAP ready.
passdb {
  driver = static
  args = proxy=y host=imap.hogehoge.conoha.io nopassword=y
}

/etc/dovecot/conf.d/20-submission.conf
・submission_client_workaroundsにwhitespace-before-path mailbox-for-pathを記述
・protocol submission {}の中に以下を追記

passdb {
  driver = static
  args = proxy=y host=smtp.hogehoge.conoha.io nopassword=y
}

以上でコンフィグは完了。あとは必要なポートを開けて、dovecotを起動するだけ。 Thunderbirdから送受信した感じ、何もエラーは生じなかったのだが、iPhoneのメーラで送信しようとすると思いっきり弾かれるのでこまった。Thunderbirdのログを眺めると問題なくSTARTTLSしてそうなのだけど、iPhoneのメーラってSTARTTLSサポートしてないとかそういうことないよね?

$ NSPR_LOG_MODULES=timestamp,append,SMTP:4 NSPR_LOG_FILE=./log thunderbird
$ cat ./log
2020-08-04 15:28:49.506598 UTC - [(null) 2885857: Main Thread]: I/SMTP SMTP Connecting to: hogehoge.com:587
2020-08-04 15:28:49.612342 UTC - [(null) 2885857: Main Thread]: I/SMTP SMTP entering state: 0       
2020-08-04 15:28:49.612352 UTC - [(null) 2885857: Main Thread]: I/SMTP SMTP Response: 220 133-130-115-187 Dovecot (Ubuntu) ready.
(中略)
2020-08-04 15:28:49.642992 UTC - [(null) 2885857: Main Thread]: I/SMTP SMTP Send: STARTTLS    
2020-08-04 15:28:49.672845 UTC - [(null) 2885857: Main Thread]: I/SMTP SMTP entering state: 0                         
2020-08-04 15:28:49.672855 UTC - [(null) 2885857: Main Thread]: I/SMTP SMTP Response: 220 2.0.0 Begin TLS negotiation now.
(略)

この後特にエラーも出ず最後までいっているので、普通にSTARTTLSできていると判断。 後日、STARTTLSじゃなくてSSL/TLSな感じに設定してみて、リベンジしてみよう。

pdftkでPDFのパスワードを外したい

会社の給与や賞与の明細がパスワード付きPDFで投下されるのだけど、開くたびにパスワード入力するのめんどい。というわけで、パスワードを外したい。 pdftkならパスワードも外せるので、やりましょう。

$ pdftk MEISAI.pdf input_pw PASSWORD output OUTPUT.pdf                                                                                                                                                              [Ret:0 23:02:31]
Error: Unexpected Exception in open_reader()
java.lang.NoClassDefFoundError: org/bouncycastle/crypto/BlockCipher     
        at pdftk.com.lowagie.text.pdf.StandardDecryption.update(StandardDecryption.java:94)
        at pdftk.com.lowagie.text.pdf.PdfEncryption.decryptByteArray(PdfEncryption.java:568)
        at pdftk.com.lowagie.text.pdf.PdfString.decrypt(PdfString.java:273)                                                                                                                                                                    
        at pdftk.com.lowagie.text.pdf.PdfReader.readDecryptedDocObj(PdfReader.java:723)
        at pdftk.com.lowagie.text.pdf.PdfReader.readDocObj(PdfReader.java:1109)
        at pdftk.com.lowagie.text.pdf.PdfReader.readPdf(PdfReader.java:508)
        at pdftk.com.lowagie.text.pdf.PdfReader.<init>(PdfReader.java:172)
        at com.gitlab.pdftk_java.InputPdf.add_reader(InputPdf.java:100)
        at com.gitlab.pdftk_java.TK_Session.add_reader(TK_Session.java:94)
        at com.gitlab.pdftk_java.TK_Session.open_input_pdf_readers(TK_Session.java:111)
        at com.gitlab.pdftk_java.TK_Session.<init>(TK_Session.java:1086)
        at com.gitlab.pdftk_java.pdftk.main_noexit(pdftk.java:152)
        at com.gitlab.pdftk_java.pdftk.main(pdftk.java:130) 
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.crypto.BlockCipher
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 13 more
Error: Failed to open PDF file: 
   202006_0127.pdf
Errors encountered.  No output created.
Done.  Input errors, so no output created.

ダメじゃん。org.bouncycastle.crypto.BlockCipherとかいうクラスが見つからないらしい。
パッケージ足らんのかなと思ってpdftk – aur見てたら、Dependenciesにbcprov (optional) - support for signed PDF documentsだそうで。bcprovはUpstream URLがhttps://www.bouncycastle.org/java.htmlらしいので、bouncycastleってこれドンピシャじゃん。

$ sudo pacman -S bcprov
$ pdftk MEISAI.pdf input_pw PASSWORD output OUTPUT.pdf
WARNING: The creator of the input PDF:
   MEISAI.pdf
   has set an owner password (which is not required to handle this PDF).
   You did not supply this password. Please respect any copyright.

問題なし。owner password設定あるのにお前が入れたのちゃうやんけ、著作権大事にせえや、って書いてあるけど著作権保護のつもりのパスワードじゃないからどうでもいいのさ。

ArchLinuxの上のQtアプリケーションでfcitx-mozcが有効にならんやつ

~/.xprofileでは以下3行は記述済み。

export QTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

fcitx-diagnoseを実行すると、Qt IM モジュールファイルのところで、Qt5のFcitx入力メソッドモジュールが見つかりません。の文字が。(Qt4も出てる) Fcitx – ArchWikiの「インプットメソッドモジュール」のところを見ながら入れてみる(ここまででIMモジュールだったり入力メソッドモジュールだったりインプットメソッドモジュールだったり色々表現があるが、どれも同じだろう)

$ sudo pacman -S fcitx-im

再度fcitx-diagnoseを実行すると、Qt5についての表記は消えて、目的のQtアプリケーションでも日本語が入力できるようになった。Qt4についてはaurから拾えというような感じだが、Qt4製アプリケーションを今使う予定は無いので入れないでおこう。

Raspberry pi 3 B+でPXEブート

大変今更だが、Raspberry pi 3 B+でPXEブートをしたい気がした。
我が家の構成は、DHCPはEdge Router X(192.168.0.1)がその役割を果たし、TFTPとNFSは自宅サーバ(192.168.0.4)にやらせる。 てきとうにいじっていたので、設定の記述は要らんやつとかもあるかも。 まずはDHCPでTFTPの情報を渡させる必要がある。EdgeRouter XのConfig Treeから、service -> dhcp-server -> shared-network-name -> LAN -> subnet -> 使うサブネットを選び、以下設定を行う。
tftp-server-name: 192.168.0.4 dnsmasqの設定。

dhcp-range=192.168.0.0,proxy
dhcp-boot=pxelinux.0
pxe-service=0,"Raspberry Pi Boot",pxelinux,192.168.0.4
enable-tftp
tftp-root=/srv/tftp/pxe-boot

nfsの設定。

sudo pacman -S nfs-utils
sudo vim /etc/exports
/srv/nfs/pi3/rpi-netboot 192.168.0.0/24(rw,no_root_squash)
sudo systemctl start nfs-server

データの配置。事前にCPUのシリアル番号をcat /proc/cpuinfo | grep Serialで調べておく。今回は12345678だった想定。

$ sudo mkdir -p /srv/tftp/pxe-boot/12345678
// Raspbianインストールイメージのboot領域を/mntにmountした前提で
$ sudo cp -r /mnt/* /srv/tftp/pxe-boot/12345678/
$ sudo mv /srv/tftp/pxe-boot/12345678/bootcode.bin /srv/tftp/pxe-boot/
$ cat /srv/tftp/pxe-boot/12345678/cmdline.txt
root=/dev/nfs nfsroot=192.168.0.4:/srv/nfs/pi3/rpi-netboot,vers=4,proto=tcp rw ip=dhcp rootwait elevator=deadline
// Raspbianインストールイメージのroot領域を/mntにmountした前提で
$ sudo mkdir -p /srv/nfs/pi3/rpi-netboot
$ sudo rsync -xa /mnt/ /srv/nfs/pi3/rpi-netboot

最後に、/srv/nfs/pi3/rpi-netboot/etc/fstabからmmcblk0の記述行を消しておく。
あとはRaspberry piからSDカードを抜いたまま電源を入れれば、起動できるはず。 つまずきポイント。 その1、dnsmasqのログに何も出ない(Raspberry piから何も取得しようとしない)。これはEdge Router Xの設定を間違えていただけ。Edge Router「を」PXEで起動するための設定を眺めていたのが間違いで、tftpのサーバがどこにあるのか教えてあげればそれで十分でした。 その2、カーネルの起動までは通っても、rootファイルシステムがマウントできなくてKernel panicになる。
散々困ったのだけど、nfsのログを眺めていたところ(# sysctl -w sunrp.rpc_debug=1023 && sysctl -w sunrpc.nfsd_debug=1023してから、journalctlで見れる)unknown version (2 for prog 100003, nfsd)とか出ていて、あーこれまさかプロトコルバージョン2で接続してないかね?ということで…cmdline.txtにvers=4を追加したところ無事通過。よかったよかった。