Bug 1462088

Summary: Include UDP port as well to nfs firewalld service
Product: Red Hat Enterprise Linux 7 Reporter: Soumya Koduri <skoduri>
Component: firewalldAssignee: Eric Garver <egarver>
Status: CLOSED ERRATA QA Contact: Tomas Dolezal <todoleza>
Severity: medium Docs Contact:
Priority: high    
Version: 7.4CC: atragler, bcodding, bfields, egarver, rkhan, skoduri, smayhew, steved, sukulkar, swhiteho, todoleza
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: firewalld-0.4.4.4-8.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 10:30:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1459909    

Description Soumya Koduri 2017-06-16 07:32:03 UTC
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:

Comment 2 Steve Whitehouse 2017-07-19 17:01:44 UTC
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.

Comment 3 Tomas Dolezal 2017-07-21 11:51:06 UTC
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.

Comment 4 Eric Garver 2017-07-24 18:50:51 UTC
(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?

Comment 5 Soumya Koduri 2017-07-25 02:49:53 UTC
(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!

Comment 6 Eric Garver 2017-07-26 14:41:47 UTC
Upstream commit

  a127d697177b ("Add NFSv3 service.")

Comment 11 Tomas Dolezal 2018-01-19 13:47:54 UTC
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.

Comment 14 errata-xmlrpc 2018-04-10 10:30:16 UTC
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