• Mac
  • 28. marts 2026

Konfigurer NFS-mounts i macOS til netværkslagring

Har du nogensinde bandet over langsomme filoverførsler, ustabile SMB-shares eller Finder-vinduer, der fryser midt i arbejdet? Så er det tid til at give Network File System - bedre kendt som NFS - en chance

NFS er en gammel traver fra UNIX-verdenen, men med de rette indstillinger på macOS kan protokollen levere uhyggeligt hurtig, stabil og sikker adgang til dit NAS- eller Linux-drevede lagringsmiljø.

I denne guide på IT Forum Danmark viser vi, hvordan du på få minutter kan:

  • Teste et NFS-share direkte fra Terminalen,
  • Automatisere permanente mounts med autofs,
  • Undgå klassiske faldgruber som Permission denied og Stale file handle,
  • Finpudse sikkerhed, firewall-porte og performance-tweaks, så både M-chips og Intel-Macs kører problemfrit.

Uanset om du er udvikler med behov for lynhurtige builds, videoredaktør på jagt efter jævne 4K-afspilninger eller bare vil dele filer på hjemmenetværket uden bøvl, finder du svarene her. Spænd sikkerhedsselen - vi dykker ned i NFS-verdenen og viser, hvordan du får mest muligt ud af din macOS-maskine.

Konfigurer NFS-mounts i macOS til netværkslagring

Hvad er NFS på macOS – forudsætninger, anvendelser og faldgruber

NFS (Network File System) har været en hjørnesten i UNIX-verdenen siden 1980’erne, og i macOS følger der både en klient og en række administrations­værktøjer med out-of-the-box. Selvom Apple i dag promoverer SMB som standard for fildeling, er NFS stadig uundværlig til POSIX-korrekte workflows, store mediearkiver, datalagring i klynge-miljøer og når du har brug for en lettilgængelig måde at dele filsystemer mellem Linux-, BSD- og macOS-maskiner.

Nfs v3 vs. Nfs v4 på macos

Funktion NFS v3 NFS v4
Transport UDP eller TCP Kun TCP (bedre stabilitet)
Portmapper (RPC 111) Påkrævet Ikke nødvendig - én port (2049)
Stateful/Stateless Stateless Stateful (lock-tracking, delegation)
Sikkerhed UID/GID + resvport Kerberos, ACL’er, fsid + strong security
Ydelse Lav overhead, men ingen bundtet I/O Bedre pipelining og caching

macOS monterer som udgangspunkt v3, men du kan tvinge v4 med mount-optionen vers=4. Vælg v4 når du har brug for Kerberos-autentificering, firewall-venlig én-portsdrift eller mere avancerede fil-locks. Til ældre NAS’er eller blandede miljøer kan v3 stadig være det mest kompatible valg.

Hvornår giver nfs mere mening end smb?

  1. Høj I/O-gennemstrømning: videoredigering, scientific computing eller virtualiserings-backends med sekventiel adgang.
  2. UNIX-rettigheder: når korrekte uid/gid og chmod/chown er kritisk.
  3. Automatiseret mounting: kombinationen af autofs og NFS minimerer “server not available”-popups i Finder.
  4. Enkelhed: færre tunables end SMB og ingen behov for NetBIOS eller mDNS for at annoncere shares.

Omvendt er SMB ofte bedre til heterogene miljøer med Windows-klienter, avancerede ACL’er eller hvis du har brug for indlejret kryptering, som først kommer i NFS v4.2 (ikke understøttet af macOS per skrivende stund).

Nødvendige forudsætninger

  • Stabilt netværk på mindst gigabit - TCP-baseret NFS lider mindre under pakketab, men latency bliver stadig hurtigt en flaskehals.
  • Serverkonfiguration: eksportér stier med korrekt rw/ro, no_root_squash-overvejelse og evt. fsid for v4.
  • UID/GID-mapping: macOS bruger som standard lokale UID’er. Sørg for enten konsistent /etc/passwd eller en central directory-tjeneste (LDAP/AD) - ellers ender filer med forkerte ejere (nobody).
  • Firewall-porte: 2049/TCP og 111/TCP+UDP (v3) skal være åbne. Ved v4 kan du nøjes med 2049.
  • Kerberos-infrastruktur (valgfrit): For sec=krb5 kræver server og klient korrekt tidssynkronisering (NTP) og adgang til KDC.

