I am trying to mount a network share and I am getting the error
mount.nfs: mount(2): Operation not permitted
On the server (Debian 13) there is an export configured:
/home 192.168.1.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check)
I try mounting from a client (Ubuntu 22.04) by
$ sudo mount -v -t nfs 192.168.1.128:/home /mnt/temp/
mount.nfs: timeout set for Mon Dec 15 13:52:25 2025
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.1.128,clientaddr=192.168.1.2'
mount.nfs: mount(2): Operation not permitted
mount.nfs: trying text-based options 'addr=192.168.1.128'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.1.128 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.1.128 prog 100005 vers 3 prot UDP port 40768
**mount.nfs: mount(2): Operation not permitted**
mount.nfs: Operation not permitted
On the server, when I switched debugging on, I got
2025-12-15T14:21:28.185602+01:00 jl-server kernel: nfsd4_exchange_id rqstp=84bbd5be exid=193bfc31 clname.len=26 clname.data=
d523eba5 ip_addr=192.168.1.2 flags 103, spa_how 0
2025-12-15T14:21:28.185650+01:00 jl-server kernel: nfsd4_exchange_id seqid 0 flags 20001
2025-12-15T14:21:28.185657+01:00 jl-server kernel: nfsd4_exchange_id rqstp=84bbd5be exid=193bfc31 clname.len=26 clname.data=
d523eba5 ip_addr=192.168.1.2 flags 103, spa_how 0
2025-12-15T14:21:28.185664+01:00 jl-server kernel: nfsd4_exchange_id seqid 0 flags 20001
2025-12-15T14:21:28.185668+01:00 jl-server kernel: check_slot_seqid enter. seqid 1 slot_seqid 0
2025-12-15T14:21:28.193162+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.193200+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.193206+01:00 jl-server kernel: check_slot_seqid enter. seqid 1 slot_seqid 0
2025-12-15T14:21:28.193211+01:00 jl-server kernel: alloc_cld_upcall: allocated xid 26
2025-12-15T14:21:28.273940+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.273996+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.274003+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.274018+01:00 jl-server kernel: check_slot_seqid enter. seqid 2 slot_seqid 1
2025-12-15T14:21:28.274026+01:00 jl-server kernel: nfsd: fh_compose(exp 08:01/2 /, ino=2)
2025-12-15T14:21:28.274031+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.274037+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.274042+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.274049+01:00 jl-server kernel: check_slot_seqid enter. seqid 3 slot_seqid 2
2025-12-15T14:21:28.274054+01:00 jl-server kernel: nfsd: fh_compose(exp 08:01/2 /, ino=2)
2025-12-15T14:21:28.274059+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.274065+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.274071+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.274075+01:00 jl-server kernel: check_slot_seqid enter. seqid 4 slot_seqid 3
2025-12-15T14:21:28.274079+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.274084+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.274088+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.274094+01:00 jl-server kernel: check_slot_seqid enter. seqid 5 slot_seqid 4
2025-12-15T14:21:28.274098+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.274107+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.274120+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.274125+01:00 jl-server kernel: check_slot_seqid enter. seqid 6 slot_seqid 5
2025-12-15T14:21:28.274130+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.274169+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.274175+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.274180+01:00 jl-server kernel: check_slot_seqid enter. seqid 7 slot_seqid 6
2025-12-15T14:21:28.274185+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.274190+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.274194+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.274198+01:00 jl-server kernel: check_slot_seqid enter. seqid 8 slot_seqid 7
2025-12-15T14:21:28.274202+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.277204+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.277237+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.277244+01:00 jl-server kernel: check_slot_seqid enter. seqid 9 slot_seqid 8
2025-12-15T14:21:28.277253+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.277262+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.277267+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.277272+01:00 jl-server kernel: check_slot_seqid enter. seqid 10 slot_seqid 9
2025-12-15T14:21:28.277276+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.277281+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.277287+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.277291+01:00 jl-server kernel: check_slot_seqid enter. seqid 11 slot_seqid 10
2025-12-15T14:21:28.277297+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.277302+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.277307+01:00 jl-server kernel: nfsd4_sequence: slotid 0
2025-12-15T14:21:28.277311+01:00 jl-server kernel: check_slot_seqid enter. seqid 12 slot_seqid 11
2025-12-15T14:21:28.277315+01:00 jl-server kernel: nfsd: nfsd_lookup(fh 8: 01 00 01 00 00 00 00 00, home)
2025-12-15T14:21:28.277319+01:00 jl-server kernel: nfsd: fh_compose(exp 08:03/2 /, ino=2)
2025-12-15T14:21:28.277325+01:00 jl-server kernel: nfsd: request from insecure port 192.168.1.2, port=51624!
2025-12-15T14:21:28.277330+01:00 jl-server kernel: --> nfsd4_store_cache_entry slot 88e2d677
2025-12-15T14:21:28.289149+01:00 jl-server kernel: nfsd4_destroy_session: 1765789414:3016936631:13:0
2025-12-15T14:21:28.289187+01:00 jl-server kernel: __find_in_sessionid_hashtbl: 1765789414:3016936631:13:0
2025-12-15T14:21:28.289193+01:00 jl-server kernel: alloc_cld_upcall: allocated xid 27
2025-12-15T14:21:29.981974+01:00 jl-server rpc.mountd[628]: v4.0 client detached: (null) from (null)
2025-12-15T14:21:29.983807+01:00 jl-server rpc.mountd[628]: v4.0 client detached: (null) from (null)
2025-12-15T14:21:29.986834+01:00 jl-server rpc.mountd[628]: authenticated mount request from 192.168.1.2:999 for /home (/home)
2025-12-15T14:21:29.989154+01:00 jl-server kernel: nfsd: exp_rootfh(/home [526dcd34] 192.168.1.0/255.255.255.0:sda3/2)
2025-12-15T14:21:29.989194+01:00 jl-server kernel: nfsd: fh_compose(exp 08:03/2 /, ino=2)
2025-12-15T14:21:29.993287+01:00 jl-server kernel: nfsd: FSINFO(3) 20: 01 00 06 00 a7 32 23 30 c6 b8 4b ac ae b1 16 a6 c0 c5 00 e2
2025-12-15T14:21:29.993323+01:00 jl-server kernel: nfsd: request from insecure port 192.168.1.2, port=51654!
2025-12-15T14:21:29.993331+01:00 jl-server kernel: nfsd: FSINFO(3) 20: 01 00 06 00 a7 32 23 30 c6 b8 4b ac ae b1 16 a6 c0 c5 00 e2
2025-12-15T14:21:29.993336+01:00 jl-server kernel: nfsd: request from insecure port 192.168.1.2, port=51654!
I have no idea why the client tries to use insecure port. Adding -o resvport does not help. I can overcome it by changing the server configuration to allow ‘insecure’ mounts, but I do not want it as a permanent solution.
I checked and successfully mounted the same share from another client machine (also Ubuntu 22.04) with the same command! There are no entries in the log when mounting from the other client. So the server configuration is correct.
OTOH I got the same error while trying to mount another server share (on another machine) , which is mountable by other clients with no issues.
So this must be a configuration issue on the client.
I already purged and reinstalled nfs-common common package to reset config do distro default.
I looked into https://serverfault.com/questions/107546/mount-nfs-access-denied-by-server-while-mounting which seems very similar, but I am not within any virtual machine or using NAT.
What other client settings can interfere with mounting nfs?