はじめに
今までNASはTERRA MASTERのF2-220を使ってたのですが、F2-220のTOSがなぜかウチのSamba4による家庭内Active Directoryに接続できなかったので、NAS用にPCを新たに用意してDebianベースのOpenMediaVaultに移行しました。
用意したPCはBMAX MINI PC B2(Celeron N3450・8GB RAM・128GB SSD)で、ストレージはM.2にNVMeのSSDを接続し、USBにはLogitec LHR-8BRHEU3に8台のHDDを搭載して接続しました。
ただ、そのままではActive Directoryに接続できないので、インターネットを検索して得られたヒントを元に追加の作業を行いました。
Debian
PCにベースとなるDebianをネットワークインストールします。
SSH Serverをインストールしていくつか設定すると以降はSSHで操作できる。
それ以外は普通にインストールすれば良いので手順は省略します。
OpenMediaVault
インストール
OpenMediaVaultをインストールします。
DebianをインストールしたPCにroot
でログインして作業します。
まずはGNU PGをインストール。
apt install --yes gnupg
wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"
続いてaptで使用するOpenMediaVaultのリポジトリを設定。
cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb https://packages.openmediavault.org/public usul main
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul main
## Uncomment the following line to add software from the proposed repository.
# deb https://packages.openmediavault.org/public usul-proposed main
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul-proposed main
## This software is not part of OpenMediaVault, but is offered by third-party
## developers as a service to OpenMediaVault users.
# deb https://packages.openmediavault.org/public usul partner
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul partner
EOF
最後にOpenMediaVaultのインストール。
export LANG=C.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"
apt update && apt --yes --auto-remove --show-upgraded --allow-downgrades --allow-change-held-packages --no-install-recommends --option Dpkg::Options::="--force-confdef" --option DPkg::Options::="--force-confold" install openmediavault-keyring openmediavault
omv-confdbadm populate
設定
WebUIにアクセスします。
URLは http://インストールしたPCのIPアドレス
です。
初期ユーザーは admin
、初期パスワードは openmediavault
。
WebUIなので使い方はおそらく見れば分かると思うので省略します。
Active Directory対応
Active Directoryにメンバーサーバーとして参加させます。
以下の設定のActive Directoryに接続する。
項目 | 値 |
---|---|
レルム | AD.INAHO.SPACE |
ワークグループ | AD |
ドメインコントローラー | samba01-pi.ad.inaho.space |
ドメインDNS | 192.168.100.251 |
パッケージインストール
Active Directory接続に必要なパッケージをインストールします。
apt update && apt -y install krb5-user krb5-config winbind libnss-winbind libpam-winbind
ホスト名
WebUIの「システム」→「ネットワーク」→「一般」でホスト名とドメイン名を設定します。
DNS
WebUIの「システム」→「ネットワーク」→「インターフェース」でインターフェースのDNSと検索するドメインをActive Directoryのものにします。
SMB/CIFS
WebUIの「サービス」→「SMB/CIFS」→「設定」の「高度な設定」→「追加オプション」に下記内容を記述します。
realm = <レルム>
security = ads
idmap config * : range = 3000-9999
idmap config <ワークグループ> : backend = rid
idmap config <ワークグループ> : range = 10000-30000
winbind use default domain = Yes
winbind enum users = Yes
winbind enum groups = Yes
winbind nested groups = Yes
winbind expand groups = Yes
winbind refresh tickets = Yes
realm
の<レルム>
はActive Directoryのレルムを設定します。ここでは AD.INAHO.SPACE
。
idmap config
の<ワークグループ>
はActive Directoryのワークグループ(ここではAD
)を記述し、内容はActive Directoryの定義に合わせます。
その他の作業
ここからの作業はrootユーザーのシェルで行います。
/etc/login.defs
/etc/login.defs
を編集して、一般ユーザーのIDの範囲を設定します。
記述する値は環境によって異なるかもしれません。
:
#UID_MIN 1000
#UID_MAX 60000
UID_MIN 500
UID_MAX 60000000
:
#GID_MIN 1000
#GID_MAX 60000
GID_MIN 500
GID_MAX 60000000
:
/etc/nsswitch.conf
/etc/nsswitch.conf
を編集して、Winbindでユーザー/パスワードを解決し、DNSでホスト名を解決するように設定します。
passwd
と group
に winbind
を追記します。
また hosts
は files
のあとに dns
を記述します。
:
passwd: files systemd winbind
group: files systemd winbind
:
#hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
hosts: files dns mdns4_minimal [NOTFOUND=return]
:
/etc/krb5.conf
/etc/krb5.conf
を編集してケルベロス認証を出来るようにします。
[libdefaults]
default_realm = <レルム>
dns_lookup_realm = false
dns_lookup_kdc = true
Active Directory参加
Winbindを起動し、自動起動を有効にします。
systemctl start winbind
systemctl enable winbind
下記のコマンドを実行してActive Directoryに参加します。
kinit administrator
net ads join -k
再起動
最後に再起動します。
reboot
おわりに
この作業を経てOpenMediaVaultを家庭内Active Directoryに参加させられました。
最初はSSSDでActive Directoryに接続する方法を見かけて試したのですが、なぜかAndroidから共有にアクセス出来ずに悩みました。
ドメインコントローラーのシステム共有にはアクセス出来るのにOMVの共有にはアクセス出来ないので原因を調べたのですが、違いはSSSDかWinbindかだったので結局Winbindを使うことにしました。
ときどきOpenMediaVaultでドメインのユーザーとグループが見えなくなることがあるのですが、これはWinbindの再起動で直るからとりあえず良しとしておきます。
これでNASを便利に使えるようになったので、ファイルサーバー機能を中心に活用していこうと思います。