NFS clientaddr преко VPN-а: одлучите по мањој верзији, не по навици
clientaddr објављује адресу повратног позива само за NFSv4.0. Прочитајте договорену мању верзију, проверите повратни пут и одвојте је од грешака приликом монтирања.
clientaddr је једна од оних опција за монтирање које се копирају у командну линију дуго након што је разлог за њих нестао. Она говори серверу NFSv4.0 где да позове клијента назад. Не бира сервер, не везује сваки захтев за изворну адресу и не гура саобраћај у тунел. На преносном рачунару са неколико адреса, да би се одлучило да ли се уопште примењује, потребна су три питања.
Три услова одлучују да ли је опција важна
Први је договорена мања верзија, јер 4.1 и 4.2 различито обрађују повратне позиве. Други је да ли сервер може да достигне адресу коју бисте објавили; рутирани тунел то обично дозвољава, а преведена путања обично не. Трећи је да ли је грешка коју пратите уопште грешка повратног позива.
| 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 |
Одговарање на њих у погрешном редоследу је начин на који људи додају адресу повратног позива на монтирање 4.2 и закључују да је опција покварена.
Прво прочитајте мању верзију
nfsstat -m
За постојеће монтирање ово исписује информације и заставице монтирања, укључујући ефективну верзију као vers=4.0, vers=4.1 или vers=4.2. Белешка која каже само “NFSv4” изоставља једини детаљ који одлучује да ли је ова опција релевантна. Читајте број, а не реч.
Ако низ за верзију долази из подразумеваног подешавања сервера, а не из ваше командне линије, питајте која је мања верзија договорена. Сервер може да одбије вишу мању верзију и да се врати назад, и управо је то враћање случај када повратни позив одједном постаје важан. Линија за монтирање коју сте написали можда не описује монтирање које имате.
За 4.0 објавите адресу коју сервер може да достигне
Серверу NFSv4.0 може бити потребна одвојена веза назад ка клијенту, на пример када опозива делегирање. Са више интерфејса или необичном табелом рутирања, аутоматско откривање адресе повратног позива може да изабере ону коју сервер не може да користи.
mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share
Адреса пре две тачке је сервер и остаје одредиште. Адреса повратног позива припада клијенту и мора бити достижна са серверске стране тунела. Адреса повратне петље усмерава сервер назад на њега самог. Приватна клијентска адреса без повратне руте је једнако неупотребљива, иако на клијенту изгледа исправно.
Користите ово као илустрацију, а не као разлог да снизите радно монтирање. Замените адресе и путању извоза и задржите аутентикацију и друге опције које сервер захтева. Њихово изостављање да би се уклопио један пример је друга промена са другим резултатом, а на серверу који намеће безбедносни тип она пропада пре него што се покуша било који повратни позив.
4.1 и 4.2 не користе ову опцију
Linux NFSv4.1 и 4.2 преносе повратне позиве преко веза које је успоставио клијент, а 4.1 то средство назива backchannel. Они не зависе од тога да ли ће сервер отворити нову везу ка објављеној адреси, па clientaddr не поправља путању повратног позива 4.1 или 4.2.
То не значи да 4.1 и 4.2 немају проблеме са повратним позивима. То значи да је дијагноза другачија: прегледајте успостављену сесију и стање њеног backchannel-а уместо да тражите долазни порт повратног позива који никада није требало да постоји. Правило за долазни саобраћај које недостаје је очекивано стање, а не дефект који треба исправити.
Одвојте грешку монтирања од грешке повратног позива
Прво утврдите да ли клијент стиже до услуге NFS и да ли сервер прихвата извоз и захтев за аутентикацију. Истек времена пре те размене не говори ништа о адреси повратног позива. Мењање једног док монтирање још увек пропада не приближава истрагу и крије првобитну грешку иза нове опције за монтирање.
Само када докази покажу неуспешан повратни позив 4.0, објављена адреса је важна, заједно са повратном путањом сервера, слушаоцем на страни клијента и било каквим филтрирањем између њих. Мењање броја у опцији за монтирање не може да створи те путање; може само да укаже на ону која већ постоји. Запишите коју од те четири сте проверили, јер ће следећи извештај стићи без ниједне од њих.
Корен NFS при раном подизању је одвојено окружење са сопственим предусловима: initramfs-у су потребни алати и мрежа пре него што монтирање може да се догоди. Монтирање које ради после пријаве ништа не доказује о том редоследу, а грешка при подизању ретко помиње initramfs или мрежу.