20048 端口是什么
20048 是 Linux NFS 服务端挂载守护进程惯用的固定端口,TCP 与 UDP 都用它。它负责处理挂载协商与导出表查询,也就是挂载请求与导出查询走的地方。NFS 还依赖 rpcbind 做端口查询,如果只放通 2049 与 111 而漏掉它,客户端挂载会直接卡死。
基本信息
| 服务 | NFS mountd(发行版常用 20048) |
|---|---|
| 协议 | TCP 与 UDP,基于 RPC |
| 用途 | 挂载协商与导出表查询 |
| 依赖 | rpcbind 提供端口查询 |
| 相关端口 | 111 rpcbind、2049 nfs、状态与锁相关端口 |
| 安全等级 | 仅受信网段,建议启用 Kerberos |
想用固定端口过防火墙怎么办
NFS 是一组 RPC 服务,各组件默认从随机高位端口启动,重启后端口可能变化。要让防火墙规则长期有效,需要把挂载、状态与锁相关组件的端口全部钉住,只钉一个是不够的,剩下那些仍会在重启后漂移。
典型使用场景
- 挂载卡死排查:先确认挂载守护端口与 rpcbind 是否放通,再检查网络层。
- 防火墙规则设计:把 RPC 相关端口成组规划,避免每次故障都靠试错定位。
- 服务端加固:导出默认按来源地址信任,应配合 Kerberos 与网段限制。
- 版本兼容核对:不同 NFS 版本对端口依赖不同,先确认版本再改策略。
- 存储故障定位:区分挂载阶段超时与数据读写阶段超时,两者指向不同组件。
核对
核对
rpcinfo -p nfs01 | grep -E 'mountd|nfs|status' # 查看各 RPC 服务实际端口
showmount -e nfs01 # 列出导出目录
exportfs -v # 服务端导出详情
ss -lntup | grep -E ':(111|2049|20048)\b' # 本机相关端口监听
grep -iE 'port' /etc/nfs.conf 2>/dev/null | head # 固定端口配置线索输出逐列读法
| 列 | 含义 | 判读 |
|---|---|---|
| program 与 port | RPC 程序号与端口 | 挂载超时时重点核对挂载与状态组件的端口是否与防火墙规则一致 |
| proto | 协议 | TCP 与 UDP 都需放通,只放一侧仍可能失败 |
| State | 监听状态 | 服务端监听正常不代表客户端可达,需从客户端侧实测 |
NFS 客户端挂起时现象很像网络中断,但网络层往往是通的,问题出在被拦的 RPC 端口上。先从客户端侧做一次端口查询,再决定改策略。
建议把挂载参数与端口配置固化在配置管理中,避免重启后端口漂移导致规则失效;这类问题通常要到下一次重启才暴露。