Ubuntu 18.04: What's New?
目次:
- 前提条件
- NFSサーバーをセットアップする
- NFSサーバーのインストール
- ファイルシステムの作成
- ファイルシステムのエクスポート
- ファイアウォール構成
- NFSクライアントをセットアップする
- NFSクライアントのインストール
- ファイルシステムのマウント
- NFSアクセスのテスト
- NFSファイルシステムのアンマウント
- 結論
ネットワークファイルシステム(NFS)は、ネットワーク経由でリモートディレクトリを共有できる分散ファイルシステムプロトコルです。 NFSを使用すると、システムにリモートディレクトリをマウントし、リモートファイルをローカルファイルであるかのように操作できます。
NFSプロトコルはデフォルトでは暗号化されておらず、Sambaとは異なり、ユーザー認証を提供しません。 サーバーへのアクセスは、クライアントのIPアドレスまたはホスト名によって制限されます。
このチュートリアルでは、Ubuntu 18.04でNFSv4サーバーをセットアップする方法について説明します。 また、クライアントにNFSファイルシステムをマウントする方法も示します。
前提条件
この例では、Ubuntu 18.04を実行しているサーバーと、他のLinuxディストリビューションを実行しているサーバーがあると想定しています。 サーバーとクライアントは、プライベートネットワークを介して相互に通信できる必要があります。 ホスティングプロバイダーがプライベートIPアドレスを提供していない場合、パブリックIPアドレスを使用し、サーバーファイアウォールを構成して、ポート
2049
トラフィックを信頼できるソースからのみ許可することができます。
この例のマシンには、次のIPがあります。
NFS Server IP: 192.168.33.10 NFS Clients IPs: From the 192.168.33.0/24 range
NFSサーバーをセットアップする
NFSサーバーをインストールして構成することから始めます。
NFSサーバーのインストール
パッケージインデックスを更新し、NFSサーバーパッケージをインストールします。
sudo apt update
sudo apt install nfs-kernel-server
インストールが完了すると、NFSサービスが自動的に開始されます。
デフォルトでは、Ubuntu 18.04ではNFSバージョン2は無効になっています。 バージョン3および4が有効になっています。 次の
cat
コマンドを実行することで確認できます。
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
NFSv2は現在かなり古く、有効にする理由はありません。
NFSサーバーの構成オプションは、
/etc/default/nfs-kernel-server
および
/etc/default/nfs-common
ファイルで設定されます。 この場合、デフォルト設定で十分です。
ファイルシステムの作成
NFSv4サーバーを構成する場合、グローバルNFSルートディレクトリを使用して、実際のディレクトリを共有マウントポイントにバインドマウントすることをお勧めします。 この例では、NFSルートとして
/srv/nfs4
ディレクターを使用します。
NFSマウントの構成方法をより適切に説明するために、異なる構成設定で2つのディレクトリ(
/var/www
および
/opt/backups
)を共有します。
/var/www/
はユーザーおよびグループ
www-data
によって所有され、
/opt/backups
は
root
によって所有されます。
mkdir
コマンドを使用してエクスポートファイルシステムを作成します。
sudo mkdir -p /srv/nfs4/backups
sudo mkdir -p /srv/nfs4/www
実際のディレクトリをマウントします。
sudo mount --bind /opt/backups /srv/nfs4/backups
sudo mount --bind /var/www /srv/nfs4/www
バインドマウントを永続的にするには、
/etc/fstab
ファイルを開きます。
sudo nano /etc/fstab
次の行を追加します。
/ etc / fstab
/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0
ファイルシステムのエクスポート
次の手順では、NFSサーバーによってエクスポートされるファイルシステム、共有オプション、およびそれらのファイルシステムへのアクセスを許可するクライアントを定義します。 これを行うには、
/etc/exports
ファイルを開きます。
sudo nano /etc/exports
/etc/exports
ファイルには、ディレクトリのエクスポート方法を説明するコメントも含まれています。
この場合、
www
および
backups
ディレクトリをエクスポートし、
192.168.33.0/24
ネットワーク上のクライアントからのみアクセスを許可する必要があります。
/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)
最初の行には、NFSルートディレクトリ
/srv/nfs
を定義する
fsid=0
が含まれています。 このNFSボリュームへのアクセスは、
192.168.33.0/24
サブネットからのクライアントにのみ許可されます。
crossmnt
オプションは、エクスポートされたディレクトリのサブディレクトリであるディレクトリを共有するために必要です。
2行目は、1つのファイルシステムに複数のエクスポートルールを指定する方法を示しています。
/srv/nfs4/backups
ディレクトリをエクスポートし、
192.168.33.0/24
範囲全体への読み取りアクセスと、
192.168.33.0/24
への読み取りと書き込みの両方のアクセスのみを許可します。
sync
オプションは、応答する前にディスクに変更を書き込むようNFSに指示します。
最後の行は一目瞭然です。 利用可能なすべてのオプションの詳細については、端末で
man exports
してください。
ファイルを保存して共有をエクスポートします。
sudo exportfs -ra
/etc/exports
ファイルを変更するたびに、上記のコマンドを実行する必要があります。 エラーまたは警告がある場合、それらは端末に表示されます。
現在アクティブなエクスポートとその状態を表示するには、次を使用します。
sudo exportfs -v
出力には、すべての共有とそのオプションが含まれます。 ご覧のとおり、
/etc/exports
ファイルで定義していないオプションもあります。 これらはデフォルトのオプションであり、変更する場合はそれらのオプションを明示的に設定する必要があります。
/srv/nfs4/backups 192.168.33.3(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(rw, wdelay, crossmnt, root_squash, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(ro, wdelay, root_squash, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)
Ubuntuでは、
root_squash
はデフォルトで有効になっています。 これは、NFSセキュリティに関する最も重要なオプションの1つです。 クライアントから接続されたrootユーザーが、マウントされた共有に対するroot権限を持つことを防ぎます。 ルート
UID
と
GID
を
nobody
/
nogroup
UID
/
GID
マップします。
クライアントマシン上のユーザーがアクセスできるようにするために、NFSはクライアントのユーザーIDとグループIDがサーバー上のユーザーと一致することを期待しています。 別のオプションは、ユーザーIDとグループIDを名前に変換するNFSv4 idmapping機能を使用することです。
それでおしまい。 この時点で、UbuntuサーバーにNFSサーバーをセットアップしました。 これで、次のステップに進み、クライアントを構成してNFSサーバーに接続できます。
ファイアウォール構成
UFW
を使用してファイアウォールを管理し、
192.168.33.0/24
サブネットからのアクセスを許可すると仮定すると、次のコマンドを実行する必要があります。
sudo ufw allow from 192.168.33.0/24 to any port nfs
変更を検証するには:
sudo ufw status
出力には、ポート
2049
のトラフィックが許可されていることが示されます。
To Action From -- ------ ---- 2049 ALLOW 192.168.33.0/24 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
NFSクライアントをセットアップする
NFSサーバーがセットアップされ、共有がエクスポートされたので、次のステップでクライアントを構成し、リモートファイルシステムをマウントします。
NFS共有をmacOSおよびWindowsマシンにマウントすることもできますが、Linuxシステムに焦点を当てます。
NFSクライアントのインストール
クライアントマシンには、リモートNFSファイルシステムのマウントに必要なツールのみをインストールする必要があります。
-
DebianおよびUbuntuにNFSクライアントをインストールする
DebianベースのディストリビューションにNFSファイルシステムをマウントするためのプログラムを含むパッケージの名前は
nfs-common
です。 インストールするには、次を実行します。sudo apt update
sudo apt install nfs-common
CentOSおよびFedoraにNFSクライアントをインストールする
Red Hatおよびその派生製品では、
nfs-utils
パッケージをインストールします。sudo yum install nfs-utils
ファイルシステムのマウント
/srv/nfs4/www
ファイルシステムへの読み取りおよび書き込みアクセスと、
/srv/nfs4/backups
ファイルシステムへの読み取り専用アクセスを持つIP
192.168.33.110
クライアントマシンで作業します。
マウントポイント用に2つの新しいディレクトリを作成します。 このディレクトリは任意の場所に作成できます。
sudo mkdir -p /backups
sudo mkdir -p /srv/www
mount
コマンドを使用して、エクスポートされたファイルシステムを
mount
ます。
sudo mount -t nfs -o vers=4 192.168.33.10:/backups /backups
sudo mount -t nfs -o vers=4 192.168.33.10:/www /srv/www
ここで、
192.168.33.10
はNFSサーバーのIPです。 IPアドレスの代わりにホスト名を使用することもできますが、クライアントマシンで解決可能である必要があります。 これは通常、ホスト名を
/etc/hosts
ファイルのIPにマッピングすることにより行われます。
NFSv4ファイルシステムをマウントする場合、NFSルートディレクトリを省略する必要があるため、
/srv/nfs4/backups
代わりに
/srv/nfs4/backups
を使用する必要があります。
mountまたは
df
コマンドを使用して、リモートファイルシステムが正常にマウントされていることを確認します。
df -h
このコマンドは、マウントされているすべてのファイルシステムを印刷します。 最後の2行はマウントされた共有です。
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 38G 1.7G 36G 5% / devtmpfs 236M 0 236M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 4.5M 240M 2% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup /dev/sda2 1014M 87M 928M 9% /boot tmpfs 49M 0 49M 0% /run/user/1000 192.168.33.10:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.10:/www 9.7G 1.2G 8.5G 13% /srv/www
再起動時にマウントを永続的にするには、
/etc/fstab
ファイルを開きます。
sudo nano /etc/fstab
次の行を追加します。
/ etc / fstab
192.168.33.10:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.10:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0
NFSファイルシステムをマウントするときに使用可能なオプションに関する詳細を検索するには、ターミナルで
man nfs
します。
リモートファイルシステムをマウントする別のオプションは、
autofs
ツールを使用するか、systemdユニットを作成することです。
NFSアクセスのテスト
各ファイルに新しいファイルを作成して、共有へのアクセスをテストしましょう。
まず、
touch
コマンドを使用して
/backups
ディレクトリにテストファイルを作成してみます。
sudo touch /backups/test.txt
/backup
ファイルシステムは読み取り専用としてエクスポートされ、予想どおり、
Permission denied
エラーメッセージが表示
Permission denied
ます。
touch: cannot touch '/backups/test': Permission denied
次に、
sudo
コマンドを使用して、ルートとして
/srv/www
ディレクトリにテストファイルを作成してみます。
sudo touch /srv/www/test.txt
再度、
Permission denied
メッセージが表示
Permission denied
ます。
touch: cannot touch '/srv/www': Permission denied
リモートサーバーと同じ
UID
と
GID
を持つクライアントマシンで
www-data
使用していると仮定すると(たとえば、両方のマシンにnginxをインストールした場合)、ユーザーとしてファイルを作成するためにテストできます。
www-data
with:
sudo -u www-data touch /srv/www/test.txt
コマンドは出力を表示しません。これは、ファイルが正常に作成されたことを意味します。
これを確認するには、
/srv/www
ディレクトリー内のファイルをリストします。
ls -la /srv/www
出力には、新しく作成されたファイルが表示されます。
drwxr-xr-x 3 www-data www-data 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 www-data www-data 0 Jun 23 21:58 index.html -rw-r--r-- 1 www-data www-data 0 Jun 23 22:18 test.txt
NFSファイルシステムのアンマウント
sudo umount /backups
マウントポイントが
/etc/fstab
ファイルで定義されている場合は、行を削除するか、行の先頭に
#
を追加してコメント化してください。
結論
このチュートリアルでは、NFSサーバーをセットアップする方法と、クライアントマシンにリモートファイルシステムをマウントする方法を示しました。 実稼働環境でNFSを実装し、賢明なデータを共有している場合は、Kerberos認証を有効にすることをお勧めします。
NFSの代わりに、SSHFSを使用して、SSH接続を介してリモートディレクトリをマウントできます。 SSHFSはデフォルトで暗号化されており、設定と使用がはるかに簡単です。
ご質問がある場合は、コメントをお気軽にお寄せください。
ubuntu nfsマウントターミナルファーストルック:Ubuntu 7.10デスクトップLinux

「Gutsy Gibbon」リリースは、フラッシュと機能をもたらし、デスクトップLinuxのリーダーとしてUbuntuをリードしています。 Webサイトやデータベースを実行するためのLinuxディストリビューションの選択は簡単です。 Linuxは長年にわたってサーバをうまく処理してきました。しかし、デスクトップ上でLinuxを正しく利用することは常に困難でした。そのため、Ubuntuは3年前に初めて登場したときにこのような話題を呼びました。 Ubuntuバージョン7.10(コードネームGutsy Gibbon)は、グラフィクスの改善、ソフトウェアインストールの簡素化、およびソフトウェアのマイナーな改良など、過去の成功を基盤にしています。
デスクトップLinux Face-Off:Ubuntu 8.04対Fedora 9

世界最大の2つの新バージョンLinuxのディストリビューションが勢ぞろいしています。彼らはどのようにマッチするのですか?
Ubuntu 9.04 Beta:クイックルック

Ubuntu Jaunty Jackalopeの予定されたベータ版が到着しました。ここでは、どのように形作っているかを見ていきます。