Spring naar hoofdtekst

Van Samba naar NFS onder OpenWrt

Geplaatst op door ,
Laatste aanpassing op .

Inleiding

In een eerder artikel beschreef ik het inrichten van een OpenWrt-router die tevens via Samba bestanden kon delen met andere netwerkgebruikers. Op zich werkte deze setup naar behoren, maar het was een hels karwei om in te richten. Bovendien stoorden mij een aantal kleinigheden:

  • Samba biedt geen ondersteuning voor twee of meer bestanden in dezelfde map die enkel verschillen in hoofd- en kleine letters van hun bestandsnaam. Dat betekent onder meer dat je een bestand Document.txt niet kan hernoemen naar dOCUMENT.txt of vice versa.
  • Alle bestanden hebben dezelfde lees-, schrijf- en uitvoerrechten. Met name dit laatste was altijd te zien op de commandline.

Zou er geen andere mogelijkheid bestaan om bestanden te delen in een lokaal netwerk? Liefst met ondersteuning voor hoofd- en kleine letters en bestandsrechten voor lezen, schrijven en uitvoeren.

NFS

Toen herinnerde ik me NFS, het Network-FileSystem dat al sinds mensenheugenis deel uitmaakt van Unix en Linux. Ik zocht en vond de documentatie om één en ander op mijn OpenWrt-router in te richten en binnen no-time was de overstap een feit.

In principe bestaat de installatie op de router (server) uit twee delen. Ten eerste wordt het pakket nfs-kernel-server geïnstalleerd. Daarna worden in /etc/exports de te delen mappen met hun eigenschappen ingesteld.

Exports

Als eerste wordt het pad genoteerd van de map die moet worden gedeeld. Daarna volgt ofwel een asterisk (*) voor ALLE netwerkgebruikers, of een reeks IP-adressen in CIDR-notatie, of één specifiek IP-adres.

/pad/naar/map1 *(rw)

/pad/naar/map2 192.168.1.0/24(rw)

/pad/naar/map3 192.168.1.12(rw,all_squash,anonuid=1000,anongid=1000)

De opties tussen ronde haken bepalen hoe de share omgaat met lees- en schrijfverzoeken (ro = read-only, alleen-lezen, rw = read-write, lezen-schrijven). Zie ook bijvoorbeeld de manpage van exports.

Met all_squash, anonuid en anongid wordt alle lees- en schrijfverzoeken als één gebruiker/groep uitgevoerd. Dit is voor de meeste netwerken voldoende - zo ook het mijne.

Ubuntu en Raspbian

Op mijn client-pc's met Ubuntu was het voldoende om het pakket nfs-common te installeren en de Samba-regel in /etc/fstab te vervangen door een behoorlijk ingekorte regel met NFS.

# Oude Samba-mount
#//192.168.1.1/map    /mnt/map  cifs  credentials=/home/ikke/.smbcreds,uid=1000,gid=1000,iocharset=utf8,nobrl,vers=2.0 0 0

# Nieuwe NFS-mount
192.168.1.1:/mnt/map  /mnt/map  nfs   auto,_netdev 0 0

Op Raspbian, het besturingssysteem van de Raspberry Pi, moest daarnaast ook nog een extra commando worden uitgevoerd voordat de NFS-share toegankelijk is:

systemctl start rpcbind.service;

Inhoudsopgave

Atom-feed Atom-feed van FWiePs weblog

Artikelen


Doorzoek de onderstaande categorieën om de lijst met artikelen te filteren.