NFS auf Fritzbox 7141

m00k002

Neuer User
Mitglied seit
30 Nov 2012
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo Gemeinde,

ich habe, wie im Titel erwähnt, eine Fritzbox 7141, geflasht mit der neuesten stable von Freetz. Nun möchte ich eine 2,5" USB Festplatte an diese anschliessen und via NFS freigeben. Ich habe also Freetz entsprechend konfiguriert bevor ich es kompiliert habe und habe danach folgende Einstellungen im Freetz Web-Interface vorgenommen:

Inhalt von "exports":

Code:
/var/media/ftp/uStor05/test 192.168.0.2(rw)

Inhalt von "hosts.allow":

Code:
ALL: ALL

Inhalt von "hosts.deny":

Code:
leer, d.h. nix, nada, njente ;)

Die Festplatte habe ich mit EXT3 formatiert, sie wird auch von der Fritzbox erkannt und kann ohne Probleme via FTP freigegeben werden. Auf der Festplatte befindet sich ein Ordner namens "test" (siehe oben). Die Rechte sind entsprechend gesetzt und per FTP kann auch auf diesen Ordner geschrieben werden. Auf der Fritzbox gibt es scheinbar keinerlei Probleme, zumindest habe ich keinerlei Fehler in den Logs erkennen können. Die Fritzbox läuft auf der IP 192.168.0.1 und ich möchte vom Rechner mit der IP 192.168.0.2. aus die NFS-Freigabe mounten.

Gebe ich folgendes ein:

Code:
sudo mount -t nfs -o vers=3 192.168.0.1:/var/media/ftp/uStor05/test /home/user/nfs-drive

Passiert nichts. Es gibt keine Ausgabe auf der Console und es passiert auch sonst einfach überhaupt nichts. Verwende ich hingegen:

Code:
sudo mount -t nfs -o vers=3 192.168.0.1:/var/media/ftp/uStor05/test /home/user/nfs-drive -vvv

Bekomme ich folgende Ausgaben präsentiert:

Code:
mount: fstab path: "/etc/fstab"
mount: mtab path:  "/etc/mtab"
mount: lock path:  "/etc/mtab~"
mount: temp path:  "/etc/mtab.tmp"
mount: UID:        0
mount: eUID:       0
mount: spec:  "192.168.0.1:/var/media/ftp/uStor05/test"
mount: node:  "/home/user/nfs-drive"
mount: types: "nfs"
mount: opts:  "vers=3"
mount: external mount: argv[0] = "/sbin/mount.nfs"
mount: external mount: argv[1] = "192.168.0.1:/var/media/ftp/uStor05/test"
mount: external mount: argv[2] = "/home/user/nfs-drive"
mount: external mount: argv[3] = "-v"
mount: external mount: argv[4] = "-o"
mount: external mount: argv[5] = "rw,vers=3"
mount.nfs: timeout set for Thu Nov 29 21:59:42 2012
mount.nfs: trying text-based options 'vers=3,addr=192.168.0.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.0.1 prog 100003 vers 3 prot TCP port 1
mount.nfs: portmap query failed: RPC: Remote system error - Connection refused
mount.nfs: trying text-based options 'vers=3,addr=192.168.0.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.0.1 prog 100003 vers 3 prot TCP port 1
mount.nfs: portmap query failed: RPC: Remote system error - Connection refused
mount.nfs: trying text-based options 'vers=3,addr=192.168.0.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.0.1 prog 100003 vers 3 prot TCP port 1
mount.nfs: portmap query failed: RPC: Remote system error - Connection refused

Ok, so weit so gut, offensichtlich gibt es Probleme mit RPC, genauer gesagt mit den Portmap Queries. Das merkwürdige daran ist nur, dass "rpcinfo" alle RPC-Dienste als verfügbar anzeigt und der Befehl innerhalb von einer Sekunde ohne Probleme durchläuft. Ich bin nun mittlerweile etwas ratlos, da es für mich so aussieht, als wenn alles in Ordnung wäre, ich jedoch trotzdem keine Verbindung zum NFS herstellen kann.

Deswegen wende ich mich hiermit an euch und hoffe auf konstruktive Lösungsvorschläge :)

Vielen Dank schon mal für eure Zeit und Aufmerksamkeit und bis bald ;)
 
Hallo,

ich bekomme folgendes als Antwort:

Code:
~$ rpcinfo -p 192.168.0.1
   program vers proto   port  service
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100003    2   udp      1  nfs
    100003    3   udp      1  nfs
    100003    2   tcp      1  nfs
    100003    3   tcp      1  nfs
    100005    1   udp   2058  mountd
    100005    1   tcp   2053  mountd
    100021    1   udp      1  nlockmgr
    100021    3   udp      1  nlockmgr
    100005    2   udp   2058  mountd
    100021    4   udp      1  nlockmgr
    100005    2   tcp   2053  mountd
    100021    1   tcp      1  nlockmgr
    100021    3   tcp      1  nlockmgr
    100005    3   udp   2058  mountd
    100021    4   tcp      1  nlockmgr
    100005    3   tcp   2053  mountd

Falls ihr noch irgendwas wissen müsst, so sagt mir bitte Bescheid, ich wüsste sonst nicht, was ich noch posten sollte.

Danke und viele Grüsse
 
Nach einem Vergleich der Ausgabe bei Dir und bei mir vermute ich, dass Portmap zwar auf TCP angekündigt ist, tatsächlich aber Verbindungen über TCP nicht annimmt. Evtl. wurde Portmap mit der Option -l gestartet.
Über UDP scheint Portmap aber zu antworten, zumindest kommen keine anders lautenden Meldungen. Portmap gibt aber für NFS (und für nlockmgr) den Port 1 an, der ungewöhnlich ist. Mount versucht auch eine Verbindung auf Port 1, diese funktioniert aber nicht.
 