Centrale begreber i macos-implementeringen

  • Exports: linjer i /etc/exports (på serveren) som definerer hvem der må mounte hvad og med hvilke rettigheder.
  • Mount point: en tom mappe på klienten, typisk under /Volumes, hvor filsystemet bliver tilgængeligt.
  • autofs: macOS’ automatiske mount-dæmon. Ved at redigere /etc/auto_master kan du sørge for at NFS-shares monteres on-demand og forsvinder, når de ikke bruges.

Nyttige værktøjer til diagnosticering

Kommando Hvad den gør Eksempel
showmount -e server Viser eksporterede NFS-shares samt adgangs-kontrol showmount -e nas.local
rpcinfo -p server Lister RPC-tjenester (inkl. NFS) og tilhørende porte/versioner rpcinfo -p 10.0.0.5
nfsstat -m Viser aktive mounts og de options der er brugt nfsstat -m | grep /Volumes/media

Typiske faldgruber

  • “Permission denied”: klientens IP eller subnet er ikke godkendt i /etc/exports, eller root_squash forhindrer root-skrivning.
  • UID-mismatch: filer vises som 501 eller nobody. Løsning: synkronisér bruger- og gruppe-ID’er mellem server og klient.
  • Stale file handle: opstår når filer slettes/omdøbes på serveren, mens klienten har dem åbne, eller når serveren genstarter uden at klienten remounter.
  • Resvport-krav: nogle servere kræver resvport (privilegieret port < 1024). macOS bruger det ikke per default; angiv optionen manuelt.

Med ovenstående på plads er du rustet til at gå videre til selve mounting-kommandoerne og den permanente integration via autofs, som vi dækker i de næste afsnit.


Midlertidig NFS-mount fra Terminalen (test og engangsbrug)

Følg guiden herunder, når du hurtigt vil teste en NFS-share eller lave et engangs-mount, som ikke skal overleve en genstart.

1. Opret et midlertidigt mount-punkt

  1. Åbn Terminal (Applications ▸ Utilities).
  2. Opret en mappe i /Volumes (kun root kan skrive her):
    sudo mkdir -p /Volumes/testshare

2. Mount filsystemet

macOS har to indgange til NFS:

  • mount_nfs - den “rå” kommando med alle NFS-options.
  • mount - wrapper, som automatisk kalder mount_nfs ved -t nfs.

Typisk syntax:

sudo mount -t nfs -o vers=3,tcp,rsize=65536,wsize=65536,resvport \servernavn.eksempel.com:/export/data /Volumes/testshare
Option Forklaring
vers=3 Brug NFSv3 (til ældre NAS’er). Sæt vers=4 for NFSv4.
tcp Tving TCP i stedet for UDP - mere stabilt på moderne net.
rsize/wsize=65536 Bufferstørrelser (læse/skrive) for bedre performance.
resvport Gør klienten til at bruge en “privileged” port (<1024) - flere servere kræver det.

NFSv4-eksempel med Kerberos på port 2049:

sudo mount_nfs -o vers=4,sec=krb5p,tcp,resvport 10.0.0.20:/srv/media /Volumes/testshare

3. Verificér at mountet virker

  • Disk-oversigt:
    df -h /Volumes/testshare
  • Aktive NFS-mounts:
    nfsstat -m

4. Afmontering

sudo umount /Volumes/testsharesudo rmdir /Volumes/testshare # Oprydning (valgfrit)

5. Hurtig fejlfinding

Symptom Årsag & løsning
mount_nfs: Permission denied
  • Serveren eksporterer ikke stien til din klient/IP.
  • Tjek /etc/exports på serveren eller kør
    showmount -e server for at se eksport-listen.
