Network File System, Version 4 (NFS4)

Installation

https://help.ubuntu.com/community/NFSv4Howto

/etc/idmapd.conf

 

Der Server ist die Maschine, welche die Dateien als Network File System zur Verfügung stellt (exportiert), auf dessen Freigabe der/die Client(s) zugreifen. Unter Ubuntu (8.04 und 8.10) sind die entsprechenden NFS-Pakete zu installieren:

 

* NFSv4 Client

 

# apt-get install nfs-common

 

* NFSv4-Server

 

# apt-get install nfs-kernel-server

 

Denken sie daran jedes Mal den Dienst nfs-kernel-server neu zu starten, nachdem sie die Datei /etc/exports verändert haben.

 

NFSv4 ohne Kerberos

 

NFSv4-Server

 

NFSv4 Ausfuhren in einem einzigen Pseudo-Dateisystem, wo die echte Verzeichnisse sind mit der - bind-Option. Hier sind einige zusätzliche Informationen über diese Tatsache.

 

*

 

Können sagen, wir exportieren möchten unsere Nutzer homedirs in / home / Benutzer. Zuerst erstellen wir die Ausfuhr Dateisystem:

 

# Mkdir / Export

# Mkdir / export / Benutzer

 

und montieren die reale Benutzer-Verzeichnis mit:

 

# Mount - bind / home / users / Export / Benutzer

 

So speichern Sie uns von dieser Neueingabe nach jedem Neustart wir fügen Sie die folgende

 

Zeile in / etc / fstab

 

/ home / users / Export / Benutzer keine bind 0 0

 

*

 

In der Datei / etc / default / nfs-kernel-Server setzen wir:

 

NEED_SVCGSSD = no

 

denn wir sind nicht die Aktivierung NFSv4 Sicherheit dieser Zeit.

*

 

In der Datei / etc / default / nfs-common wir:

 

NEED_IDMAPD = yes

NEED_GSSD = no

 

* So exportieren Sie unsere Verzeichnisse auf einem lokalen Netzwerk 192.198.1.0/24

 

fügen wir die beiden folgenden Zeilen zu / etc / exports

 

/ Export 192.168.1.0/24 (rw, fsid = 0, unsicher, no_subtree_check, async)

/ export / users 192.168.1.0/24 (rw, nohide, unsicher, no_subtree_check, async)

 

* Starten Sie den Dienst

 

# / Etc / init.d / nfs-kernel-Server neu starten

 

NFSv4 Client

 

* Auf dem Client können wir die komplette Montage Export Baum mit einem einzigen Befehl:

 

# Mount-t nfs4-o proto = tcp, port = 2049 NFS-Server: / / mnt

 

*

 

Wir können auch mounten einer exportierten Teilbaum mit:

 

# Mount-t nfs4-o proto = tcp, port = 2049 NFS-Server: / users / home / Benutzer

 

* Um uns von dieser Neueingabe nach jedem Neustart wir fügen Sie die folgende

 

Zeile in / etc / fstab:

 

# Mount NFS-Server: / / mnt nfs _netdev, auto 0 0

 

o

 

in denen die Option Auto-Halterungen am Start und die Option _netdev wartet, bis Netzwerk-Geräte geladen werden.

*

 

Wenn Sie eine langsame Netzwerkverbindung und sind nicht zur Gründung mount auf Neustart, können Sie die Zeile in etc / fstab:

 

# Mount NFS-Server: / / mnt nfs noauto 0 0

 

und führen Sie diese mounten nach einer kurzen Pause, wenn alle Geräte geladen werden. Fügen Sie die folgenden Zeilen zu / etc / rc.local

 

*

 

# Sleep 5

# Mount / mnt

 

* Wenn Sie Probleme wie dieses:

 

Warnung: rpc.idmapd scheint nicht zu laufen.

Alle UIDs wird auf das niemand uid.

mount: unknown filesystem type 'nfs4 "

 

dann müssen Sie in der Datei / etc / default / nfs-common:

 

NEED_IDMAPD = yes

 

und starten Sie nfs-common

 

# / Etc / init.d / nfs-common restart

 

Die "unbekannten Dateisystem" Fehler nicht eindeutig ist und verschwinden ebenso.

 

NFSv4 mit Kerberos

 

