NFS配置失败主因是rpcbind与nfs启动顺序错误、防火墙阻断111/2049等端口、/etc/exports权限写法不规范(如IP段误用*、括号空格、未执行exportfs -r)。
NFS 配置失败,八成卡在 RPC 启动顺序、防火墙端口或权限写法上 —— 不是服务没起,而是它根本没注册成功。
rpcbind 和 nfs 服务必须按顺序启动
NFS 依赖 RPC 注册端口,
必须先于
启动,否则
会报
。
先停掉两个服务:
再严格按序启动:
验证注册是否成功:
应该能看到
、
、
等条目,且端口非 0
CentOS 7+ 默认用
管理,但旧脚本(如
)可能绕过依赖检查,导致顺序错乱
/etc/exports 的权限写法容易踩坑
看似简单的配置行,实际每个字段都影响挂载成败。常见错误是把 IP 段写成
或漏掉括号。
客户端地址必须是 CIDR(如
)、单 IP(如
)或主机名,不支持通配符
单独使用
权限选项必须用小括号包裹,且中间不能有空格:
✅;
❌
危险:客户端 root 写入会直接映射为服务端 root,生产环境慎用;默认
更安全
改完后必须运行
生效,仅重启服务不够 —— 这步常被跳过
客户端 mount 失败时先查端口连通性
报错
,基本等于“防火墙拦住了”,不是网络不通。
Trae linux
Trae Linux 官方版本现已全面上线,开发者可直接访问 Trae 官网(trae.cn 国内版或 trae.ai 国际版)获取专属安装包。该版本完美适配主流 Linux 发行版,提供 .deb(适配 Ubuntu/Debian)、.rpm(适配 RHEL/Fedora)以及通用 .tar.gz 格式,并全面支持 x64 与 ARM64 架构。
下载
NFSv4 只需开放 TCP 2049,但 NFSv3 还要放开
(111)、
、
等动态端口
最稳妥方式:用
查出所有端口,再在服务端防火墙放行;或临时关防火墙验证(
)
挂载命令别漏协议版本:
比默认 v3 更简洁、端口更固定
加
避免挂载卡死,尤其跨网段或高延迟链路
/etc/fstab 自动挂载要注意超时和依赖
直接写进
的 NFS 条目,系统启动时若网络未就绪或服务未响应,会导致开机卡在挂载阶段。
必须加
选项,告诉 systemd 等网络就绪后再挂载:
避免用
—— 它隐含
模式,一旦服务端宕机,进程会永久阻塞在
或
测试 fstab 条目前,先手动
,看是否报错;不要等重启才发现挂载失败
如果服务端可能离线,建议改用 automount(
),按需挂载,更健壮
真正麻烦的从来不是配置本身,而是 RPC 注册状态看不见、防火墙规则摸不着、fstab 里一个选项就能让系统启动卡住 —— 这些点不提前验,排障时间翻倍。
/etc/exportsrpcbindnfsshowmount -eclnt_create: RPC: Program not registeredsystemctl stop nfs rpcbindsystemctl start rpcbind && systemctl start nfsrpcinfo -p localhostnfsmountdnlockmgrsystemdservice nfs restart192.168.1.*192.168.1.0/24192.168.1.100*/home/nfs 192.168.1.0/24(rw,sync,no_subtree_check)/home/nfs 192.168.1.0/24 (rw, sync)no_root_squashroot_squashexportfs -rclnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)rpcbindmountdnlockmgrrpcinfo -p 服务器IPsystemctl stop firewalldmount -t nfs4 服务器:/path /mnt-o soft,timeo=10,retrans=3/etc/fstab_netdev192.168.1.100:/home/nfs /mnt nfs defaults,_netdev,soft,timeo=10 0 0defaultshardlsdfmount -aautofs