NFS clientaddr prek VPN: odločite se po manjši različici, ne po navadi
clientaddr oglašuje naslov povratnega klica samo za NFSv4.0. Preberite dogovorjeno manjšo različico, preverite povratno pot in jo ločite od napak pri priklapljanju.
clientaddr je ena tistih možnosti priklapljanja, ki se v ukazno vrstico kopirajo še dolgo po tem, ko je razlog zanjo izginil. Pove strežniku NFSv4.0, kam naj pokliče odjemalca nazaj. Ne izbere strežnika, ne veže vsake zahteve na izvorni naslov in ne potiska prometa v tunel. Na prenosniku z več naslovi so za odločitev, ali sploh velja, potrebna tri vprašanja.
Trije pogoji odločajo, ali je možnost pomembna
Prva je dogovorjena manjša različica, ker 4.1 in 4.2 povratne klice obravnavata drugače. Druga je, ali lahko strežnik doseže naslov, ki bi ga oglaševali; usmerjen tunel to običajno dovoli, prevedena pot pa običajno ne. Tretja je, ali je napaka, ki ji sledite, sploh napaka povratnega klica.
| 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 |
Odgovarjanje nanje v napačnem vrstnem redu je način, kako ljudje dodajo naslov povratnega klica priklapljanju 4.2 in sklenejo, da je možnost pokvarjena.
Najprej preberite manjšo različico
nfsstat -m
Za obstoječe priklapljanje to izpiše podatke o priklapljanju in zastavice, vključno z dejansko različico kot vers=4.0, vers=4.1 ali vers=4.2. Zapis, ki pravi samo “NFSv4”, izpusti edino podrobnost, ki odloča, ali je ta možnost pomembna. Berite številko, ne besede.
Če niz različice prihaja iz privzete nastavitve strežnika in ne iz vaše ukazne vrstice, vprašajte, katera manjša različica je bila dogovorjena. Strežnik lahko zavrne višjo manjšo različico in se vrne nižje, in prav ta vrnitev je primer, ko povratni klic nenadoma šteje. Vrstica priklapljanja, ki ste jo napisali, morda ne opisuje priklapljanja, ki ga imate.
Za 4.0 oglašujte naslov, ki ga strežnik lahko doseže
Strežnik NFSv4.0 lahko potrebuje ločeno povezavo nazaj do odjemalca, na primer ko prekliče delegacijo. Pri več vmesnikih ali nenavadni usmerjevalni tabeli lahko samodejno odkrivanje naslova povratnega klica izbere takega, ki ga strežnik ne more uporabiti.
mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share
Naslov pred dvopičjem je strežnik in ostane cilj. Naslov povratnega klica pripada odjemalcu in mora biti dosegljiv s strežnikove strani tunela. Naslov povratne zanke usmeri strežnik nazaj nase. Zasebni naslov odjemalca brez povratne poti je prav tako neuporaben, čeprav je na odjemalcu videti pravilen.
Uporabite to kot ponazoritev, ne kot razlog za znižanje delujočega priklapljanja. Zamenjajte naslove in pot izvoza ter obdržite overjanje in druge možnosti, ki jih zahteva strežnik. Če jih izpustite, da bi se en primer ujemal, je to druga sprememba z drugačnim rezultatom, na strežniku, ki zahteva varnostni tip, pa spodleti še preden se poskusi kakršen koli povratni klic.
4.1 in 4.2 te možnosti ne uporabljata
Linux NFSv4.1 in 4.2 prenašata povratne klice po povezavah, ki jih je vzpostavil odjemalec, in 4.1 to sredstvo imenuje backchannel. Nista odvisna od tega, ali strežnik odpre novo povezavo do oglaševanega naslova, zato clientaddr ne popravi poti povratnega klica 4.1 ali 4.2.
To ne pomeni, da 4.1 in 4.2 nimata težav s povratnimi klici. Pomeni, da je diagnoza drugačna: preglejte vzpostavljeno sejo in stanje njenega backchannela, namesto da bi iskali dohodna vrata povratnega klica, ki ne bi smela nikoli obstajati. Manjkajoče dohodno pravilo je pričakovano stanje, ne napaka, ki jo je treba popraviti.
Ločite napako priklapljanja od napake povratnega klica
Najprej ugotovite, ali odjemalec doseže storitev NFS in ali strežnik sprejme izvoz in zahtevo za overjanje. Časovna omejitev pred to izmenjavo ne pove ničesar o naslovu povratnega klica. Spreminjanje enega, medtem ko priklapljanje še vedno spodleti, preiskave ne približa in izvirno napako skrije za novo možnostjo priklapljanja.
Šele ko dokazi pokažejo neuspešen povratni klic 4.0, je oglaševani naslov pomemben, skupaj s povratno potjo strežnika, poslušalcem na strani odjemalca in morebitnim filtriranjem med njima. Spreminjanje številke v možnosti priklapljanja ne more ustvariti teh poti; lahko le pokaže na pot, ki že obstaja. Zapišite, katero od teh štirih ste preverili, ker bo naslednje poročilo prispelo brez katere koli od njih.
Koren NFS pri zgodnjem zagonu je ločeno okolje z lastnimi predpogoji: initramfs potrebuje orodja in omrežje, preden se priklapljanje lahko zgodi. Priklapljanje, ki deluje po prijavi, o tem zaporedju ne dokaže ničesar, in napaka pri zagonu le redko omeni initramfs ali omrežje.