yast2-nfs-client 客户端 yast2-firewall 设置问题

有台服务器开了 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 端口

@LiuSen 通过 yast2 的 UI 界面的防火墙界面, interface 里确实没有无线网卡,这个必须通过命令行添加吗?为啥图形界面不让加?

@Schr0dingerCat 我并不熟悉 YaST

通过命令,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???

如果你使用 NetworkManager,可以在设置无线网络时指定防火墙区域。


没有 GUI 也可以用nmcli操作。

谢谢小伙伴的回复,你用的是 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​:rofl:。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 服务器。。。
到底有什么隐藏属性啊????


有好多 zones ,是在哪里 allow 的?


yast->网络设置是 networkmanager 管理吗?

Screenshot_20210219_200449
Screenshot_20210219_200525
我的 Wi-Fi 网卡默认是在 public,然后我把 public 里的所有服务都选了,然而还是不好使。。。。。

看来是我的错,opensuse 用 nfs-client,防火墙那里设置网卡的 zone 里选择 nfs,rpc-bind,mountd 就可以了,我试了不好使的最后发现不是连不上 nfs,而是防火墙把可以扫描局域网的给墙了。。。



这个扫描局域网主机,需要防火墙允许哪个端口????

看了下 yast2-nfs-client 的源码,虽然看不懂,但是我看到了 他是使用 “rpcinfo -b mountd 1” 这个命令来扫描局域网的,rpc-bind mountd nfs 几个服务添加到了防火墙,还是扫不出。难道是要添加别的端口?