Menghubungkan klien NFS

Halaman ini menjelaskan cara menghubungkan klien NFS.

Sebelum memulai

Instal alat klien NFS berdasarkan jenis distribusi Linux untuk menyiapkan klien:

RedHat

Jalankan perintah berikut:

sudo yum install -y nfs-utils

SuSe

Jalankan perintah berikut:

sudo yum install -y nfs-utils

Debian

Jalankan perintah berikut:

sudo apt-get install nfs-common

Ubuntu

Jalankan perintah berikut:

sudo apt-get install nfs-common

Kontrol akses volume menggunakan kebijakan ekspor

Kontrol akses volume di NFSv3 dan NFSv4.1 didasarkan pada alamat IP klien. Kebijakan ekspor volume berisi hingga 20 aturan ekspor. Setiap aturan adalah daftar IP atau CIDR jaringan yang dipisahkan koma yang menentukan Klien yang Diizinkan yang diaktifkan untuk memasang volume. Aturan juga menentukan jenis akses yang dimiliki klien, seperti Baca & Tulis atau Baca Saja.

Gunakan tab berikut untuk meninjau kebijakan berdasarkan versi NFS:

NFS tanpa Kerberos

Semua versi NFS tanpa Kerberos menggunakan rasa keamanan AUTH_SYS. Dalam mode ini, Anda harus mengelola aturan ekspor dengan cermat untuk hanya mengizinkan klien yang Anda percayai dan yang dapat memastikan integritas ID pengguna dan ID grup.

Sebagai langkah keamanan, server NFS secara otomatis memetakan panggilan NFS dengan UID=0 (root) ke UID=65534 (anonim), yang memiliki izin terbatas pada sistem file. Untuk mengetahui informasi selengkapnya, lihat Penyatuan ID pengguna.

NFSv4.1 dengan Kerberos

NFSv4.1 dengan Kerberos menggunakan kebijakan ekspor dan autentikasi tambahan menggunakan Kerberos untuk mengakses volume. Anda dapat mengonfigurasi aturan ekspor yang akan diterapkan untuk berikut ini:

  • Khusus Kerberos (krb5)

  • Penandatanganan Kerberos (krb5i)

  • Privasi Kerberos (krb5p)

Praktik terbaik untuk kebijakan ekspor

Kami merekomendasikan praktik terbaik berikut untuk kebijakan ekspor:

  • Urutkan aturan ekspor dari yang paling spesifik hingga yang paling tidak spesifik.

  • Ekspor hanya ke klien tepercaya, seperti klien atau CIDR tertentu dengan klien tepercaya.

  • Batasi akses root ke sekelompok kecil klien administrasi tepercaya.

Aturan Klien yang diizinkan Akses Akses root Deskripsi
1 10.10.5.3,
10.10.5.9
Baca & Tulis Aktif Klien administrasi. Pengguna root tetap menjadi root dan dapat mengelola
semua izin file.
2 10.10.5.0/24 Baca & Tulis Nonaktif Semua klien lain dari jaringan 10.10.5.0/24 diizinkan untuk melakukan pemasangan,
tetapi akses root dipetakan ke nobody.
3 10.10.6.0/24 Hanya Baca Nonaktif Jaringan lain diizinkan membaca data dari volume, tetapi
tidak ada penulisan.

Setelah klien memasang volume, akses tingkat file akan menentukan tindakan yang diizinkan bagi pengguna. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses tingkat file NFS untuk volume gaya UNIX.

Penyatuan ID Pengguna

Kebijakan ekspor NFS menyediakan kontrol untuk penyusutan ID pengguna dan grup, yang memungkinkan Anda memetakan ulang ID pengguna dan grup ke ID pengguna anonim untuk tujuan keamanan.

Penggabungan root

Server NFS meningkatkan keamanan dengan memetakan ulang pengguna root (UID=0) ke nobody (UID=65534), yang membuat root menjadi pengguna yang tidak memiliki hak istimewa untuk akses file di volume. Fitur ini dikenal sebagai root squashing. Opsi untuk menonaktifkannya dan mempertahankan hak istimewa root disebut no_root_squash di server NFS.

