サイトアイコン IT NEWS

Ubuntuで自宅サーバー構築!【ストレージ(ファイル)サーバー編】

ubuntu-storage-server

話を元に戻して、Ubuntu自宅サーバー構築の連載を再開します!
今回は、Linux間でディレクトリ共有するための「NFSサーバー」とLinuxWindows間でディレクトリ共有するための「Sambaサーバー」の2種類のストレージサーバーのご紹介です!

NFSサーバーの構築

NFSサーバー

任意のディレクトリを各Linuxサーバー間で共有できるようにNFSサーバーを構築します。
ここではディレクトリではなく、予めサーバーに増設してマウントしたHDDを共有します。
例のごとく、ここからの手順は全てroot権限で行ってください。

NFSサーバーのインストールと設定

まずはストレージサーバー側にnfs-kernel-serverパッケージをインストールします。

# apt -y install nfs-kernel-server

次に、ドメイン名を設定する場合は、以下の設定ファイルを変更してください。
IPアドレスで管理する場合は省略可

# vi /etc/idmapd.conf
・・・
Domain = example.com
・・・

そして、以下の設定ファイルの末尾にマウント設定を追加します。

# vi /etc/exports
・・・
/mnt/nas 192.168.100.0/24(rw,no_root_squash)

設定が完了したら、保存してNFSサーバー再起動します。

# systemctl restart nfs-server

とても簡単ですが、これで完了です!
括弧内のオプションの詳細については参考サイトをご覧ください。

注意点・小ネタ

もちろんですが、上記の例では/mnt/nasディレクトリが存在する前提です。
無ければ以下のように作成しておきます。

# mkdir /mnt/nas

あと、ファイルディレクトリアクセス権限パーミッション)も確認しておきましょう。
必要に応じて以下のように変更しましょう。

# chmod -R XXX /mnt/nas
# chown -R XXX:YYY /mnt/nas

最後にファイアウォールを有効にしている場合は、2049ポートを開放してあげます。
NFSサーバーの設定と同じように、特定のセグメントからのみ受け付ける場合は以下のように設定します。

# ufw allow nfs (←2049)

もっと厳密に設定したい場合は【ufw(ファイアウォール)編】をご参照ください。

本記事では、前回書き切れなかったファイアウォールの設定方法について詳しくご紹介します。今まで著者が利用していたCentOSでは、iptablesもしくはfirewalldを使用していましたが、Ubuntuではufwを使用します。何れも設定方法が異なるので、最初は設定し辛く感じましたが、慣れればわかりやすくて簡単です。ufwの初期設定Ubuntu 20.04(LTS)ではデフォルトでufwが入っていますが、初期状態では何でも通す、いわゆる無効な状態になっているはずです。これではセキュリティ的によろしくないので、まずは状態を確認してみましょう。※前...
Ubuntuで自宅サーバー構築!【ufw(ファイアウォール)編】 - Minory

NFSクライアントのインストールと設定

NFSクライアントから、NFSサーバーで設定した共有ディレクトリマウントします。
ここでは上記で記載したドメイン名の設定を省略します
クライアント側にはnfs-commonパッケージをインストールします。

# apt -y install nfs-common

インストールができたら、早速マウントしてみましょう。

# mount -t nfs 192.168.100.100:/mnt/nas /home/share

上記のコマンド例を実行して/home/shareの中を確認すると、NFSサーバー/mnt/nas共有されているのがわかるはずです。
しかし、これではクライアント側を再起動すると、アンマウントされてしまいますので、恒常的マウントするために/etc/fstabの設定を追記します。

# vi /etc/fstab
・・・
192.168.100.100:/mnt/nas /home/share nfs defaults 0 0

これでクライアント側の設定も完了です。
お疲れ様でした!

Sambaサーバーの構築

Sambaサーバー

続きまして、同じディレクトリWindows系OSとも共有したいので、Sambaサーバーを構築していきます。
Windows特有のちょっと面倒くさい設定がありますので、最後までお読みください。
余談ですが、サーバーに増設したHDDが故障した場合、Windows端末で確認したいので、フォーマットNTFSにしています。

