NFS-Server einrichten

realdarkman71

Well-Known Member
Hallo Leute,

ich wollte auf meinem root-Server NFS laufen lassen, so dass ich von meinen Macs und PCs darauf zugreifen kann. Habe in die /etc/rc.conf folgendes hinzugefügt:

Code:
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"

Dann eine /etc/exports erstellt:

Code:
/home/nfs rw

Auf dem root-Server laufen u.a. auch apache, ssh und mail-dienste, die entsprechenden Ports dieser Dienste sind in der ipfilter Firewall freigegeben. Welche Ports muß ich für NFS in der Firewall freigeben?

Thx!
Chris
 
Code:
mountd_flags="-r -p 59"

Bindet mountd an Port 59 (any private file service; http://www.iana.org/assignments/port-numbers).

Zusätzlich müssen noch die Ports 111 und 2049 offen sein.

Ich persönlich würde allerdings nie NFS im Internet bereitstellen, die Sicherheit lässt doch sehr zu wünschen übrig.

Schon mal an WebDAV gedacht? Oder VPN und Samba?

mousaka
 
Verschlüsselung wäre meine nächste Frage gewesen! Dann scheint mir WebDAV oder VPN wohl besser geeigent ... VPN ist verschlüsselt, wie ich gelesen habe!? Dann ist das wohl besser. Obwohl, wenn WebDAV über HTTP läuft, geht das dann auch über HTTPS?
 
Klar, WebDAV geht auch ueber HTTPS

Uber VPN koenntest Du aber zB Deinen NFS Zugang tunneln, fuer WebDAV brauchste 'nen passenden Client. GNOME und KDE bringen da entsprechendes mit, ansonsten gibt's noch Cadaver fuer die Command Line.

Die Frage ist, was Dein Einsatzzweck ist. Um ein paar Dateien mal auf den Server zu kopieren, geht sonst auch scp.

Bei VPN haettest Du den Vorteil, auch andere Dienste einfach nutzen koennen.

HTH
 
Soll nur zum Austauschen von Dateien (die zu groß für eMail sind) sein. Die Clients sind Macs (OS X 10.4) und Windows (XP/Vista), von denen sollte das gehen! Lesen/schreiben für alle Clients, Anmelden mit User/Pass und die Verbindung sollte verschlüsselt sein!
 
Dann waere vermutlich WebDAV ueber HTTPS das einfachste.

AFAIK haben beide Systeme auch schon entsprechende Clients dabei.
 
Was setzt du denn auf den PCs für ein OS ein?

Evtl. ist auch sshfs eine Option. Auf chruetertee.ch gibts eine kurze Anleitung um das ganze unter FreeBSD einzurichten.

Für OS X gibt es Clients, für Windows bin ich nicht auf dem Laufenden.

mousaka
 
Wenn es nur um den Austausch von Dateien geht, dann sieh Dir mal sftp, als Teil von sshd, an.
Unter Windows kannst Du dann winscp als grafisches Frontend verwenden.

marmorkuchen
 
Ich wollte sftp/sshd vermeiden, weil man da ein extra SFTP-Programm braucht. An den Macs sitzen nur normale "User"! Am Besten Apfel+K -> "Mit Server verbinden..." , dort Adresse eingeben, User/Pass eingeben und dann sollte das WebDAV-Verzeichnis gemountet werden ... und da sollte man dann mit dem Finder Dateien hin- und herschieben können!
 
Ich habe jetzt WebDAV eingerichtet:

Code:
DavLockDB /var/lib/dav/davlock

<Location /home/webdav>
    Dav On

    AuthType Basic
    AuthName "WebDAV Storage"
    AuthUserFile /usr/local/etc/apache22/passwd/webdav.passwd

    Require valid-user
    AllowOverride None
    Options Indexes
</Location>

Funzt aber leider nicht und SSL geht auch nicht! Kann mir da jemand helfen?
 
Hab's jetzt soweit, dass ich es unter OSX (unter Vista kommt ein Fehler) mounten kann:

Code:
DavLockDB "/var/lib/dav/davlock"

Alias /webdav "/home/webdav"

<Directory "/home/webdav">
    Options Indexes MultiViews
    AllowOverride All
    Order Allow,Deny
    Allow from All
</Directory>

<Location /webdav>
    Dav On
    AuthType Digest
    AuthName WebDAV
    AuthDigestDomain /webdav/ https://mein-server.de/webdav/
    AuthDigestProvider file
    AuthUserFile "/usr/local/etc/apache22/passwd/webdav.passwd"
    <Limit OPTIONS COPY DELETE LOCK MKCOL MOVE POST PUT UNLOCK>
        Require valid-user
    </Limit>
</Location>

Lesen ist möglich, ich kann Dateien vom Server herunterladen, schreiben/löschen funzt nicht! Keine Ahnung warum! Optionen sind jedenfalls gesetzt!
 
ich hab das bei mir (nur osx-clients, aber es geht auch mit xp/vista/whatever) mit ssl. bei ssl zu beachten ist, dass 10.3 das nicht kann und dafür nen separaten client braucht:
Code:
<VirtualHost XXX.XXX.XXX.XXX:443>
ServerName webdav.example.com
DocumentRoot /path/to/files
DirectoryIndex index.php index.html

Alias / "/path/to/other/files"
    <Directory /path/to/other/files>
 
       DAV On
       Options Indexes
       AllowOverride None
       Order allow,deny
       #Deny from all
       Allow from all
       AuthType Basic
       AuthName "Ein SSL_DAV"
       AuthUserFile /var/www/localhost/.davuser
       require valid-user
       IndexOptions FancyIndexing
       IndexOrderDefault Ascending Name
    </Directory>
   SSLEngine on
   SSLCertificateFile    /etc/ssl/server.crt
   SSLCertificateKeyFile /etc/ssl/private/server.key

</VirtualHost>
so, da kommen allerdings nur vertrauenswürdige user drauf, daher ist das eher rudimentär ;) (und läuft derzeit unter nem gentoo).

