安装前防火墙必须把相关的端口放行!
1.服务端
要配置NFSv4,在Linux系统中,需要进行以下步骤:
安装NFS服务器软件:
sudo apt-get install nfs-kernel-server
配置导出目录:
编辑NFS服务器的导出配置文件(/etc/exports),指定要共享的目录和访问权限。每行配置表示一个共享目录,可以使用以下语法:
/path/to/directory client(options)
其中,/path/to/directory是要共享的目录路径,client是允许访问该目录的客户端IP地址或主机名,options是NFSv4特定的选项。例如:
/nfs 10.8.0.1(rw,no_root_squash,no_subtree_check,sync,fsid=1)
创建共享文件夹:
sudo mkdir -p /nfs
重新加载导出配置:
执行以下命令以重新加载导出配置并使其生效:
sudo exportfs -ra
启动NFS服务:
启动NFS服务器服务以开始共享文件系统。根据不同的Linux发行版,可以使用以下命令启动NFS服务器服务:
sudo systemctl start nfs-kernel-server
2.客户端
安装NFS客户端软件:
sudo apt-get install nfs-common
创建本地挂载点:
在客户端上创建一个目录,作为NFS共享的挂载点。例如,创建一个名为/mnt/nfs
的目录:
sudo mkdir -p /nfs
挂载NFS共享:
使用mount
命令挂载NFS共享。在命令中指定NFS服务器的IP地址或主机名,以及要挂载的共享路径和本地挂载点。以下是挂载命令的示例:
sudo mount -t nfs server:/shared /mnt/nfs
其中,server
是NFS服务器的IP地址或主机名,/shared
是NFS共享的路径,/mnt/nfs
是本地挂载点。
验证挂载:
执行挂载命令后,可以使用df -h
命令检查挂载是否成功。在命令的输出中,应该能够看到NFS共享已经挂载到指定的本地挂载点。
现在,你应该能够在客户端上访问和操作挂载的NFS共享了。请注意,如果你希望在系统启动时自动挂载NFS共享,可以将挂载命令添加到客户端的/etc/fstab
文件中。这样,系统在启动时会自动执行挂载操作。
进阶设置 :wireguard加密
wireguard服务端
安装
sudo apt install wireguard
将wireguard
模块插入内核
sudo modprobe wireguard
生成密钥对
wg genkey | tee privatekey | wg pubkey > publickey
设置配置文件
在/etc/wireguard/下新建wgNFS.conf文件,然后粘贴如下配置:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <服务端私钥>
# client1
[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.8.0.2/32
启动
sudo wg-quick up wgNFS
wireguard客户端
客户端前三步同上
设置配置文件
在/etc/wireguard/下新建wgNFS.conf文件,然后粘贴如下配置:
[Interface]
Address = 10.8.0.2/24
PrivateKey = <客户端私钥>
[Peer]
PublicKey = <服务端公钥>
Endpoint = <wireguard服务端VPS的公网IP>:51820
AllowedIPs = 10.8.0.0/24
启动
sudo wg-quick up wgNFS
NFS只开启V4版本所需修改
打开/etc/default/nfs-kernel-server文件
添加如下内容
RPCNFSDOPTS="-N 2 -N 3"
修改如下内容
RPCMOUNTDOPTS="--manage-gids -N 2 -N 3 -H 10.8.0.1"
开机自启
wireguard
sudo systemctl enable wg-quick@wgNFS.service
NFS
打开/etc/fstab文件,添加如下内容:
10.8.0.1:/nfs /nfs nfs vers=4.2,_netdev,noauto,x-systemd.automount,x-systemd.requires=wg-quick@wgNFS.service
最后重启就ok了
手动挂载卸载NFS命令
挂载:
sudo mount -t nfs -o vers=4.2 10.8.0.1:/nfs /nfs
卸载:
sudo umount -f /nfs
查看挂载信息:
mount | grep nfs