Raspberry PiにOpenMediaVaultをインストールしたら/etc/network/interfacesが初期化された件

## OpenMediaVaultのインストールエラー

[tailscale VPNつかってL2トンネル構築](https://qiita.com/tinoue@github/items/ebcdf5423d87df0ad7cc)しているRaspberry PiをNAS化しようと、OpenMediaVaultをインストールしたら、以下のエラーが出ました。

```
----------
          ID: apply_netplan_config
    Function: cmd.run
        Name: netplan apply
      Result: False
     Comment: Command "netplan apply" run
     Started: 22:32:58.808647
    Duration: 362.507 ms
     Changes:   
              ----------
              pid:
                  847
              retcode:
                  78
              stderr:
                  /etc/netplan/20-openmediavault-gre0.yaml:5:21: Error in network definition: Invalid MAC address '0.0.0.0', must be XX:XX:XX:XX:XX:XX
                          macaddress: 0.0.0.0
                                      ^
              stdout:

Summary for raspberrypi4
-------------
Succeeded: 13 (changed=13)
Failed:     1
-------------
Total states run:     14
Total run time:    8.931 s
Error applying network changes.  Skipping reboot!
```

## Netplan

調べてみると、OpenMediaVaultはnetplanを使ってネットワーク設定の機能も持ってるとのこと。高機能なのはいいんですが、インストール時/etc/network/interfacesの内容をnetplanに移行するのにエラーが出てました。ついでに/etc/network/interfacesは初期化されてます。

通常のRaspberry Piならもともと/etc/network/interfacesは空なので、netplanへの移行で問題は起きないと思うのですが、自分の環境だと/etc/network/interfacesにブリッジやトンネルインタフェースの設定、ついでにフックでiptablesの設定が入っていました。

インストール時にnetplanに移行された設定は/etc/netplan/*.yamlに入ってますが、内容を見ると/etc/network/interfaceで記述していたブリッジやフック等が再現されておらず、このままでは使えません。ちゃんとエラーで止まっててよかったです。これで再起動したら詰んでるところでした。

## Netplanを使わない設定に戻す

今まで/etc/network/interfacesで行っていた設定を手動でnetplanに移行するというのもありだと思うのですが、netplanがフックに対応していないせいもあり面倒なので元のネットワーク設定に戻す方向で対応しました。

なお、この状態だとOpenMediaVaultのWeb画面でネットワーク設定をいじることはできません。

- /etc/network/interfacesの設定を元に戻す
- sudo apt-get install ifupdown
- sudo systemctl enable networking
- sudo systemctl disable systemd-networkd.socket
- sudo systemctl disable systemd-networkd

また、/etc/dhcpcd.confも消去されてました。名前解決周りも変更されていたので元に戻します。

- /etc/dhcpcd.confの設定を元に戻す
- systemctl disable systemd-resolved.service
- /etc/resolv.confがシンボリックリンクになっているので削除

なお、OpenMediaVaultのインストールの際、/etc/systemd/network/99-default.linkも削除されているのですが、元々/dev/nullのリンクだったのでなくても問題ないかと思います。

参考リンク:

- https://askubuntu.com/questions/1031709/ubuntu-18-04-switch-back-to-etc-network-interfaces
- https://netplan.io/faq/#how-to-go-back-to-ifupdown

## IPv6のグローバルユニキャストアドレスが無効になっている

`/etc/sysctl.d/99-openmediavault.conf`にてIPv6のautoconfを無効にする設定が記述されています。

```/etc/sysctl.d/99-openmediavault.conf(抜粋)
# Enable IPv6 privacy extension.
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2

# Disable IPv6 autoconfiguration by default. Will be enabled individually
# per interface via systemd-networkd.
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
```

IPv6でVPN接続する必要があったため、上記設定をすべてコメントアウトしました。

なお、上記対応後もipv6のグローバルアドレスが設定されていなかったのですが、`/etc/sysctl.conf`で`net.ipv6.conf.all.forwarding=1`が設定されてたのが原因でした。

```/etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1
```

コメントをよく読むとちゃんとその旨書いてありますね...

## OpenMediaVaultのWeb UIが立ち上がってない

リブート後、Web UIをアクセスしようとするとエラー。syslogを見るとnginexの起動でエラーが出ている。/var/log/nginx/*.logを作成しようとしているが、自分のRaspberry Piでは/var/log以下をtmpfsにしているため、/var/log/nginxが存在しない。

/etc/nginx/nginx.confを以下のように修正する。

```
        access_log /var/log/nginx_access.log;
        error_log /var/log/nginx_error.log;
```

リブート後、`sudo omv-firstaid`を実行。
で、`2 Configure web control panel`を実行するととりあえず直った模様。