NFS-clientaddr oor VPN: besluit volgens die minor-weergawe, nie volgens gewoonte nie
clientaddr adverteer slegs vir NFSv4.0 ’n terugroepadres. Lees die onderhandelde minor-weergawe, kontroleer die terugpad en skei dit van monteerfoute.
clientaddr is een van daardie monteeropsies wat lank nadat die rede daarvoor verdwyn het, in ’n opdragreël oorgedra word. Dit sê vir ’n NFSv4.0-bediener waarheen dit die kliënt moet terugroep. Dit kies nie die bediener nie, bind nie elke versoek aan ’n bronadres nie en stuur nie verkeer in ’n tonnel. Op ’n skootrekenaar met verskeie adresse verg dit drie vrae om te besluit of dit hoegenaamd van toepassing is.
Drie voorwaardes bepaal of die opsie saak maak
Die eerste is die onderhandelde minor-weergawe, want 4.1 en 4.2 hanteer terugroepe anders. Die tweede is of die bediener die adres kan bereik wat jy sou adverteer; ’n geroteerde tonnel laat dit gewoonlik toe en ’n vertaalde pad gewoonlik nie. Die derde is of die fout wat jy jaag hoegenaamd ’n terugroepfout is.
| Condition | If yes | If no |
|---|---|---|
| Version is 4.0 | The option can matter | Skip it; inspect the session instead |
| Server can reach the address | Advertise it | Fix reachability first |
| Failure is a callback | Diagnose callback path | Look at mount and export |
Om hulle uit volgorde te beantwoord, is hoe mense ’n terugroepadres by ’n 4.2-monteer voeg en dan tot die gevolgtrekking kom dat die opsie stukkend is.
Lees eers die minor-weergawe
nfsstat -m
Vir ’n bestaande monteer druk dit die monteerinligting en vlae, insluitend die effektiewe weergawe as vers=4.0, vers=4.1 of vers=4.2. ’n Nota wat net “NFSv4” sê, laat die een besonderheid weg wat bepaal of hierdie opsie tersaaklik is. Lees die nommer eerder as die woord.
As die weergawe string van ’n bediener-verstek eerder as jou opdragreël kom, vra watter minor-weergawe onderhandel is. ’n Bediener kan ’n hoër minor-weergawe weier en terugval, en daardie terugval is juis die geval waar ’n terugroep skielik saak maak. Die monteerlyn wat jy geskryf het, beskryf dalk nie die monteer wat jy het nie.
Adverteer vir 4.0 ’n adres wat die bediener kan bereik
’n NFSv4.0-bediener het dalk ’n aparte verbinding terug na die kliënt nodig, byvoorbeeld wanneer dit ’n delegasie herroep. Met verskeie koppelvlakke of ’n ongewone roetetabel kan die outomatiese ontdekking van ’n terugroepadres een kies wat die bediener nie kan gebruik nie.
mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share
Die adres voor die dubbelpunt is die bediener en bly die bestemming. Die terugroepadres behoort aan die kliënt, en dit moet bereikbaar wees vanaf die bediener se kant van die tonnel. ’n Loopback-adres wys die bediener terug na homself. ’n Privaat kliëntadres sonder ’n terugroete is net so onbruikbaar, selfs al lyk dit reg op die kliënt.
Gebruik dit as ’n illustrasie, nie as ’n rede om ’n werkende monteer af te gradeer nie. Vervang die adresse en die uitvoerpad, en hou die verifikasie en ander opsies wat die bediener vereis. Om hulle te laat val sodat een voorbeeld pas, is ’n ander verandering met ’n ander resultaat, en op ’n bediener wat ’n sekuriteitsgeur afdwing, misluk dit voor enige terugroep gepoog word.
4.1 en 4.2 gebruik nie die opsie nie
Linux NFSv4.1 en 4.2 dra terugroepe oor verbindings wat die kliënt gevestig het, en 4.1 noem daardie fasiliteit die backchannel. Hulle is nie afhanklik daarvan dat die bediener ’n nuwe verbinding na ’n geadverteerde adres oopmaak nie, so clientaddr herstel nie ’n 4.1- of 4.2-terugroepad nie.
Dit beteken nie dat 4.1 en 4.2 geen terugroep-probleme het nie. Dit beteken die diagnose is anders: ondersoek die gevestigde sessie en sy backchannel-toestand eerder as om te soek na ’n inkomende terugroep-poort wat nooit bedoel was om te bestaan nie. ’n Ontbrekende inkomende reël is die verwagte toestand, nie ’n fout om reg te maak nie.
Skei ’n monteerfout van ’n terugroepfout
Stel eers vas of die kliënt die NFS-diens bereik en of die bediener die uitvoer en die verifikasieversoek aanvaar. ’n Tydverstreke voor daardie uitruiling sê niks oor ’n terugroepadres nie. Om een te verander terwyl die monteer nog steeds misluk, bring die ondersoek nie nader nie, en dit verberg die oorspronklike fout agter ’n nuwe monteeropsie.
Eers wanneer die bewyse ’n mislukte 4.0-terugroep toon, maak die geadverteerde adres saak, saam met die bediener se terugpad, die kliëntkant-luisteraar en enige filtering tussen hulle. Om die nommer in die monteeropsie te verander, kan nie daardie paaie skep nie; dit kan net na een wys wat reeds bestaan. Skryf neer watter van daardie vier jy geverifieer het, want die volgende verslag sal sonder enige van hulle aankom.
’n Vroeë-opstart NFS-wortel is ’n aparte omgewing met sy eie voorvereistes: die initramfs het die gereedskap en die netwerk nodig voordat die monteer kan plaasvind. ’n Monteer wat na aanmelding werk, bewys niks oor daardie volgorde nie, en die fout by die opstart noem selde óf die initramfs óf die netwerk.