rpc.statd listend on a random UDP port regardless of startup arguments
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nfs-utils (Debian) |
Fix Released
|
Unknown
|
|||
nfs-utils (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Hardy |
Won't Fix
|
High
|
Unassigned |
Bug Description
Among other options, I have the following in /etc/defaults/
# Options for rpc.statd.
# Should rpc.statd listen on a specific port? This is especially useful
# when you have a port-based firewall. To use a fixed port, set this
# this variable to a statd argument like: "--port 4000 --outgoing-port 4001".
# For more information, see rpc.statd(8) or http://
STATDOPTS="--port 1000 --outgoing-port 999"
When I /etc/init.
statd 9964 0.0 0.0 1876 708 ? Ss 12:30 0:00 /sbin/rpc.statd --port 1000 --outgoing-port 999
However, statd still listens on a UDP port that's random (in this case port 812):
t# netstat -anp | grep rpc.statd
tcp 0 0 0.0.0.0:1000 0.0.0.0:* LISTEN 9964/rpc.statd
udp 0 0 0.0.0.0:812 0.0.0.0:* 9964/rpc.statd
udp 0 0 0.0.0.0:1000 0.0.0.0:* 9964/rpc.statd
unix 2 [ ] DGRAM 36015 9964/rpc.statd
Because of this today I had a conflict with CUPS, since statd decided randomly to listen on UDP port 631.
Regardless of that, the defaults are also unacceptable for end user systems, because the NFS daemons randomize their listen poerts and are likely to interfere with CUPS and other services. The Ubuntu default should be statically assigned ports and the daemons should obide by those assignments.
Changed in nfs-utils: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in linux-nfs: | |
status: | Unknown → Confirmed |
Changed in nfs-utils (Ubuntu): | |
importance: | Undecided → Medium |
Changed in nfs-utils (Debian): | |
status: | Unknown → New |
Changed in nfs-utils (Debian): | |
status: | New → Confirmed |
Changed in nfs-utils (Debian): | |
status: | Confirmed → Fix Released |
Changed in linux-nfs: | |
importance: | Unknown → High |
status: | Confirmed → Fix Released |
I am also experiencing this issue w/ Hardy i386. I manually run
rpc.statd --port 4000 --outgoing-port 4001
but statd uses a random outgoing port.
ie.
root@support1:~# netstat -anp|grep statd
tcp 0 0 0.0.0.0:4000 0.0.0.0:* LISTEN 30976/rpc.statd
udp 0 0 0.0.0.0:4000 0.0.0.0:* 30976/rpc.statd
udp 0 0 0.0.0.0:624 0.0.0.0:* 30976/rpc.statd
This is not desirable, because I would like to be able to restrict connections to statd on a per host basis in ufw.