Sie benötigen eine funktionierende Kerberos (MIT oder Heimdal) KDC (Key Distribution Center), bevor Sie fortfahren. Auf dem NFS-Server und NFS-Clients müssen Sie MIT krb5 jetzt.

 

Beim Extrahieren der Schlüssel zu einer keytab-Datei und bei der Konfiguration krb5 in / etc/krb5.conf es notwendig ist, um des-cbc-crc, da nur diese Art der Verschlüsselung wird durch den Kernel im Moment.

 

*

 

Auf dem NFS-Server und NFS-Client benötigen Sie mindestens den krb5-user und optional libpam-krb5, wenn Sie für die Authentifizierung gegen krb5.

 

# Apt-get install krb5-user

# Apt-get install libpam-krb5

 

*

 

Angeben des-cbc-crc in / auf etc/krb5.conf NFS-Server und NFS-Clients.

 

[libdefaults]

default_tgs_enctypes = des-cbc-crc

default_tkt_enctypes = des-cbc-crc

 

* Sie benötigen den gss-Kernel-Module auf NFS-Server und NFS-Clients.

 

# Modprobe rpcsec_gss_krb5

 

Add rpcsec_gss_krb5 in / etc / modules, dass es automatisch geladen.

 

Erstellen und Verteilen Mandate

 

NFSv4 Maschine muss Anmeldeinformationen für den Server und alle Client, der will, die NFSv4 Sicherheitsmerkmale.

 

Legen Sie die Anmeldeinformationen für den NFS-Server und NFS-Clients auf dem Kerberos KDC und verteilen Sie die extraced Schlüssel mit scp zum Ziel

 

Sie haben dafür zu sorgen, dass Sie das "e-des-cbc-crc", wie es nicht funktionieren, wenn es mehr Einträge in der keytab als ein für diesen Verschlüsselungs-Algorithmus. Sie können dafür sorgen, dass nur dieser Eintrag erstellt wurde, indem Sie "sudo klist-e-k / etc/krb5.keytab".

 

Heimdal

 

# Kinit kadmin / admin

 

# # Kadmin muss mit-l (lokal), wenn es keine kadmind

# Kadmin Add-r nfs / nfs-server.domain

# # Kutil braucht eine runing kadmind

# Ktutil-k ~ / keytab.nfs-Server-get-e des-cbc-crc nfs / nfs-server.domain

# Scp-p ~ / keytab.nfs-Server NFS-Server: / etc/krb5.keytab

 

# Kadmin Add-r nfs / nfs-client.domain

# Ktutil-k ~ / keytab.nfs-Client-get-e des-cbc-crc nfs / nfs-client.domain

# Scp-p ~ / keytab.nfs NFS-Client-Client: / etc/krb5.keytab

 

# Kdestroy

 

MIT

 

# Kinit admin / admin

 

# Kadmin-q "addprinc-randkey nfs / nfs-server.domain"

# Kadmin-q "ktadd-e des-cbc-crc: normal-k / root / keytab.nfs-Server nfs / nfs-server.domain"

# Scp-p / root / keytab.nfs-Server NFS-server.domain: / etc/krb5.keytab

 

# Kadmin-q "addprinc-randkey nfs / nfs-client.domain"

# Kadmin-q "ktadd-e des-cbc-crc: normal-k / root / keytab.nfs-Client nfs / nfs-client.domain"

# Scp-p / root / keytab.nfs NFS-Client-client.domain: / etc/krb5.keytab

 

# Kdestroy

 

NFSv4-Server

 

*

 

Überprüfen Sie Ihre Maschine Mandate in / etc/krb5.keytab

 

# Ktutil

ktutil: RKT / etc/krb5.keytab

ktutil: Liste

Steckplatz KVNO Principal

---- ---- ------------------------------------------ ---------------------------

1 2 nfs / nfs-server.domain @ DOMAIN

 

oder noch besser:

 

*

 

# Sudo klist-e-k / etc/krb5.keytab

Keytab Name: file: / etc/krb5.keytab

KVNO Principal

---- ---------------------------------------------- ----------------------------

1 nfs / nfs-server.domain @ DOMAIN (DES-CBC-Modus mit CRC-32)

 

und stellen Sie sicher, gibt es nur einen Eintrag für den NFS-Server mit den Optionen DES CBC-Modus mit CRC-32, wie oben. Es wird nicht funktionieren, wenn es einen anderen Eintrag für Triple-DES oder andere Verschlüsselungs-Algorithmen.

 

