2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-07-22

OpenMediaVaultのインストールエラー

tailscale VPNつかってL2トンネル構築している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のリンクだったのでなくても問題ないかと思います。

参考リンク:

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.confnet.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を実行するととりあえず直った模様。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?