aber ich hoffe, es hilft dir erstmal weiter.

achja, noch was nettes: pass beim finder ein wenig auf, der hat das mit vielen unterordner anlegen und aktualisierien nicht so drauf. ich weiss jetzt nicht, ob das nur bei smb zutrifft und auch für den webdav. irgendwie lässt die qualität vom obst in letzter zeit immer mehr nach. hoffentlich werden die mit 10.5. wieder besser und auch offener...
 
Ok, danke für Deinen Code! Wenn ich das bei mir so einrichte, kommt nach dem ich User und Pass eingegeben habe:

Code:
Forbidden

You don't have permission to access / on this server.
 
sei mit der alias-anweisung ein wenig vorsichtig, da sich der kram eben nicht direkt an der stelle befindet, sondern verlinkt ist (das war ne umstellung von sftp auf ssl-dav). das errorlog sollte dir aber sagen können, was da sache ist. denke auch daran, dass der htuser schreibrechte in dem verzeichnis braucht, da der apache ja schreibt und nicht ein (virtueller) user.
 
Code:
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.php
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.php4
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.php5
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.html

Wenn ich die Alias-Zeile herausnehme, kann ich per Browser darauf zugreifen, aber dann funzt das mit den Macs nicht! Kein Mounten möglich über Server verbinden!
 
du versuchst auf /home zuzugreifen, und das darf der client nicht, weil es in deinem configauszug nicht gestattet ist.
 
Also, das in meiner config ein Zurgiff auf /home steht, kann ich nicht sehen ... seltsam!

Code:
DavLockDB /var/lib/dav

<VirtualHost xxx.xxx.xxx.xxx:443>
    ServerName webdav.meinserver.de:443
    DocumentRoot /home/webdav

    <Directory /home/webdav>
        Options Indexes MultiViews
        AllowOverride All
        Order Allow,Deny
        Allow from All
        IndexOptions FancyIndexing
        IndexOrderDefault Ascending Name

        Dav On
        AuthType Digest
        AuthName WebDAV
        AuthUserFile /usr/local/etc/apache22/passwd/webdav.passwd
        Require valid-user
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/meinserver.crt
    SSLCertificateKeyFile /etc/ssl/private/meinserver.key
    
    ErrorLog /var/log/httpd-error.log
</VirtualHost>

So ist zwar ein (Lese-)Zugriff mittels Browser möglich, aber eine Verbindung mit den Macs ist nicht möglich!
 
Code:
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.php
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.php4
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.php5
[Thu Oct 04 13:36:30 2007] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/webdavindex.html

ich meinte damit auch den auszug aus deiner error.log, oder fehlt da nur der slash jedes mal hinter webdav?
 
Ich glaube er meint, dass hinter "<Directory /home/webdav>" noch ein "/" kommt, also "<Directory /home/webdav/>", oder?

nein, das brauch eigentlich nicht (s. meine config, falls sie das von 2.0 -> 2.2 nicht geändert haben). trotzdem seltsam, dass der apache da im falschen verzeichnis zu sein scheint.
 
Zurück
Oben