前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux NFS配置固定端口[通俗易懂]

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

作者头像
全栈程序员站长
发布2022-09-14 15:30:39
5K0
发布2022-09-14 15:30:39
举报

大家好,又见面了,我是你们的朋友全栈君。

需求介绍:

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

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

1.给mountd、rquotad设置端口

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

代码语言:javascript
复制
$ vim /etc/sysconfig/nfs

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

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

代码语言:javascript
复制
$ systemctl restart rpcbind.service
$ systemctl restart nfs.service

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

代码语言:javascript
复制
$ vim /etc/modprobe.d/lockd.conf

中添加以下设置:

options lockd nlm_tcpport=30002 options lockd nlm_udpport=30002

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

代码语言:javascript
复制
$ systemctl restart nfs-config
$ systemctl restart nfs-idmap
$ systemctl restart nfs-lock
$ systemctl restart nfs-server

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

代码语言:javascript
复制
$ 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防火墙规则:

代码语言:javascript
复制
$ 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: 添加规则:

代码语言:javascript
复制
$ 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

再次查看:

代码语言:javascript
复制
$ 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:

重启防火墙

代码语言:javascript
复制
$ systemctl restart firewalld.service

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153584.html原文链接:https://javaforall.cn

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com