Enabled Versions of NFS

The following versions of NFS are enabled in Oracle Linux:

  • NFS version 3 (NFSv3), specified in RFC 1813.

  • NFS version 4 (NFSv4), specified in RFC 7530.

  • NFS version 4 minor version 1 (NFSv4.1), specified in RFC 8881.

  • NFS version 4 minor version 2 (NFSv4.2), specified in RFC 7862 .

NFSv3 provides safe, asynchronous writes, and efficient error handling. NFSv3 also uses 64-bit file sizes and offsets, which enable clients to access more than 2 GB of file data.

NFSv3 relies on Remote Procedure Call (RPC) services, which are controlled by the rpcbind service. The rpcbind service responds to requests for an RPC service and then sets up connections for the requested service. Separate services are used to handle locking and mounting protocols. Configuring a firewall to cope with the various ports that are used by all these services can be complex and error-prone.

Note:

In previous Oracle Linux releases, NFSv3 also used the User Datagram Protocol (UDP). However, beginning from Oracle Linux 8, NFS over UDP is no longer enabled and UDP is disabled in the NFS server by default.

NFSv4:
  • Works across firewalls and the Internet.

  • Doesn't require the rpcbind service.

  • Uses Access Control Lists (ACLs).

  • Uses stateful operations.

NFSv4 requires the Transmission Control Protocol (TCP) running over an IP network. Instead of using rpcbind, the NFS server listens on TCP port 2049 for service requests. The mounting and locking protocols are also integrated into the NFSv4 protocol, which means that separate services are also not required for these protocols. These refinements make firewall configuration for NFSv4 no more difficult than for a service such as HTTP.

NFS clients mount by using NFSv4.2 (the default version), but fall back to NFSv4.1 when the server doesn't work with NFSv4.2. The mount later falls back to NFSv4.0 and then to NFSv3.