有台服务器开了 nfs 服务,然后我的 openSUSE Tumbleweed 在 yast2 里的 nfs-client 设置,但是发现找不到 nfs 服务的服务器,然后我在 yast2 中关闭了防火墙。这时候我的笔记本能够正常访问 nfs 服务了。
但是我想开着防火墙,但是允许 nfs,我通过 yast2 中的 yast2-firewall 图形界面,在 zones 里设置了服务 nfs 为 allowed,但是却不能访问 nfs 服务了。
我又看了下,在 interfaces 界面里,有显示有线网卡,但是不显示无线网卡,我电脑使用的确实是 wifi。
这样的话,需要如何设置?怎么能天加上无线网卡,是 nfs 通过防火墙????
谢谢了
firewall-cmd --zone=public --add-interface=xxx
firewall-cmd --zone=public --add-interface=xxx --permanent
将网卡添加到恰当的 zone,然后再开放该 zone 的 xx 端口
通过命令,firewall-cmd --list-all,然后输出如下;
public (active)
target: default
icmp-block-inversion: no
interfaces: wlp15s0
sources:
services: dhcpv6-client kdeconnect-kde nfs nfs3 samba samba-client samba-dc
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
感觉设置的没啥问题呀,但是为什么这样的设置下,开着 firewall,还是无法看到其他服务器的 nfs 共享???
难道没有小伙伴使用 yast2 下的 nfs 服务器和 nfs 客户端的吗?
还是说,使用时都关了 firewall???
谢谢小伙伴的回复,你用的是 fxce 吧,我用的是 KDE,晚上回家看看 kde 的这个界面有没有设置的地方,我上面 4 楼里面,使用通过命令,firewall-cmd --list-all,然后输出如下;
public (active)
target: default
icmp-block-inversion: no
interfaces: wlp15s0
sources:
services: dhcpv6-client kdeconnect-kde nfs nfs3 samba samba-client samba-dc
是可以看到有这个,但是开着防火墙,确实无法访问
因为没有什么可以回复的啊!
要么 NFS 本身没有配好,要么该开的端口没有开,一个个测一遍就知道了。
先把防火墙关掉,确认 NFS 本身运行正常。
然后打开防火墙,测试 NFS 涉及到的几个端口的联通性,具体的工具和方法直接在网上搜索。
还有,看一看是不是有某些端口忘记开放了,隐约记得 NFS 需要开放一些与 RPC 相关的端口。
firewalld 防火墙的资料
NFS端口相关
啊这,我这就是 KDE。NetworkManager 就是一个网络管理器,红帽开发的,基本上所有桌面环境的网络配置都是 NetworkManager 作后端。然后客户端理论上是不需要设置 firewalld 的,至少在我的 NFS(服务器在 OpenWRT 上)是如此。
谢谢小伙伴的热心回复, 根据这个链接 https://unix.stackexchange.com/questions/243756/nfs-servers-and-firewalld
发现,没有配置过这两个:
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
这两个是干啥的,我以为 nfs 就只开 2049 这个端口。。
回家试试
@BearChild @LiuSen @marguerite 各位大大,求助。
我用 yast2 图形界面里的防火墙设置,我把所有的服务都选了,在启用防火墙的情况下,还是搜不到 nfs 服务器。。。
到底有什么隐藏属性啊????
我的 Wi-Fi 网卡默认是在 public,然后我把 public 里的所有服务都选了,然而还是不好使。。。。。
看来是我的错,opensuse 用 nfs-client,防火墙那里设置网卡的 zone 里选择 nfs,rpc-bind,mountd 就可以了,我试了不好使的最后发现不是连不上 nfs,而是防火墙把可以扫描局域网的给墙了。。。
这个扫描局域网主机,需要防火墙允许哪个端口????
看了下 yast2-nfs-client 的源码,虽然看不懂,但是我看到了 他是使用 “rpcinfo -b mountd 1” 这个命令来扫描局域网的,rpc-bind mountd nfs 几个服务添加到了防火墙,还是扫不出。难道是要添加别的端口?