Secara default, volume tanpa kebijakan ekspor yang ditentukan tidak dapat diakses oleh alamat IP klien. Saat Anda membuat aturan kebijakan ekspor di konsol Google Cloud , setelan default mencakup akses Baca & Tulis dan root squash.Google Cloud API, Google Cloud CLI, dan Terraform sebelumnya mendukung kontrol terhadap root squashing menggunakan parameter has-root-access. Meskipun has-root-access masih diterima, parameter ini telah diganti dengan parameter squash-mode.

Sebagai praktik terbaik, buat aturan ekspor khusus yang memungkinkan akses root untuk host administrator tepercaya Anda dan menonaktifkan akses root untuk klien lain. Tempatkan aturan ini terlebih dahulu, sebelum aturan yang lebih umum.

Penyatuan ID pengguna dan grup

Parameter squash-mode memberikan kontrol atas penggabungan ID pengguna dan grup ke UID anonim, yang dapat berguna untuk direktori dropbox SFTP publik. Parameter ini juga menggantikan parameter has-root-access dan didukung di seluruh API, Google Cloud CLI, dan Terraform.

Parameter squash-mode menerima nilai berikut:

  • no-root-squash: dalam mode ini, pengguna root tetap menjadi root dan tidak dipetakan ulang ke nobody (UID=65534).

  • root-squash: setelan ini memetakan ulang pengguna root ke nobody.

  • all-squash: opsi ini memberikan akses anonim untuk semua pengguna, termasuk root. Semua pengguna dipetakan ulang ke UID dan GID yang ditentukan oleh parameter anon-uid. Saat menggunakan all-squash, Anda juga harus menentukan anon-uid, dan menetapkan access-type ke READ_WRITE.

Pertimbangan

Pertimbangkan hal berikut untuk aturan kebijakan ekspor dengan squash mode:

  • Kebijakan ekspor hanya mendukung satu aturan all-squash.

  • Jika all-squash diaktifkan, pengguna root akan digabungkan menjadi anonim. Hal ini dapat digantikan oleh aturan prioritas yang lebih tinggi yang menggunakan no-root-squash.

  • Replikasi volume tidak didukung untuk volume dengan aturan kebijakan ekspor gaya squash-mode.

  • Untuk tingkat layanan Flex, all-squash tidak mengubah kepemilikan inode root volume secara otomatis. Untuk melakukannya, tambahkan aturan ekspor no-root-squash, yang memungkinkan pengguna root menggunakan chown untuk mengubah kepemilikan inode root ke UID yang diperlukan.

  • Parameter has-root-access didukung. Gunakan salah satu dari has-root-access atau squash-mode; jangan gunakan kedua parameter secara bersamaan.

Mengedit volume

Gunakan petunjuk berikut untuk memperbarui kebijakan ekspor volume dengan squash-mode menggunakan Google Cloud CLI:

gcloud

Perbarui volume dengan kebijakan ekspor menggunakan squash-mode:

gcloud netapp volumes update VOLUME_ID \
  --project=PROJECT_ID \
  --location=LOCATION \
  --export-policy=access-type=ACCESS_TYPE,squash-mode=SQUASH_MODE,anon-uid=ANON_UID,allowed-clients=ALLOWED_CLIENTS_IP_ADDRESSES

Ganti informasi berikut:

  • VOLUME_ID: ID volume.

  • PROJECT_ID: nama project tempat volume berada.

  • LOCATION: lokasi volume.

  • ACCESS_TYPE: jenis akses harus salah satu dari READ_WRITE, READ_ONLY, atau READ_NONE.

  • SQUASH_MODE: aturan ekspor harus salah satu dari NO_ROOT_SQUASH, ROOT_SQUASH, atau ALL_SQUASH.

  • ANON_UID: nomor UID yang akan digabungkan.

  • ALLOWED_CLIENTS_IP_ADDRESSES: daftar alamat IP atau rentang klien yang diizinkan yang dipisahkan dengan koma.

Parameter kebijakan ekspor dapat diulang untuk menyertakan beberapa aturan.

