VPN üzerinden NFS clientaddr: alışkanlığa değil küçük sürüme göre karar verin
clientaddr yalnızca NFSv4.0 için bir geri çağırma adresi duyurur. Görüşülen küçük sürümü okuyun, dönüş yolunu denetleyin ve bunu bağlama hatalarından ayırın.
clientaddr, nedeni çoktan ortadan kalktıktan sonra bile komut satırına kopyalanan bağlama seçeneklerinden biridir. Bir NFSv4.0 sunucusuna istemciyi nereden geri çağıracağını söyler. Sunucuyu seçmez, her isteği bir kaynak adresine bağlamaz ve trafiği bir tünele itmez. Birden çok adresi olan bir dizüstü bilgisayarda, bunun hiç uygulanıp uygulanmadığına karar vermek için üç soru gerekir.
Seçeneğin önemli olup olmadığına üç koşul karar verir
Birincisi görüşülen küçük sürümdür, çünkü 4.1 ve 4.2 geri çağırmaları farklı ele alır. İkincisi, sunucunun duyuracağınız adrese ulaşıp ulaşamayacağıdır; yönlendirilmiş bir tünel buna genellikle izin verir, çevrilmiş bir yol ise genellikle vermez. Üçüncüsü, peşinde olduğunuz hatanın gerçekten bir geri çağırma hatası olup olmadığıdır.
| 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 |
Onları yanlış sırayla yanıtlamak, insanların 4.2 bağlamasına bir geri çağırma adresi ekleyip seçeneğin bozuk olduğu sonucuna varma yoludur.
Önce küçük sürümü okuyun
nfsstat -m
Mevcut bir bağlama için bu, bağlama bilgilerini ve bayraklarını, etkin sürüm vers=4.0, vers=4.1 veya vers=4.2 olarak dahil ederek yazdırır. Yalnızca “NFSv4” diyen bir not, bu seçeneğin ilgili olup olmadığına karar veren tek ayrıntıyı atlar. Sözcüğü değil, sayıyı okuyun.
Sürüm dizesi komut satırınızdan değil de sunucunun varsayılanından geldiyse, hangi küçük sürümün görüşüldüğünü sorun. Sunucu daha yüksek bir küçük sürümü reddedip geri düşebilir ve tam da bu düşüş, bir geri çağırmanın aniden önem kazandığı durumdur. Yazdığınız bağlama satırı, sahip olduğunuz bağlamayı tanımlamıyor olabilir.
4.0 için sunucunun ulaşabileceği bir adres duyurun
Bir NFSv4.0 sunucusu, örneğin bir yetkilendirmeyi geri çağırdığında istemciye doğru ayrı bir bağlantıya ihtiyaç duyabilir. Birden çok arayüz veya olağandışı bir yönlendirme tablosu olduğunda, geri çağırma adresinin otomatik keşfi sunucunun kullanamayacağı bir adresi seçebilir.
mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share
İki noktadan önceki adres sunucudur ve hedef olarak kalır. Geri çağırma adresi istemciye aittir ve tünelin sunucu tarafından erişilebilir olmalıdır. Bir loopback adresi sunucuyu kendisine geri yönlendirir. Dönüş yolu olmayan özel bir istemci adresi de aynı derecede kullanılamaz, istemcide doğru görünse bile.
Bunu bir örnek olarak kullanın, çalışan bir bağlamayı düşürmek için gerekçe olarak değil. Adresleri ve dışa aktarma yolunu değiştirin, sunucunun istediği kimlik doğrulamayı ve diğer seçenekleri koruyun. Tek bir örnek uysun diye bunları bırakmak, farklı sonuç veren farklı bir değişikliktir ve güvenlik türünü zorunlu kılan bir sunucuda herhangi bir geri çağırma denenmeden önce başarısız olur.
4.1 ve 4.2 bu seçeneği kullanmaz
Linux NFSv4.1 ve 4.2 geri çağırmaları istemcinin kurduğu bağlantılar üzerinden taşır ve 4.1 bu olanağı backchannel olarak adlandırır. Sunucunun duyurulan bir adrese yeni bağlantı açmasına bağlı değildirler, bu yüzden clientaddr 4.1 veya 4.2 geri çağırma yolunu onarmaz.
Bu, 4.1 ve 4.2'nin geri çağırma sorunları olmadığı anlamına gelmez. Tanının farklı olduğu anlamına gelir: hiç var olmaması gereken bir gelen geri çağırma bağlantı noktası aramak yerine kurulmuş oturumu ve backchannel durumunu inceleyin. Eksik bir gelen kuralı beklenen durumdur, düzeltilecek bir kusur değil.
Bağlama hatasını geri çağırma hatasından ayırın
Önce istemcinin NFS hizmetine ulaşıp ulaşmadığını ve sunucunun dışa aktarmayı ve kimlik doğrulama isteğini kabul edip etmediğini saptayın. O alışverişten önceki bir zaman aşımı, geri çağırma adresi hakkında hiçbir şey söylemez. Bağlama hâlâ başarısızken birini değiştirmek soruşturmayı yaklaştırmaz ve özgün hatayı yeni bir bağlama seçeneğinin arkasına saklar.
Yalnızca kanıtlar başarısız bir 4.0 geri çağırması gösterdiğinde duyurulan adres önem kazanır; sunucunun dönüş yolu, istemci tarafındaki dinleyici ve ikisi arasındaki her türlü filtrelemeyle birlikte. Bağlama seçeneğindeki sayıyı değiştirmek o yolları oluşturamaz; yalnızca zaten var olan bir yolu gösterebilir. Bu dördünden hangisini doğruladığınızı yazın, çünkü bir sonraki rapor hiçbiri olmadan gelecektir.
Erken önyüklemedeki NFS kökü, kendi önkoşulları olan ayrı bir ortamdır: initramfs'in, bağlama gerçekleşmeden önce araçlara ve ağa ihtiyacı vardır. Oturum açtıktan sonra çalışan bir bağlama bu sıra hakkında hiçbir şey kanıtlamaz ve önyüklemedeki hata initramfs ya da ağdan nadiren söz eder.