我正在尝试设置 NFS 共享 + iptables,以便我可以实际访问它。我找不到任何最新/工作文档/文章。你能解释或分享正确文档的链接吗?我没有 nfs/iptables 知识,每次我决定摆脱iptables -F
“解决方案”时,我都会撞到文档墙。
我不知道我有什么版本的 nfs。尝试使用“nfsstat –s”或“nfsstat –c”不会打印任何相关信息。
但我认为它将是第 4 版。我尝试遵循(迄今为止我找到的最佳文章/文档):
https://prefetch.net/blog/2010/11/02/firewalling-a-linux-nfs-server-with-iptables/
/etc/sysconfig/nfs 中静态端口的设置被忽略,并且缺少几个服务/systemd 单元。
你能推荐一些阅读设置 nfs 和 iptables 的书吗?如果 iptables 已过时并且应该禁用以支持另一个更新的解决方案,请分享如何。
编辑:在 firewall-config 中,区域是公共的,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 58868 status
100024 1 tcp 51719 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100021 1 udp 54703 nlockmgr
100021 3 udp 54703 nlockmgr
100021 4 udp 54703 nlockmgr
100021 1 tcp 35247 nlockmgr
100021 3 tcp 35247 nlockmgr
100021 4 tcp 35247 nlockmgr
我在某处发现:
firewall-cmd --permanent --add-port=2049/udp ; firewall-cmd --permanent --add-port=2049/tcp; firewall-cmd --permanent --add-port=111/udp; firewall-cmd --permanent --add-port=111/tcp
这可能与上面的端口相关,但运气不好,不起作用。电视无法连接,直到我连接iptables -F
。
iptables -F
刷新所有类似于禁用防火墙的规则。我从来没有使用命令来管理我的 iptable 规则,我总是手动编辑配置文件 '/etc/sysconfig/iptables'。我也总是删除 firewalld 并直接使用 iptables,因为 firewalld 是管理 iptables 的前端。
如果你想要一些专门针对 firewalld 的文档,请查看“ https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7 ”,它应该对 Fedora 也一样。
如果是我,我会做以下事情:
sudo systemctl disable firewalld*
sudo dnf install iptables-services
sudo systemctl enable iptables
/etc/sysconfig/iptables
您可以轻松地制定一揽子规则,以接受来自本地网络或电视的所有流量,其中之一是:
A INPUT -s 192.168.1.0/24 -j ACCEPT
其中 192.168.1.0 是您的网络,/24 是您的子网。-A INPUT -s 192.168.1.22/32 -j ACCEPT
其中 192.168.1.22 是您电视的 IP 地址。之后,只需保存文件并启动 itpables 服务
sudo systemctl start iptables