{"id":2543,"date":"2023-09-10T12:34:12","date_gmt":"2023-09-10T10:34:12","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=2543"},"modified":"2023-09-10T12:34:14","modified_gmt":"2023-09-10T10:34:14","slug":"nfs-network-file-system-lokales-heimnetz-mit-linux","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/09\/10\/nfs-network-file-system-lokales-heimnetz-mit-linux\/","title":{"rendered":"NFS &#8211; Network File System, lokales Heimnetz mit Linux"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">NFS (<em>Network File System<\/em>) ist ein unter Linux \/ UNIX bew\u00e4hrtes und schnelles Netzwerk-Protokoll zum Verteilen von Dateien im lokalen Netzwerk. Es ist schneller als Samba (<em>SMB<\/em>), das vor allem in Verbindung mit Windows-Rechnern im Einsatz kommt. Das Aufsetzen eines NFS-Servers nimmt zwar einige Minuten mehr in Anspruch als SMB, lohnt sich aber.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">NFS-Server aufsetzen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Anleitung gilt nur f\u00fcr auf Debian basierenden Linux-Distributionen, da sich unter anderen Distributionen die Namen der Pakete unterscheiden k\u00f6nnen. Als Erstes gilt es zu unterscheiden &#8211; zumindest ein Rechner muss im lokalen Netzwerk als Server konfiguriert werden &#8211; auf diesem werden die Dateien gespeichert. Die weiteren Rechner dienen anschlie\u00dfend als Clients &#8211; nat\u00fcrlich kann man auch mehrere Server aufsetzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wichtig &#8211; Die Benutzer aller Systeme sollten auf allen Rechnern dieselbe UID haben &#8211; siehe\u00a0adduser\u00a0oder f\u00fcr bestehende Benutzer\u00a0usermod. Ebenfalls ist es vorteilhaft, wenn jeder Rechner im lokalen Netzwerk seine statische IP-Adresse hat &#8211; siehe\u00a0<a href=\"https:\/\/linux-bibel.at\/index.php\/2023\/09\/10\/etc-hosts-das-telefonbuch-des-lokalen-netzwerkes-unter-linux\/\" data-type=\"post\" data-id=\"2495\" target=\"_blank\" rel=\"noreferrer noopener\">\/etc\/host<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unter auf Debian basierenden Linux-Distributionen installieren Sie \u00fcber die\u00a0Paket-Verwaltung\u00a0f\u00fcr den Server das Paket &#8222;<strong>nfs-kernel-server<\/strong>&#8222;, auf den Clients das Paket &#8222;<strong>nfs-common<\/strong>&#8222;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anschlie\u00dfend gilt es den Server einzurichten &#8211; speziell gilt es die Freigaben anzugeben, dies gelingt \u00fcber die Datei &#8222;<em>\/etc\/<strong>exports<\/strong><\/em>&#8222;. Diese Datei \u00f6ffnen wir mit\u00a0administrativen\u00a0Rechten am\u00a0Terminal\u00a0mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/exports<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/nfs-1024x576.jpg\" alt=\"\" class=\"wp-image-2544\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/nfs-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/nfs-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/nfs-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/nfs-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/nfs.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Hier haben wir die Standardeintr\u00e4ge der Datei noch einmal als Text:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/exports: the access control list for filesystems which may be exported\n#               to NFS clients.  See exports(5).\n#\n# Example for NFSv2 and NFSv3:\n# \/srv\/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)\n#\n# Example for NFSv4:\n# \/srv\/nfs4        gss\/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)\n# \/srv\/nfs4\/homes  gss\/krb5i(rw,sync,no_subtree_check)\n#<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt legt man die Freigaben in der oben genannten Datei an. Sie k\u00f6nnen mehrere Freigaben erstellen &#8211; also mehrere Verzeichnisse freigeben, auf f\u00fcr unterschiedliche Rechner unterschiedliche Freigaben erstellen. Pro Zeile gibt man eine Freigabe an &#8211; deren Syntax sieht so aus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/Pfad\/zur\/Freigabe\/          Rechner-Name\/oder Rechner-IP-Adresse(Optionen)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sehen wir uns zu Beginn einmal die Optionen an, mit diesen wird geregelt, wer was mit welcher Freigabe anfangen kann:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>rw<\/strong>&nbsp;&#8211; Lesen und Schreiben<\/li>\n\n\n\n<li><strong>ro<\/strong>&nbsp;&#8211; Lesen<\/li>\n\n\n\n<li><strong>sync<\/strong>&nbsp;&#8211; Daten werden sofort \u00fcbertragen und ge\u00e4ndert (<em>etwa beim Speichern auf dem Server von einem anderen Rechner aus<\/em>)<\/li>\n\n\n\n<li><strong>async<\/strong>&nbsp;&#8211; Schneller als &#8222;<strong>sync<\/strong>&#8222;, kann aber etwa bei Stromausf\u00e4llen (<em>Absturtz<\/em>) zum Verlust von Daten f\u00fchren<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt nat\u00fcrlich noch weitere Optionen, f\u00fcr lokale Netzwerke ist aber kaum mehr n\u00f6tig. Wollen wir einmal einen Versuch starten &#8211; ich m\u00f6chte dem Rechner &#8222;<strong>robert_desktop<\/strong>&#8220; Zugriff auf das Verzeichnis &#8222;<em>\/home\/robert\/<\/em>&#8220; gew\u00e4hren, nat\u00fcrlich lesend und schreibend:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/robert\/          robert_desktop(sync,rw)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt m\u00f6chte ich dem Rechner &#8222;<strong>robert_laptop<\/strong>&#8220; ebenfalls Zugriff gew\u00e4hren, aber nur lesend:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/robert\/          robert_desktop(rw,sync)\n\/home\/robert\/          robert_laptop(ro,sync)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dies l\u00e4sst sich auch mit einer einzelnen Zeile l\u00f6sen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/robert\/          robert_desktop(rw,sync) robert_laptop(ro,sync)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Statt des Namens des Rechners l\u00e4sst sich alternativ nat\u00fcrlich auch die IP-Adresse nutzen. Auch k\u00f6nnen Sie nat\u00fcrlich einen kompletten IP-Adressbereich angeben, statt einzelner Rechner-Namen oder Rechner-IP-Adressen. Im Beispiel f\u00fcr die IP-Adressen von &#8222;<strong>192.168.1.1<\/strong>&#8220; bis &#8222;<strong>192.168.1.255<\/strong>&#8220; (<em>Standard f\u00fcr private Netzwerke<\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/robert\/Musik\/          192.168.1.0\/255.255.255.0(rw,sync)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Damit Clients mit ihren Rechner-Namen zugreifen k\u00f6nnen &#8211; haben Sie diese in der Datei eingetragen, m\u00fcssen diese auch in der Datei &#8222;<em>\/etc\/<strong>hosts<\/strong><\/em>&#8220; aufscheinen &#8211; wie im Link beschrieben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Haben Sie die Datei &#8222;<em>\/etc\/<strong>exports<\/strong><\/em>&#8220; entsprechend angepasst, wird diese mit\u00a0<strong><kbd>Strg+o<\/kbd><\/strong>\u00a0gespeichert &#8211; Sie best\u00e4tigen die Nachfrage mit\u00a0<strong><kbd>Eingabe<\/kbd><\/strong>\u00a0und schlie\u00dfend den Editor mit\u00a0<strong><kbd>Strg+x<\/kbd><\/strong>.<br>Jetzt soll NFS die Einstellungen neu einlesen und der Server neu gestartet werden, dies gelingt mit den Befehlen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>exportfs -ra\nsystemctl restart nfs-kernel-server<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Starten Sie jetzt den Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>showmount -e NFS_SERVER<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">k\u00f6nnen Sie Ihre Freigaben ansehen. Haben Sie eine Firewall aufgesetzt, gilt es die Ports &#8222;<strong>2049\/tcp<\/strong>&#8220; und &#8222;<strong>2049\/udp<\/strong>&#8220; freizuschalten &#8211; siehe auch\u00a0GUFW.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Auf NFS-Freigaben zugreifen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zu Beginn erstellen wir auf dem Client mit administrativen Rechten auf dem Terminal ein Verzeichnis unter &#8222;<em>\/media\/<\/em>&#8222;, im Beispiel nenne ich dieses ganz einfach &#8222;<em>nfs-freigabe<\/em>&#8222;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir \/media\/nfs-freigabe<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt gibt es zwei M\u00f6glichkeiten, die Freigabe einzuh\u00e4ngen &#8211; manuell und automatisch (<em>hierf\u00fcr muss der Client anschlie\u00dfend neu gestartet werden<\/em>). Versuchen wir es einmal manuell &#8211; die IP-Adresse des Servers lautet &#8222;<strong>192.168.1.0<\/strong>&#8222;, die Freigabe &#8222;<em>\/home\/robert\/<\/em>&#8220; &#8211; am Terminal mit administrativen Rechten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount 192.168.1.0:\/home\/robert\/ \/media\/nfs-freigabe\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Im Dateimanager finden Sie anschlie\u00dfend in der Orte-Liste den neuen Eintrag und Sie k\u00f6nnen darauf zugreifen. Die Automatische Konfiguration erstellen Sie mit administrativen Rechten in der Datei &#8222;<em>\/etc\/<strong>fstab<\/strong><\/em>&#8220; am Terminal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fstab<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcgen Sie eine neue Zeile ein &#8211; mit dem obigen Beispiel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>192.168.1.0:\/home\/robert\/Musik\/ \/media\/nfs-freigabe\/<\/code><\/pre>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"2543\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">1    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"2543\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>NFS (Network File System) ist ein unter Linux \/ UNIX bew\u00e4hrtes und schnelles Netzwerk-Protokoll zum Verteilen von Dateien im lokalen Netzwerk. Es ist schneller als Samba (SMB), das vor allem in Verbindung mit Windows-Rechnern im Einsatz kommt. Das Aufsetzen eines NFS-Servers nimmt zwar einige Minuten mehr in Anspruch als SMB, lohnt sich aber. NFS-Server aufsetzen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":763,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,308],"tags":[39,310],"class_list":["post-2543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-netzwerk","category-server","tag-netzwerk","tag-server"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=2543"}],"version-history":[{"count":1,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2543\/revisions"}],"predecessor-version":[{"id":2545,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2543\/revisions\/2545"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/763"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=2543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=2543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=2543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}