clientaddr este una dintre acele opțiuni de montare care sunt copiate într-o linie de comandă mult după ce motivul lor a dispărut. Îi spune unui server NFSv4.0 unde să apeleze clientul înapoi. Nu alege serverul, nu leagă fiecare cerere de o adresă sursă și nu împinge traficul într-un tunel. Pe un laptop cu mai multe adrese, pentru a decide dacă se aplică deloc sunt necesare trei întrebări.

Trei condiții decid dacă opțiunea contează

Prima este versiunea minoră negociată, deoarece 4.1 și 4.2 tratează apelurile inverse diferit. A doua este dacă serverul poate ajunge la adresa pe care ați anunța-o, ceea ce un tunel rutat permite de obicei, iar o cale tradusă de obicei nu. A treia este dacă eșecul pe care îl urmăriți este măcar un eșec de apel invers.

ConditionIf yesIf no
Version is 4.0The option can matterSkip it; inspect the session instead
Server can reach the addressAdvertise itFix reachability first
Failure is a callbackDiagnose callback pathLook at mount and export

Răspunsul la ele în ordine greșită este modul în care oamenii ajung să adauge o adresă de apel invers la o montare 4.2 și să concluzioneze că opțiunea este stricată.

Citiți mai întâi versiunea minoră

nfsstat -m

Pentru o montare existentă, aceasta tipărește informațiile și fanioanele montării, inclusiv versiunea efectivă ca vers=4.0, vers=4.1 sau vers=4.2. O notă care spune doar “NFSv4” omite singurul detaliu care decide dacă această opțiune este relevantă. Citiți numărul, nu cuvântul.

Dacă șirul versiunii a venit dintr-o valoare implicită a serverului și nu din linia dumneavoastră de comandă, întrebați ce versiune minoră a fost negociată. Un server poate refuza o versiune minoră mai mare și poate reveni, iar exact acea revenire este cazul în care un apel invers contează brusc. Linia de montare pe care ați scris-o poate să nu descrie montarea pe care o aveți.

Pentru 4.0, anunțați o adresă la care serverul poate ajunge

Un server NFSv4.0 poate avea nevoie de o conexiune separată înapoi la client, de exemplu când revocă o delegare. Cu mai multe interfețe sau un tabel de rutare neobișnuit, descoperirea automată a unei adrese de apel invers poate alege una pe care serverul nu o poate folosi.

mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share

Adresa dinaintea celor două puncte este serverul și rămâne destinația. Adresa de apel invers aparține clientului și trebuie să fie accesibilă din partea serverului a tunelului. O adresă de buclă întoarce serverul către el însuși. O adresă privată de client fără rută de întoarcere este la fel de inutilizabilă, chiar dacă pe client pare corectă.

Folosiți aceasta ca ilustrație, nu ca motiv pentru a retrograda o montare funcțională. Înlocuiți adresele și calea de export și păstrați autentificarea și celelalte opțiuni cerute de server. Omiterea lor pentru a se potrivi un exemplu este o altă modificare cu alt rezultat, iar pe un server care impune un tip de securitate eșuează înainte de a se încerca vreun apel invers.

4.1 și 4.2 nu folosesc opțiunea

Linux NFSv4.1 și 4.2 transportă apelurile inverse pe conexiuni stabilite de client, iar 4.1 numește această facilitate backchannel. Ele nu depind de deschiderea de către server a unei conexiuni noi către o adresă anunțată, așa că clientaddr nu repară o cale de apel invers 4.1 sau 4.2.

Asta nu înseamnă că 4.1 și 4.2 nu au probleme cu apelurile inverse. Înseamnă că diagnosticul este diferit: examinați sesiunea stabilită și starea backchannel-ului ei în loc să căutați un port de apel invers de intrare care nu ar fi trebuit să existe niciodată. O regulă de intrare lipsă este starea așteptată, nu un defect de corectat.

Separați un eșec de montare de un eșec de apel invers

Stabiliți mai întâi dacă clientul ajunge la serviciul NFS și dacă serverul acceptă exportul și cererea de autentificare. Un timp de așteptare înainte de acel schimb nu spune nimic despre o adresă de apel invers. Schimbarea uneia cât timp montarea încă eșuează nu apropie investigația și ascunde eroarea originală în spatele unei noi opțiuni de montare.

Numai când dovezile arată un apel invers 4.0 eșuat contează adresa anunțată, împreună cu calea de întoarcere a serverului, ascultătorul din partea clientului și orice filtrare între ele. Schimbarea numărului din opțiunea de montare nu poate crea acele căi; poate doar indica una care există deja. Notați pe care dintre cele patru le-ați verificat, fiindcă următorul raport va sosi fără niciuna dintre ele.

O rădăcină NFS la pornirea timpurie este un mediu separat cu propriile condiții prealabile: initramfs are nevoie de instrumente și de rețea înainte ca montarea să poată avea loc. O montare care funcționează după autentificare nu dovedește nimic despre acea secvență, iar eșecul la pornire menționează rar initramfs sau rețeaua.

Articole similare