Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > MacOS连接Linux NFS服务器

MacOS实现连接Linux NFS服务器过程

作者:极客点儿

本文详细介绍了如何在Ubuntu服务器上设置NFS共享,并提供Mac客户端连接NFS服务的步骤,同时,还讨论了常见问题排查方法和insecure参数的作用,帮助用户更好地理解和配置NFS服务

Ubuntu 为例。

Ubuntu 服务器端设置

1. 进入 root 权限,安装 NFS 服务

apt-get update
apt-get install nfs-kernel-server

2. 创建共享目录

mkdir /data
chown nobody:nogroup /data
chmod 777 /data

3. 配置 /etc/exports 文件

 vi /etc/exports

添加:

/data 192.168.1.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

4. 重新加载 NFS 配置

exportfs -rav

5. 启动并检查 NFS 服务

systemctl restart nfs-kernel-server
systemctl enable nfs-kernel-server
systemctl status nfs-kernel-server

6. 检查共享目录

exportfs -v

Mac 客户端设置

在 Mac 中可以通过命令行和图形界面连接到 NFS 服务器。

1. 通过命令行 mount 挂载

mkdir ~/NFS
mount -t nfs 192.168.1.111:/data ~/NFS

2. 通过图形界面连接到 NFS 服务器

在 Mac 上,点击桌面菜单栏中的 前往 > 连接服务器。

在弹出的窗口中,在服务器地址栏输入以下内容:

3. 自动挂载

打开 /etc/fstab:

vi /etc/fstab

添加:

192.168.1.100:/data /Users/your_username/NFS nfs rw,auto,nofail 0 0

即可!

常见问题排查

1. 权限不足

2. 防火墙问题

在 Ubuntu 上允许 NFS 服务通过防火墙:

ufw allow from 192.168.1.0/24 to any port nfs
ufw allow from 192.168.2.0/24 to any port nfs

3. 挂载失败

4. 多个子网

如果客户端所属多个子网网段,需将每个网段都写上.

/data 192.168.1.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
/data 192.168.2.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

5. insecure 参数未配置

如果 MacOS 访问不到,切记需要将 insecure 参数加上。这个问题很多同学都遇到过,可以展开详细的说说。

insecure 的作用

insecure 是 macOS 挂载 NFS 时的关键配置,特别是使用 Finder 挂载。如果没有这个选项,macOS 使用的高端口会被服务器拒绝,从而导致挂载失败。

默认情况下,NFS 服务器只接受从 特权端口(小于1024) 发起的连接。这是因为只有 root 用户能够使用特权端口,从而防止普通用户模拟特权连接。

添加 insecure 后,NFS 服务器会接受来自 非特权端口(大于1024) 的连接。这是为了兼容一些客户端(例如 macOS Finder)在非特权端口发起的请求。

insecure 的潜在安全问题

绕过端口限制:

暴露于恶意客户端:

结合其他不安全配置的风险:

何时使用 insecure 是可以接受的?

在以下场景中,insecure 是可以接受的:

内部网络环境:

兼容特定客户端:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文