Ubuntu 之间配置 NFS 共享

两台 Ubuntu 之间共享目录,用 NFS 最省事。下文假设:

  • NFS 服务端 IP:192.168.1.1
  • 客户端 IP:192.168.1.100
  • 共享目录:/srv/nfs_share

服务端

1. 安装 NFS 服务

1
2
sudo apt update
sudo apt install nfs-kernel-server

2. 准备共享目录

1
2
sudo mkdir -p /srv/nfs_share
sudo chown nobody:nogroup /srv/nfs_share

3. 配置共享

编辑 /etc/exports:

1
sudo nano /etc/exports

加入一行,把目录共享给客户端:

1
/srv/nfs_share 192.168.1.100(rw,sync,no_subtree_check)

想让整个网段都能访问,可以把 IP 换成 192.168.1.0/24。

4. 让配置生效

1
2
sudo exportfs -a
sudo systemctl restart nfs-kernel-server

5. 防火墙(如果开了 UFW)

1
sudo ufw allow from 192.168.1.0/24 to any port nfs

如果 UFW 原本没开,不要急着 sudo ufw enable:没先放行 SSH 的话,执行完会直接把自己的 SSH 连接断掉。要开的话先执行 sudo ufw allow ssh。

客户端

1. 安装 NFS 客户端

1
2
sudo apt update
sudo apt install nfs-common

2. 挂载

1
2
sudo mkdir -p /mnt/nfs_share
sudo mount 192.168.1.1:/srv/nfs_share /mnt/nfs_share

3. 开机自动挂载

在 /etc/fstab 末尾加一行:

1
192.168.1.1:/srv/nfs_share /mnt/nfs_share nfs defaults 0 0

验证

在客户端试着建个文件,没报错就说明能读写:

1
sudo touch /mnt/nfs_share/testfile

上面的配置只适合家里的局域网。要在不可信的网络里用,记得收紧 /etc/exports 里的 IP 范围和权限。