*

 

In der Datei / etc / default / nfs-kernel-Server setzen wir:

 

NEED_SVCGSSD = yes

 

*

 

In der Datei / etc / default / nfs-common wir:

 

NEED_IDMAPD = yes

 

* So exportieren Sie unsere Verzeichnisse aus dem obigen Beispiel zu einem lokalen Netzwerk 192.198.1.0/24 und ADDT

 

fügen wir die beiden folgenden Zeilen zu / etc / exports

 

/ Export 192.168.1.0/24 (rw, fsid = 0, unsicher, \

no_subtree_check, async, anonuid = 65534, anongid = 65534)

/ Export gss/krb5 (rw, fsid = 0, unsicher, \

no_subtree_check, async, anonuid = 65534, anongid = 65534)

/ export / users 192.168.1.0/24 (rw, nohide, unsicher, \

no_subtree_check, async, anonuid = 65534, anongid = 65534)

/ export / Benutzer gss/krb5 (rw, nohide, unsicher, \

no_subtree_check, async, anonuid = 65534, anongid = 65534)

 

Bitte beachten Sie, dass Sie erlaubt Gastgeber nur in der jede Authentifizierung Geschmack. gss/krb5 Aromen von überall aus zugänglich sind, wenn nicht eine zusätzliche Firewall-Regeln.

 

So exportieren Sie nur mit sicheren Authentifizierung Aromen nicht enthalten eine Vielzahl (...) Zeile in / etc / exports

 

Um Ihre Exporte geben Sie ein:

 

# Exportfs-v

 

NFSv4 Client

 

*

 

Überprüfen Sie Ihre Maschine Mandate in / etc/krb5.keytab

 

# Ktutil

ktutil: RKT / etc/krb5.keytab

ktutil: Liste

Steckplatz KVNO Principal

---- ---- ------------------------------------------ ---------------------------

1 2 nfs / nfs-client.domain @ DOMAIN

 

*

 

In der Datei / etc / default / nfs-common wir:

 

NEED_IDMAPD = yes

NEED_GSSD = yes

 

*

 

Wir können sicher montieren die komplette Ausfuhr Baum mit:

 

# Mount-t-o nfs4 sec = krb5, proto = tcp, port = 2049 NFS-Server: / / mnt

 

*

 

Wir können auch sichere Montage eines exportierten Teilbaum mit:

 

# Mount-t-o nfs4 sec = krb5, proto = tcp, port = 2049 NFS-Server: / users / home / Benutzer

 

Fehlerbehebung

 

Zunächst kümmern sich um ordnungsgemäße Protokollierung - standardmäßig fast nichts protokolliert.

 

z. B. 3. Ebene, um die ausführliche Protokollierung für rpc.gssd, fügen Sie den folgenden Eintrag in / etc / default / nfs-common:

 

RPCGSSDOPTS = "-vvv-rrr"

 

Nach einem Neustart von nfs-common (/ etc / init.d / nfs-common restart) Vergewissern Sie sich, dass der Dämon hat neue Argumente:

 

ps xuwa | grep grep rpc.gssd

root 9857 0,0 0,4 2496 1220? Ss 02:17 0:00 / usr / sbin / rpc.gssd-vvv

 

Dann schauen Sie für die Log-Ausgabe in damon.log:

 

tail-f / var / log / daemon.log

 

Für den Server, können Sie z. B. erhöhen rpc.svcgssd Log-in / etc / default / nfs-kernel-server:

 

RPCSVCGSSDOPTS = "-vvv-rrr"

 

Durchsuchen Sie die / etc/init.d/nfs- * Init-Skripte, um zu sehen, andere Variablen, können Sie in der Datei / etc / defaults.

 

Wenn Sie Kerberos aktivieren Anmeldung / etc/krb5.conf:

 

[Logging]

kdc = SYSLOG: INFO: DAEMON

admin_server = SYSLOG: INFO: DAEMON

Standard = SYSLOG: INFO: DAEMON

 

Links

 

*

 

Umich CITI intructions

*

 

Lernen NFSv4 mit Fedora Core 2

 

CategoryDocumentation CategoryCleanup CategoryNetworking

 

NFSv4Howto (zuletzt geändert am 2009-02-09 01:44:26 durch cerealgirl-Coder)

 

* Page History

 

Nach Oben