Linux NFS配置固定端口[通俗易懂]

Linux NFS配置固定端口[通俗易懂]需求介绍 生产上想要利用 NFS 实现共享 由于生产规则防火墙仅开放了 22 端口 此时我们需要开启 NFS 服务端口 但是 NFS 启动时会随机启动多个端口并向 RPC 注册 为了设置安全组以及防火墙规则 此时就需要设置 NFS 固定端口 NFS 服务需要开启 mountd nfs nlockmgr portmapper rquotad 这 5 个服务 其中 nfs portmapper 的端口是固定的

需求介绍:

生产上想要利用NFS实现共享,
由于生产规则防火墙仅开放了22端口,此时我们需要开启NFS服务端口

但是NFS启动时会随机启动多个端口并向RPC注册.
为了设置安全组以及防火墙规则,此时就需要设置NFS固定端口。
NFS服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务.
其中nfs、portmapper的端口是固定的.
另外三个服务的端口是随机分配的.
所以需要给mountd,nlockmgr,rquotad设置固定的端口。

1.给mountd、rquotad设置端口

编写/etc/sysconfig/nfs文件设置端口

$ vim /etc/sysconfig/nfs

添加
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

2.重启rpc、nfs的配置与服务:

$ systemctl restart rpcbind.service
$ systemctl restart nfs.service

3.编辑/etc/modprobe.d/lockd.conf

$ vim /etc/modprobe.d/lockd.conf

中添加以下设置:

options lockd nlm_tcpport=30002
options lockd nlm_udpport=30002

4.重新加载NFS配置和服务:

$ systemctl restart nfs-config
$ systemctl restart nfs-idmap
$ systemctl restart nfs-lock
$ systemctl restart nfs-server

5:查看修改后的NFS端口使用情况:

$ rpcinfo -p

显示如下

program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 30004 status
100024 1 tcp 30004 status
100005 1 udp 30003 mountd
100005 1 tcp 30003 mountd
100005 2 udp 30003 mountd
100005 2 tcp 30003 mountd
100005 3 udp 30003 mountd
100005 3 tcp 30003 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 30002 nlockmgr
100021 3 udp 30002 nlockmgr
100021 4 udp 30002 nlockmgr
100021 1 tcp 30002 nlockmgr
100021 3 tcp 30002 nlockmgr
100021 4 tcp 30002 nlockmgr
//这样端口就都固定了

6.编写防火墙规则(firewalld),开放NFS端口访问

查看firewalld防火墙规则:

$ firewall-cmd --permanent --list-all

public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

添加规则:

$ firewall-cmd --permanent --add-port=2049/tcp
$ firewall-cmd --permanent --add-port=2049/udp
$ firewall-cmd --permanent --add-port=111/tcp
$ firewall-cmd --permanent --add-port=111/udp
$ firewall-cmd --permanent --add-port=30001/tcp
$ firewall-cmd --permanent --add-port=30001/udp
$ firewall-cmd --permanent --add-port=30002/tcp
$ firewall-cmd --permanent --add-port=30002/udp
$ firewall-cmd --permanent --add-port=30003/udp
$ firewall-cmd --permanent --add-port=30003/tcp
$ firewall-cmd --permanent --add-port=30004/tcp
$ firewall-cmd --permanent --add-port=30004/udp
$ firewall-cmd --reload

再次查看:

$ firewall-cmd --permanent --list-all

public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports: 2049/tcp 2049/udp 111/tcp 111/udp 30001/tcp 30001/udp 30002/tcp 30002/udp 30003/udp 30003/tcp 30004/tcp 30004/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

重启防火墙

$ systemctl restart firewalld.service


端口已成功加入
大功告成!

编程小号
上一篇 2025-08-09 10:40
下一篇 2025-07-22 15:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/126739.html