差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
软件:nfs [2025/09/01 18:12] – admin | 软件:nfs [2025/09/05 01:40] (当前版本) – admin | ||
---|---|---|---|
行 1: | 行 1: | ||
- | 网络文件系统,英文 | + | 网络文件系统(Network File System, NFS)是允许通过网络远程访问文件系统的协议。属于一种分布式文件系统协议。 |
- | 安装 | + | NFS协议必须限制为受信任的本地网络,因为数据在网络上不加密地传递,并且基于客户端的 IP 地址来授予访问权限。可通过嗅探程序进行拦截到,欺骗来获取到访问权限。 |
- | <code -> | + | 不使用Kerberos安全认证,需确保只允许使用NFS的设备连接到所需的设备。 |
+ | RPC服务器上是至关重要的,因为基本协议信任从网络接收到的数据。防火墙也必需阻挡IP嗅探,从而防止外部机器作为内部的机器工作,并且对适当端口的访问必须被限制给有意访问NFS共享的机器。 | ||
+ | |||
+ | RPC(Remote Procedure Call, 远程过程调用),用于在不同的计算机或进程之间进行通信和调用远程方法,一种通信协议。服务注册到一个portmapper的目录。执行NFS查询的客户端首先处理portmapper(在端口111,TCP或UDP),并查询NFS服务器;回复默认端口2049。不是所有的RPC服务有必要使用固定的端口。 | ||
+ | |||
+ | 在较新的NFS版本(如NFSv4)中,rpcbind并不是严格必需的,因为NFSv4使用了TCP作为传输协议,并且直接通过端口2049进行通信,不需要rpcbind来映射RPC(远程过程调用)服务到动态端口。然而,在某些情况下或使用旧版本的NFS时,rpcbind仍然是必要的。 | ||
+ | |||
+ | 功能 | ||
+ | |||
+ | 文件共享:允许多个客户端访问和使用存储在中央服务器上的文件。 | ||
+ | |||
+ | 透明性:对用户来说,访问远程文件系统与访问本地文件系统几乎没有区别。 | ||
+ | |||
+ | 分布式文件系统:支持多个客户端同时读写同一个文件系统,适合需要协作的工作环境。 | ||
+ | |||
+ | 原理 | ||
+ | |||
+ | NFS基于客户端-服务器架构,其中服务器共享一个或多个目录(称为“导出”),而客户端可以挂载这些共享目录并像操作本地文件一样进行操作 | ||
+ | |||
+ | 组件 | ||
+ | |||
+ | NFS服务器:导出(export)文件系统,使其在网络上可用。管理文件系统的访问权限。 | ||
+ | |||
+ | NFS客户端:挂载远程文件系统,使其在本地可见。执行文件操作(如读、写、删除等)并通过网络与服务器通信。 | ||
+ | |||
+ | RPC(Remote Procedure Call,远程过程调用):NFS依赖RPC机制来实现客户端和服务器之间的通信。对于NFSv4及以上版本,RPC不是必须的,因为它们使用固定的端口(2049)进行通信。 | ||
+ | |||
+ | Kerberos(验证), | ||
+ | |||
+ | 部署安装 | ||
+ | |||
+ | <code -> | ||
# | # | ||
# | # | ||
行 46: | 行 77: | ||
# | # | ||
umount /mnt/nfs | umount /mnt/nfs | ||
- | |||
</ | </ | ||
+ | <code -> | ||
+ | sudo apt install krb5-kdc krb5-admin-server | ||
- | < | ||
sudo mount -t nfs -o vers=4, | sudo mount -t nfs -o vers=4, | ||
sudo mount -t nfs -o vers=3, | sudo mount -t nfs -o vers=3, | ||
</ | </ | ||
+ | |||