Red Hat Bugzilla – Bug 1462088
Include UDP port as well to nfs firewalld service
Last modified: 2018-04-10 06:31:38 EDT
Description of problem: The current nfs firewalld service file (nfs.xml) available addresses only NFSv4 protocol and hence opens up only 2049 TCP port. #cat nfs.xml <?xml version="1.0" encoding="utf-8"?> <service> <short>NFS4</short> <description>The NFS4 protocol is used to share files via TCP networking. You will need to have the NFS tools installed and properly configure your NFS server for this option to be useful.</description> <port protocol="tcp" port="2049"/> </service> But since most of the NFS servers(for eg., glusterfs native NFS server & NFS-Ganesha) support NFSv3 protocol too which need to listen on both TCP and UDP 2049 port, we may need to update this service file to make it generic (i.e, to handle NFSv3 & NFSv4) and include UDP port too. Version-Release number of selected component (if applicable): firewalld-0.4.4.4-4.el7.noarch How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
UDP is a deprecated transport protocol for NFS with v4 and above. It would probably be a good plan to review the requirements here. With v4.1 (set to be the new default from 7.4) far fewer ports are required than for 4.0 too. We should definitely try and sync up on what is currently done for the firewall though, and how we can keep in sync with NFS's requirements. Perhaps a good discussion point for the next nfs/net meeting.
It might be worth considering to split nfs service into two regarding the nfs version. else UDP would be opened or additional manual UDP configration needed, where the latter seems worse to me.
(In reply to Tomas Dolezal from comment #3) > It might be worth considering to split nfs service into two regarding the > nfs version. else UDP would be opened or additional manual UDP configration > needed, where the latter seems worse to me. This makes sense to me. I don't like opening UDP for the uncommon case. How about we add a nfs3 service definition that opens both TCP/UDP? Would that work for you Soumya?
(In reply to Eric Garver from comment #4) > (In reply to Tomas Dolezal from comment #3) > > It might be worth considering to split nfs service into two regarding the > > nfs version. else UDP would be opened or additional manual UDP configration > > needed, where the latter seems worse to me. > > This makes sense to me. I don't like opening UDP for the uncommon case. How > about we add a nfs3 service definition that opens both TCP/UDP? > Would that work for you Soumya? Thanks for your inputs! yes. That shall surely work. We as RHGS product support NFSv3 server over both UDP and TCP and hence this requirement. The current firewalld service named "nfs" handles only NFSv4 protocol. A new service "nfs3" definition to have udp port open sounds good to me. Thanks!
Upstream commit a127d697177b ("Add NFSv3 service.")
There's known issue with runtime rules management if you have both nfs and nfs3 enabled from permanent mode and decide to remove one of the services at runtime. Workaround is to have correct service enabled from permanent mode and apply it via `firewall-cmd --reload`. ref bug 1534571 about overlapping ports in service files.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2018:0702