使用NFS时在防火墙上要开放的端口

在设置了防火墙的环境中使用NFS,需要在防火墙上打开如下端口:

1. portmap 端口 111 udp/tcp;
2. nfsd 端口 2049 udp/tcp;
3. mountd 端口 "xxx" udp/tcp
系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口:
# vi /etc/services
在末尾添加
mountd 1011/udp
mountd 1011/tcp
保存该文件
# stopsrc -s rpc.mountd
# startsrc -s rpc.mountd
# exportfs -a
# rpcinfo -p Hostname
现在我们会发现 mountd已经和端口 1011绑定了。

另外,nfs中需要通讯的服务还有 rpc.lockd和 rpc.statd,其中对lockd我们可以用类似的方法来指定固定端口,
# vi /etc/services
添加
lockd 35000/ucp
lockd 35000/tdp
# stopsrc -s rpc.lockd
# startsrc -s rpc.lockd
# exportfs -a
nfs客户端mount文件系统
# rpcinfo -p Hostname

但 rpc.statd无法通过该方法来指定端口,它只能使用随机端口,如有必要,在防火墙上要根据下面命令的显示来开放随机端口:

# no -a |grep ephemeral
tcp_ephemeral_high = 65535
tcpp_ephemeral_low = 32768
udp_ephemeral_high = 65535
udp_ephemeral_low = 32768

当然也可以不开放 rpc.statd需要的随机端口,带来的影响就是如果 nfs连接中断(比如server或client宕掉了),系统将无法通过statd来恢复连接中断前的状态,而必须重新 mount该nfs文件系统。

有关statd的详细功能说明,请参阅 http://publib.boulder.ibm.com/infocenter/
pseries/v5r3/topic/com.ibm.aix.cmds/doc/aixcmds5/statd.htm

### IMX 平台安装和配置 NFS 方法 #### 安装 NFS 服务端与客户端软件包 为了使IMX平台能够作为NFS服务器或者客户端工作,需要先确保已经安装了必要的软件包。对于Ubuntu环境而言,在目标机器上可以通过如下命令来完成NFS客户端工具的安装[^2]: ```bash sudo apt update && sudo apt install nfs-common -y ``` 如果计划让IMX设备充当NFS服务器,则还需要额外安装`nfs-kernel-server`包。 #### 配置 NFS 服务器 在Ubuntu主机侧(假设为主机),编辑 `/etc/exports` 文件定义哪些共享目录可以被远程访问以及相应的权限设置。例如,允许特定子网内的所有设备读写位于`/srv/nfs4/imx6ull`下的资源: ```plaintext /srv/nfs4/imx6ull *(rw,sync,no_subtree_check) ``` 保存更改并重启NFS服务以应用新的导出表项: ```bash sudo systemctl restart nfs-kernel-server.service ``` 验证NFS服务已成功启动可通过ps命令检查进程状态[^3]。 #### 设置防火墙规则 确保防火墙开放NFS所需的服务端口,默认情况下包括TCP/UDP协议上的111 (rpcbind), 2049 (NFS)以及其他动态分配给RPC调用使用的高编号端口范围。这一步骤取决于具体的Linux发行版本及其预设的安全策略。 #### 挂载 NFS 导出的文件系统到 IMX 设备 针对IMX系列ARM架构处理器所设计的开发板来说,当尝试从较新版本的操作系统如Ubuntu 20.04及以上向其提供NFS服务可能会遇到兼容性问题,因为这些OS默认启用了更高版本的NFS协议而老款硬件可能仅支持v2/v3标准[^4]。因此建议显式指明要使用NFS版本号: ```bash mount -t nfs -o nolock,vers=3 <server_ip>:/path/to/export /mnt/localpoint/ ``` 上述指令中使用了`-t nfs`参数指定挂载的是一个网络文件系统;同通过`-o`附加选项设置了禁用锁机制(`nolock`)及强制采用第三版传输语法(`vers=3`)[^5]。 #### 测试连接稳定性 最后利用简单的C语言程序或者其他方式编写一个小的应用来进行基本的功能测试,比如创建、删除文件或是执行可执行二进制文件等操作,以此确认整个过程无误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值