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 |