Sambaサーバーのインストールと設定

Sambaを利用して、Windowsとも共有できるファイルサーバーを構築します。
ユーザー認証が面倒なので、同じネットワーク内なら認証不要で読み書き可能なフルアクセス共有ディレクトリを設定します。
まずはファイルサーバー側にSambaパッケージをインストールします。

# apt -y install samba

次に、先程は必要に応じてと書きましたが、フルアクセスを許可したいので共有するディレクトリアクセス権限パーミッション)を変更します。

# chmod -R 777 /mnt/nas

それから、Sambaの設定ファイルを開いて、以下の設定の編集を行います。

# vi /etc/samba/smb.conf
・・・
[global]
   unix charset = UTF-8
   dos charset = CP932
・・・
   workgroup = WORKGROUP
・・・
   interfaces = 127.0.0.0/8 192.168.100.0/24
・・・
   map to guest = bad user
・・・
[share]
   path = /mnt/nas
   writable = yes
   guest ok = yes
   guest only = yes
   force create mode = 777
   force directory mode = 777

設定が完了したら、保存してSambaサーバーを再起動します。

# systemctl restart smbd

ファイルサーバー側の設定は以上で完了です。
設定の詳細については参考サイトをご覧ください。

注意点・小ネタ

workgroupクライアントWindows)側で実際に設定されているワークグループを設定してください。(デフォルトはWORKGROUP
interfacesにはアクセスを許可したいIPのセグメント(サブネットも)を半角スペース区切りで追加します。
VPN等で接続する場合はそのセグメントも忘れずに追記しておきましょう。

ある日、外出先からWindows端末からVPNで自宅のLANに接続し、Sambaの共有フォルダにアクセスしてみました。いつもはVPN接続した後に、リモートデスクトップで自宅のパソコンを操作していたので気付かなかったのですが、VPNで同じネットワーク内にいるはずなのに、Sambaを入れたファイルサーバーにアクセスできませんでした。結果、原因は単純でした。忘れないようにメモ。IPアドレスによるアクセス制限Sambaにはアクセスを許可するIPアドレスを指定する設定があります。具体的には、設定ファイルの「hosts allow」を見てみます。# vi /...
外部からVPN接続ではSambaのファイル共有はできない? - Minory

最後に、設定の中の[share]はそのまま共有ディレクトリ名になります。
次の項で少し説明します。

Sambaクライアント(Windows)の設定


Windowsでは、特にクライアントソフトをインストールすることなく共有ディレクトリにアクセスすることができます。
上記で共有ディレクトリを設定したので、エクスプローラアドレスバーに以下のように入力することでアクセスできます。

\2.168.100.100\share

ネットワークドライブに割り当てる方法はこちらをご参照ください。


ただし、Windows ServerSambaクライアントが必要なので注意してください。
およそ5年ぶりに自宅サーバーを新しくして、ESXiを6.5から7.0にバージョンアップ!さらに、仮想マシンもLinux系はCentOSからUbuntuへ。Windows系はWindows 10からWindows Server 2019に変更して再構築しました!しかし、Windows ServerからいつものようにSambaでファイルサーバーの共有フォルダへアクセスしたら、エラーが発生してアクセスできませんでしたので、その解決方法を記事にしたいと思います。原因最初はSMB Client等が入っていないのか、設定が間違っているのか、色々模索していましたが見当違いでしたw原因と解決方法はMic...
Windows ServerからゲストアカウントでSambaサーバーにアクセスできない - Minory

他にもディレクトリの共有方法として、FTPサーバー等もありますが、ここでは割愛させていただきます。
WebDAVサーバーについては、Webアプリケーションサーバーの記事でご紹介します!The post Ubuntuで自宅サーバー構築!【ストレージ(ファイル)サーバー編】 first appeared on Minory.

モバイルバージョンを終了