Operation not permitted
  • Manglende sudo eller forkert mount-punkt.
  • Sørg for at mappen ejes af root og ligger i /Volumes.
Stale file handle
  • Serveren blev genstartet eller eksporten blev genskabt.
  • Afmontér med sudo umount -f og remount.

Med ovenstående trin kan du hurtigt be- eller afkræfte om både netværk, rettigheder og performance er som forventet, før du sætter et permanent mount op med autofs.


Permanente NFS-mounts med autofs i macOS

macOS har siden 10.11 (El Capitan) haft en strammere fortolkning af /etc/fstab og System Integrity Protection (SIP). Selv om /etc/fstab stadig virker til enkelte formål, frarådes den til NFS, fordi:

  • Posterne fortolkes kun ved boot - et fejlbehæftet mount kan give lang opstartstid.
  • macOS kan ignorere eller omskrive fstab, når systemopdateringer køres.
  • autofs håndterer tidsudløb, netværkssøvn og «on-demand» mounts langt mere elegant.

Skridt-for-skridt: Konfigurer autofs

  1. Åbn /etc/auto_master
    sudo nano /etc/auto_master
    Tilføj (eller fjern kommentartegn fra) linjen:
    /-auto_nfs-nobrowse

    Direkte-mappet «/-» betyder, at vi selv bestemmer absolutte mount-punkter. -nobrowse skjuler dem i Finder sidepanelet.

  2. Opret hjælpe-mappingen /etc/auto_nfs
    sudo nano /etc/auto_nfs
    Læg én linje pr. share; eksempel:
    /Volumes/media-fstype=nfs,resvport,vers=3,tcp,rw,rsize=65536,wsize=65536,nosuid,nodev,nobrowse10.0.0.5:/export/media
    • /Volumes/media - lokalt mount-punkt.
    • -fstype=nfs,… - options (se forklaring nedenfor).
    • 10.0.0.5:/export/media - serverens eksport.
  3. Genindlæs tabellerne
    sudo automount -vc

    Du bør se beskeder som mount_nfs: ... mounted. Hvis intet mountes, forsøger autofs først ved adgang - fx ls /Volumes/media.

Valg af nøgle-options

  • vers=3/vers=4: Vælg v3 for maksimal kompatibilitet, v4 for bedre sikkerhed og færre porte.
  • tcp: Anvendes som standard; giver stabilitet, især på Wi-Fi.
  • resvport: Kræver, at klienten bruger en privilegeret port (<1024). Mange NFS-servere nægter ellers adgang.
  • rsize/wsize=65536: Bufferstørrelser; 64 kB er ofte et sikkert valg på gigabit-netværk.
  • nosuid,nodev: Deaktiverer SUID-bits og enheds-filer = mindre angrebsflade.
  • nobrowse: Mountet ses ikke i Finders sidepanel, men er stadig tilgængeligt via ⇧⌘G eller sti.

Verifikation & daglig brug

  • df -h | grep /Volumes/media - bekræfter, at mountet er aktivt.
  • nfsstat -m - viser aktuelle parametre, statistik og eventuelle fejl.
  • Finder cachetømning: Hvis mappen ikke dukker op, tryk ⌘⌥⎋ > Finder > Genstart.
  • Spotlight indekserer som standard NFS-shares. Ekskludér evt. via Systemindstillinger > Spotlight > Fortrolighed.

Typiske fejlkilder

  • Permission denied: Serveren accepterer ikke din resvport eller dit UID/GID.
  • Stale NFS file handle: Serveren er genstartet eller export er ændret - kør sudo automount -vc.
  • Operation not permitted: SIP blokering - sikre dig, at du ikke skriver direkte i beskyttede systemstier.

Når du skal redigere eller fjerne mounts

Ret blot linjerne i /etc/auto_nfs og genindlæs med sudo automount -vc. Hvis du fjerner et mount-punkt, så umount /Volumes/media først - ellers kan Finder/Spotlight holde et åbent «greb», som forhindrer af-montering.

Med autofs får du altså dynamiske, sikre og robuste NFS-mounts, der overlever både netværkssøvn og macOS-opdateringer - uden at rode i systemets inderste.