Hallo,

ich denke auch, dass es dieses Problem sein wird. Portmap wird Port 1 announcen, allerdings wird auf Port 111 gelauscht:

Code:
root@fritz:/# netstat -tapn | grep LISTEN
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      639/telefon
tcp        0      0 0.0.0.0:49443           0.0.0.0:*               LISTEN      545/upnpd
tcp        0      0 0.0.0.0:5060            0.0.0.0:*               LISTEN      649/voipd
tcp        0      0 0.0.0.0:49000           0.0.0.0:*               LISTEN      545/upnpd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      2729/smbd
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      3057/portmap
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      460/ctlmgr
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      460/ctlmgr
tcp        0      0 0.0.0.0:81              0.0.0.0:*               LISTEN      1081/httpd-webcfg
tcp        0      0 127.0.0.1:1011          0.0.0.0:*               LISTEN      639/telefon
tcp        0      0 0.0.0.0:1012            0.0.0.0:*               LISTEN      639/telefon
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2685/ftpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      927/dropbear
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      640/telnetd
tcp        0      0 0.0.0.0:2424            0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      639/telefon
tcp        0      0 0.0.0.0:2425            0.0.0.0:*               LISTEN      3064/mountd
tcp        0      0 0.0.0.0:8089            0.0.0.0:*               LISTEN      460/ctlmgr
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      2729/smbd
tcp        0      0 0.0.0.0:2047            0.0.0.0:*               LISTEN      -

Laut "/etc/init.d/rc.nfsd" wird Portmap allerdings nicht mit -l gestartet ... dort findet sich keine Option im Source.
Die Frage ist nun: Was soll ich tun? Wie kann ich Portmap umkonfigurieren, so dass es funktionieren wird? :S

Auf einem normalen Linux-System dürfte folgender "dirty Hack" funktionieren denk ich:

Code:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1 -j REDIRECT --to-port 111

Aber wie kann ich das der FritzBox beibringen? ;D


Viele Grüsse
 
Nicht Portmap wird auf Port 1 announced, sondern nfs und nlockmgr.

Schau mal mit tcpdump, was tatsächlich im Netz abläuft.

Netstat hat übrigens die Option -l, damit kann man sich das grep auf LISTEN sparen.
 
Hallo Ralf,

vielen Dank für deine Geduld und Hilfe.

Ich würde das gerne so tun wie du schreibst, allerdings ist es mir irgendwie nicht möglich ein Image für die Fritzbox zu erstellen, welches meine gewünschten Features enthält und zusätzlich noch TCPDump, weil das Image dann immer zu gross wird. Das heisst, dass ich wenn überhaupt nur auf dem Client sniffen könnte.

Kann mir denn nicht einer hier mal sagen wo die ganzen Konfigurationsdateien von Portmap sind, so dass ich da vielleicht ein wenig mit rumspielen kann? Ich frage mich auch wieso das scheinbar niemandem aufgefallen ist und wieso ich irgendwie der einzige mit diesem Problem hier bin. Ich habe doch lediglich alles total standardmässig konfiguriert bei der Erstellung der Custom-Firmware ... da kann man doch noch nicht mal irgendwas spezielles für NFS einstellen 8o
 
Es gibt keine Konfigurationsdateien von Portmap. Portmap wird einfach gestartet, danach melden sich alle Server beim Portmap auf Port 111 an, und die Clients bekommen eine Liste der Server.
Du muss also herausfinden, warum sich die Server mit Port 1 anmelden, bzw. warum Portmap glaubt, dass sie auf Port 1 wären.
 
Danke für deine Bemühungen Ralf,

aber leider hilft mir das alles nicht und ich bin immer noch kein Stück weiter in dieser Angelegenheit.

Ich häbe ja gehofft, dass sich mal einer der Entwickler zu diesem Thema äussert, aber scheinbar ist dieses Problem so komplex, dass lieber gar nicht erst darauf eingegangen wird. Wirklich schade, da tummeln sich hier jeden Tag mehrere von den Entwicklern rum und nicht einer kann mal einen kleinen Hinweis geben woran das Problem liegen könnte. Es ist ja auch nicht so, als wenn ich jetzt irgendwas ganz spezielles in die Firmware eingebaut hätte. Alles was ich getan habe war die entsprechenden Standard-Features mit "menuconfig" einzustellen, die Firmware zu kompilieren und anschliessend zu installieren, hier liegt also scheinbar irgendwo ein ziemlich dicker Hund begraben, nur scheint das irgendwie niemanden so Recht zu interessieren.

So long ... Danke für den Sourcecode, vielleicht bekomme ich es ja eines Tages, wenn ich mal genug Zeit für intensives Debugging habe, selber hin.
 
Ralf ist ein Entwickler. Und warum soll ich mich dazu äußern, wenn ich keine 7141 habe und auf deine Fragen keine Antworten habe!?

NFS war schon immer ein bisschen schwierig. Auf manchen Boxen funktioniert es nur mit "replace kernel". Auf manchen Boxen mussten wir im Kernel den source port umlegen...

Gruß
Oliver
 
Wie Olistudent sagt: "replace kernel" einschalten. Es wird vermutlich den NFS-Problem lösen.
 

Statistik des Forums

Themen
246,172
Beiträge
2,247,422
Mitglieder
373,715
Neuestes Mitglied
wesleymoons87
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.