Contoh berikut menunjukkan tempat kebijakan ekspor memiliki aturan root-squash dan all-squash:

gcloud netapp volumes update my_volume --location=us-east4 \
--export-policy=allowed-clients=10.0.1.18,nfsv3=true,access-type=READ_WRITE,squash-mode=NO_ROOT_SQUASH \
--export-policy=allowed-clients=10.0.2.0/24,nfsv3=true,access-type=READ_WRITE,squash-mode=ALL_SQUASH,anon-uid=2000

Untuk mengetahui informasi selengkapnya tentang flag opsional tambahan, lihat dokumentasi Google Cloud SDK tentang kebijakan ekspor volume.

Petunjuk pemasangan untuk klien NFS

Gunakan petunjuk berikut untuk mendapatkan petunjuk pemasangan bagi klien NFS menggunakan konsol Google Cloud atau Google Cloud CLI:

Konsol

  1. Buka halaman NetApp Volumes di konsol Google Cloud .

    Buka NetApp Volumes

  2. Klik Volume.

  3. Klik Tampilkan lebih banyak.

  4. Pilih Petunjuk pemasangan.

  5. Ikuti petunjuk pemasangan yang ditampilkan di konsol Google Cloud .

  6. Identifikasi perintah pemasangan dan gunakan opsi pemasangan kecuali jika workload Anda memiliki persyaratan opsi pemasangan tertentu.

    Khusus NFSv3: jika aplikasi Anda tidak menggunakan kunci atau Anda tidak mengonfigurasi klien untuk mengaktifkan komunikasi NSM, sebaiknya tambahkan opsi pemasangan nolock.

gcloud

Cari petunjuk pemasangan untuk volume:

 gcloud netapp volumes describe VOLUME_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --format="value(mountOptions.instructions)"

Ganti informasi berikut:

  • VOLUME_NAME: nama volume.

  • PROJECT_ID: nama project tempat volume berada.

  • LOCATION: lokasi volume.

Untuk mengetahui informasi selengkapnya tentang flag opsional tambahan, lihat dokumentasi Google Cloud SDK tentang volume.

Petunjuk tambahan NFSv4.1

Saat Anda mengaktifkan NFSv4.1 untuk volume tingkat layanan Flex Unified, Standard, Premium, dan Extreme, NFSv4.2 akan otomatis diaktifkan untuk volume ini. Perintah pemasangan Linux selalu memasang versi NFS tertinggi yang tersedia, kecuali jika Anda menentukan versi yang akan dipasang. Jika Anda ingin memasang dengan NFSv4.1, gunakan parameter -o vers=4.1 dalam perintah pemasangan Anda.

Di NFSv3, pengguna dan grup diidentifikasi berdasarkan ID pengguna (UID) dan ID grup (GID) yang dikirim melalui protokol NFSv3. Penting untuk memastikan bahwa UID dan GID yang sama mewakili pengguna dan grup yang sama di semua klien yang mengakses volume. NFSv4 menghilangkan kebutuhan akan pemetaan UID dan GID eksplisit dengan menggunakan ID keamanan. ID keamanan adalah string yang diformat sebagai <username|groupname>@<full_qualified_domain>. Contoh ID keamanan adalah bob@example.com. Klien perlu menerjemahkan UID dan GID yang digunakan secara internal ke dalam ID keamanan sebelum mengirim permintaan NFSv4 ke server. Server perlu menerjemahkan ID keamanan menjadi UID dan GID untuk permintaan masuk dan sebaliknya untuk responsnya. Keuntungan menggunakan terjemahan adalah setiap klien dan server dapat menggunakan UID dan GID internal yang berbeda. Namun, kerugiannya adalah semua klien dan server harus mempertahankan daftar pemetaan antara UID dan GID, serta nama pengguna dan grup. Informasi pemetaan di klien dapat berasal dari file lokal seperti /etc/passwd dan /etc/groups atau direktori LDAP. Konfigurasi pemetaan ini dikelola oleh rpc.idmapd, yang harus berjalan di klien Anda.

