[Bug 267301] nfs uses udp for portmapper even when proto=tcp specified
Date: Mon, 24 Oct 2022 01:07:05 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267301
Bug ID: 267301
Summary: nfs uses udp for portmapper even when proto=tcp
specified
Product: Base System
Version: 13.1-STABLE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: bugs@FreeBSD.org
Reporter: brad@facefault.org
When attempting to mount a remote file share using NFSv3, portmapper calls use
UDP even when TCP is explicitly specified. Using the port= option would be a
satisfactory workaround but that doesn't eliminate portmapper calls.
Expected behavior: TCP explicitly specified means TCP everywhere.
Repro:
1. Start tcpdump with capture filter "port 111".
2. Attempt to mount an NFS share with proto=tcp.
3. The tcpdump contains UDP traffic to the remote portmapper when TCP is
expected.
4. Block outgoing UDP/111 from the client. (I guess this one's not strictly
necessary.)
5. Repeat #2 but add port=2049 to the mount options.
6. The tcpdump contains a successful NULL call but the client immediately tried
contacting the portmapper on UDP to get the mount port.
This prevents using Azure Blob Storage NFS, and I suspect there are some bad
and hard-to-get-fixed firewall configurations out there since Linux's behavior
is to use TCP for portmapper in this case.
--
You are receiving this mail because:
You are the assignee for the bug.