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 parameteranon-uid. Saat menggunakanall-squash, Anda juga harus menentukananon-uid, dan menetapkanaccess-typekeREAD_WRITE.
Pertimbangan
Pertimbangkan hal berikut untuk aturan kebijakan ekspor dengan squash mode:
Kebijakan ekspor hanya mendukung satu aturan
all-squash.Jika
all-squashdiaktifkan, pengguna root akan digabungkan menjadi anonim. Hal ini dapat digantikan oleh aturan prioritas yang lebih tinggi yang menggunakanno-root-squash.Replikasi volume tidak didukung untuk volume dengan aturan kebijakan ekspor gaya
squash-mode.Untuk tingkat layanan Flex,
all-squashtidak mengubah kepemilikan inode root volume secara otomatis. Untuk melakukannya, tambahkan aturan eksporno-root-squash, yang memungkinkan pengguna root menggunakanchownuntuk mengubah kepemilikan inode root ke UID yang diperlukan.Parameter
has-root-accessdidukung. Gunakan salah satu darihas-root-accessatausquash-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 dariREAD_WRITE,READ_ONLY, atauREAD_NONE.SQUASH_MODE: aturan ekspor harus salah satu dariNO_ROOT_SQUASH,ROOT_SQUASH, atauALL_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
Buka halaman NetApp Volumes di konsol Google Cloud .
Klik Volume.
Klik Tampilkan lebih banyak.
Pilih Petunjuk pemasangan.
Ikuti petunjuk pemasangan yang ditampilkan di konsol Google Cloud .
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:
Di klien Anda, buka file
/etc/idmapd.confdan 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>.
Aktifkan perubahan pada
rpc.idmapddengan 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.