NFS clientaddr melalui VPN: putuskan mengikut versi minor, bukan kebiasaan
clientaddr mengiklankan alamat panggilan balik hanya untuk NFSv4.0. Baca versi minor yang dirundingkan, semak laluan pulang, dan asingkan ia daripada kegagalan mount.
clientaddr ialah salah satu pilihan mount yang disalin ke baris arahan lama selepas sebabnya hilang. Ia memberitahu pelayan NFSv4.0 ke mana hendak memanggil balik klien. Ia tidak memilih pelayan, tidak mengikat setiap permintaan pada alamat sumber, dan tidak menolak trafik ke dalam terowong. Pada komputer riba dengan beberapa alamat, untuk memutuskan sama ada ia terpakai sama sekali memerlukan tiga soalan.
Tiga syarat menentukan sama ada pilihan itu penting
Yang pertama ialah versi minor yang dirundingkan, kerana 4.1 dan 4.2 mengendalikan panggilan balik secara berbeza. Yang kedua ialah sama ada pelayan boleh mencapai alamat yang anda akan iklankan, yang biasanya dibenarkan oleh terowong berpenghalaan dan biasanya tidak dibenarkan oleh laluan terjemahan. Yang ketiga ialah sama ada kegagalan yang anda kejar itu memang kegagalan panggilan balik.
| 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 |
Menjawabnya mengikut urutan yang salah ialah cara orang menambah alamat panggilan balik pada mount 4.2 dan menyimpulkan bahawa pilihan itu rosak.
Baca versi minor dahulu
nfsstat -m
Untuk mount sedia ada, ini mencetak maklumat dan bendera mount, termasuk versi berkesan sebagai vers=4.0, vers=4.1 atau vers=4.2. Nota yang hanya menyebut “NFSv4” tertinggal satu-satunya perincian yang menentukan sama ada pilihan ini berkaitan. Baca nombornya, bukan perkataannya.
Jika rentetan versi datang daripada nilai lalai pelayan dan bukan daripada baris arahan anda, tanya versi minor mana yang dirundingkan. Pelayan boleh menolak versi minor yang lebih tinggi dan berundur, dan unduran itulah keadaan apabila panggilan balik tiba-tiba penting. Baris mount yang anda tulis mungkin tidak menggambarkan mount yang anda miliki.
Untuk 4.0, iklankan alamat yang boleh dicapai oleh pelayan
Pelayan NFSv4.0 mungkin memerlukan sambungan berasingan kembali ke klien, contohnya apabila ia menarik balik delegasi. Dengan berbilang antara muka atau jadual penghalaan yang luar biasa, penemuan automatik alamat panggilan balik boleh memilih satu yang tidak dapat digunakan oleh pelayan.
mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share
Alamat sebelum titik bertindih ialah pelayan dan kekal sebagai destinasi. Alamat panggilan balik milik klien, dan ia mesti boleh dicapai dari sisi pelayan terowong itu. Alamat gelung balik menghantar pelayan kembali kepada dirinya sendiri. Alamat klien peribadi tanpa laluan pulang sama tidak boleh digunakan, walaupun ia kelihatan betul pada klien.
Gunakan ini sebagai ilustrasi, bukan sebab untuk menurunkan mount yang berfungsi. Ganti alamat dan laluan eksport, dan kekalkan pengesahan serta pilihan lain yang dikehendaki oleh pelayan. Meninggalkannya supaya satu contoh sesuai ialah perubahan lain dengan hasil lain, dan pada pelayan yang menguatkuasakan jenis keselamatan ia gagal sebelum sebarang panggilan balik dicuba.
4.1 dan 4.2 tidak menggunakan pilihan itu
Linux NFSv4.1 dan 4.2 membawa panggilan balik melalui sambungan yang dibina oleh klien, dan 4.1 menamakan kemudahan itu backchannel. Kedua-duanya tidak bergantung pada pelayan membuka sambungan baharu ke alamat yang diiklankan, jadi clientaddr tidak membaiki laluan panggilan balik 4.1 atau 4.2.
Itu tidak bermakna 4.1 dan 4.2 tiada masalah panggilan balik. Ia bermakna diagnosisnya berbeza: periksa sesi yang telah dibina dan keadaan backchannelnya dan bukan mencari port panggilan balik masuk yang memang tidak sepatutnya wujud. Peraturan masuk yang tiada ialah keadaan yang dijangka, bukan kecacatan yang perlu dibetulkan.
Asingkan kegagalan mount daripada kegagalan panggilan balik
Tetapkan dahulu sama ada klien mencapai perkhidmatan NFS dan sama ada pelayan menerima eksport serta permintaan pengesahan. Tamat masa sebelum pertukaran itu tidak berkata apa-apa tentang alamat panggilan balik. Menukar satu perkara semasa mount masih gagal tidak mendekatkan siasatan, dan ia menyembunyikan ralat asal di sebalik pilihan mount baharu.
Hanya apabila bukti menunjukkan panggilan balik 4.0 yang gagal barulah alamat yang diiklankan penting, bersama laluan pulang pelayan, pendengar di sisi klien dan sebarang penapisan antaranya. Menukar nombor dalam pilihan mount tidak dapat mencipta laluan itu; ia hanya boleh menunjuk kepada laluan yang sudah wujud. Catat yang mana antara empat itu yang anda sahkan, kerana laporan seterusnya akan tiba tanpa satu pun daripadanya.
Akar NFS semasa boot awal ialah persekitaran berasingan dengan prasyaratnya sendiri: initramfs memerlukan alat dan rangkaian sebelum mount boleh berlaku. Mount yang berfungsi selepas log masuk tidak membuktikan apa-apa tentang urutan itu, dan kegagalan semasa boot jarang menyebut initramfs atau rangkaian.