Fejlfinding, sikkerhed og ydelsesoptimering

Når et NFS-share pludselig hænger eller nægter at mounte, er den hurtigste vej til ro i sindet at samle fakta fra både klient og server.

  • Live-logs på macOS
    $ log stream --predicate 'subsystem == "com.apple.nfs"' --info$ log stream --predicate 'subsystem == "com.apple.Automount"' --info
    Ovenstående viser, hvad mount_nfs og automountd reelt forsøger, og hvorfor de evt. fejler.
  • Tjek eksporten på serveren
    $ showmount -e nfs-server.localExport list for nfs-server.local:/srv/media 192.168.1.0/24
    Får du “RPC: Program not registered”, tyder det på, at rpcbind / port 111 er blokeret på serveren.
  • Er serverens NFS-tjenester i luften?
    $ rpcinfo -p nfs-server.local program vers proto port 100003 3 tcp 2049 nfs 100005 3 tcp 38843 mountd
    Mangler port 2049 (nfs) eller 20048/38843 (mountd) får klienten ingen svar.
  • Hvad siger klienten om sine mounts?
    $ nfsstat -m/Volumes/media from nfs-server.local:/srv/media Flags: vers=4,proto=tcp,rsize=65536,wsize=65536,hard, ...
    Bemærk vers, proto og evt. resvport - netop de felter giver ofte fejl, hvis server og klient er uenige.
  • Typiske fejl og årsager
    • Permission denied - IP eller UID/GID er ikke tilladt i serverens /etc/exports.
    • Operation not permitted - prøver du at mounte uden resvport, mens serveren kræver det.
    • Stale file handle - share er re-eksporteret eller rebootet; umount og montér igen.

Sikkerhedshensyn

NFS er som standard langt fra “nul-konfigureret sikkert”. Du bør som minimum overveje følgende:

  • Begræns eksportstier - lad aldrig / eller /home være tilgængelig ukritisk. Brug præcise stier og CIDR/IP-ranges.
  • ro vs. rw - sæt shares til ro, medmindre skriveadgang er påkrævet. Kombinér evt. med maproot=nobody.
  • nosuid,nodev - macOS respekterer disse mount-flags, der forhindrer kørsel af setuid-binærer og blok-/tegn-devices fra sharet.
  • Firewall - åbne porte 111/tcp+udp (rpcbind) og 2049/tcp. Brug faste mountd/lockd porte hvis din firewall kræver det.
  • Kerberos-autentificering
    macOS understøtter sec=krb5 (auth), krb5i (auth+integrity) og krb5p (auth+privacy).
    Ulempe: krypteret trafik koster CPU og kan barbere 10-30 % af throughput.
  • reserved port - Mange servere kræver mount -o resvport; macOS sætter den ikke implicit for NFSv4.

Ydelsesoptimering

  • Brug TCP, ikke UDP - på moderne netværk giver TCP færre retransmissions og ingen fragmentering.
  • rsize/wsize=65536 (eller højere på 10G-net) - større blokke reducerer roundtrips; check at serveren accepterer.
  • actimeo vs. noac
    noac slår cache helt fra (tungt, men konsistent). Ofte rækker actimeo=2 for næsten realtime opdateringer.
  • Locks - NFSv3 kræver separate lockd/statd, NFSv4 har indbygget lock-manager. Badlocks = hængende apps.
  • netværkssøvn på bærbare - brug soft,intr,timeo=20,retrans=3 så macOS giver slip i stedet for at fryse ved vågning.
  • Stabile mounts
    • Fast IP til serveren, ingen mDNS afhængighed.
    • Placér mounts under /Volumes via autofs; Finder reagerer hurtigere og Spotlight forstår, at det er et “udefra” drev.
    • Hold klient og server på samme NFS-version for at undgå feature mismatch (f.eks. delegations eller ACLs).

Med ovenstående tjekliste kommer du langt med at holde NFS-shares stabile, sikre og hurtige på macOS - uden at skulle ty til mere eksotiske løsninger.