Di NetApp Volumes, LDAP harus memberikan informasi pemetaan, dengan Active Directory menjadi satu-satunya server LDAP yang kompatibel dengan RFC2307bis yang didukung. Saat menggunakan Kerberos untuk NFSv4, ID keamanan menyimpan prinsipal Kerberos dalam format username@DOMAINNAME, dengan DOMAINNAME (dalam huruf kapital) menjadi nama realm.

ID numerik

Untuk pengguna yang tidak ingin mengonfigurasi pemetaan nama dan sebagai gantinya menggunakan NFSv4 sebagai pengganti NFSv3, NFSv4 telah memperkenalkan opsi yang disebut numeric ID, yang mengirimkan string teks yang dienkode UID dan GID sebagai ID keamanan. Hal ini menyederhanakan proses konfigurasi bagi pengguna.

Anda dapat memeriksa setelan klien menggunakan perintah berikut:

     cat /sys/module/nfs/parameters/nfs4_disable_idmapping
   

Nilai defaultnya adalah Y, yang mengaktifkan ID numerik. NetApp Volumes mendukung penggunaan ID numerik.

Mengonfigurasi rpc.idmapd di klien NFS

Terlepas dari jenis ID atau ID keamanan yang Anda gunakan, Anda harus mengonfigurasi rpc.idmapd di klien NFS Anda. Jika Anda mengikuti petunjuk penginstalan utilitas klien di bagian Sebelum memulai, utilitas tersebut seharusnya sudah diinstal, tetapi mungkin belum berjalan. Beberapa distribusi memulainya secara otomatis menggunakan systemd saat Anda memasang volume NFS pertama. Konfigurasi minimum yang diperlukan untuk rpc.idmapd adalah menyiapkan setelan domain. Jika tidak, root pengguna akan ditampilkan sebagai tidak ada orang dengan UID=65534 or 4294967295.

Gunakan petunjuk berikut untuk mengonfigurasi rpc.idmapd di klien NFS Anda:

  1. Di klien Anda, buka file /etc/idmapd.conf dan ubah parameter domain menjadi salah satu dari berikut ini:

    • Jika volume Anda tidak diaktifkan untuk LDAP, domain = defaultv4iddomain.com.

    • Jika volume Anda diaktifkan untuk LDAP, domain = <FDQN_of_Windows_Domain>.

  2. Aktifkan perubahan pada rpc.idmapd dengan menjalankan perintah berikut:

     nfsidmap -c

Dukungan NFSv4.2

Tingkat layanan Flex Unified, Standard, Premium, dan Extreme kini mendukung protokol NFSv4.2 selain NFSv4.1 pada volume yang sudah mengaktifkan NFSv4.1.

Saat memasang volume NFS, perintah pemasangan Linux akan otomatis memilih versi NFS tertinggi yang tersedia. Pemasangan volume yang mendukung NFSv4.1 secara otomatis secara default menggunakan NFSv4.2 kecuali opsi pemasangan vers=4.1 ditentukan secara eksplisit.

NetApp Volumes mendukung atribut yang diperluas NFS xattrs dengan NFSv4.2. Penggunaan dan batasan xattrs, sebagaimana dijelaskan dalam TR-4962, juga berlaku.

Menghubungkan Linux ke LDAP

Jika Anda menggunakan grup yang diperluas NFSv3 atau NFSv4.1 dengan ID keamanan, Anda telah mengonfigurasi NetApp Volumes untuk menggunakan Active Directory Anda sebagai server LDAP menggunakan Active Directory yang terhubung ke kumpulan penyimpanan.

Untuk mempertahankan informasi pengguna yang konsisten antara klien dan server NFS, Anda mungkin perlu mengonfigurasi klien untuk menggunakan Active Directory sebagai layanan nama LDAP untuk informasi pengguna dan grup.

Gunakan referensi berikut untuk mengonfigurasi LDAP:

Saat menggunakan NFS yang di-Kerberisasi, Anda mungkin perlu menggunakan panduan deployment yang disebutkan di bagian ini untuk mengonfigurasi LDAP dan memastikan konsistensi antara klien dan server.

Langkah berikutnya

Hubungkan volume berkapasitas besar dengan beberapa endpoint penyimpanan.