Android

Bagaimana untuk memasang dan mengkonfigurasi pelayan nfs pada centos 8

How to Install a Basic NFS Server on Linux - CentOS 8

How to Install a Basic NFS Server on Linux - CentOS 8

Isi kandungan:

Anonim

Sistem Fail Rangkaian (NFS) adalah protokol sistem fail yang diedarkan yang membolehkan anda berkongsi direktori jauh melalui rangkaian. Dengan NFS, anda boleh memasang direktori jauh pada sistem anda dan bekerja dengan fail-fail di mesin jauh seolah-olah ia adalah fail tempatan.

Protokol NFS tidak disulitkan secara lalai, dan tidak seperti Samba, ia tidak memberikan pengesahan pengguna. Akses ke pelayan dihadkan oleh alamat IP klien atau nama host.

Dalam tutorial ini, anda akan melalui langkah-langkah yang diperlukan untuk menyediakan Server NFSv4 pada CentOS 8. Kami juga akan menunjukkan kepada anda bagaimana untuk melancarkan sistem fail NFS pada klien.

Prasyarat

Kami mengandaikan bahawa anda mempunyai pelayan yang menjalankan CentOS 8 di mana kami akan menyediakan pelayan NFS dan mesin lain yang akan bertindak sebagai pelanggan NFS. Pelayan dan pelanggan sepatutnya dapat berkomunikasi antara satu sama lain melalui rangkaian persendirian. Jika pembekal hosting anda tidak menawarkan alamat IP peribadi, anda boleh menggunakan alamat IP awam dan mengkonfigurasi firewall pelayan untuk membenarkan trafik pada port 2049 hanya dari sumber yang dipercayai.

Mesin dalam contoh ini mempunyai IP berikut:

NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range

Sediakan Server NFS

Bahagian ini menerangkan cara memasang pakej yang diperlukan, membuat dan mengeksport direktori NFS, dan konfigurasi firewall.

Memasang pelayan NFS

Pakej "nfs-utils" menyediakan utiliti NFS dan daemon untuk pelayan NFS. Untuk memasangnya, jalankan arahan berikut:

sudo dnf install nfs-utils

Setelah pemasangan selesai, dayakan dan mulakan perkhidmatan NFS dengan menaip:

sudo systemctl enable --now nfs-server

Secara lalai, pada CentOS 8 versi NFS 3 dan 4.x diaktifkan, versi 2 dilumpuhkan. NFSv2 sudah cukup lama sekarang, dan tidak ada sebab untuk membolehkannya. Untuk mengesahkan ia menjalankan arahan cat berikut:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Pilihan konfigurasi pelayan NFS ditetapkan dalam fail /etc/nfs.conf dan /etc/nfs.conf . Tetapan lalai adalah mencukupi untuk tutorial kami.

Mewujudkan sistem fail

Apabila mengkonfigurasi pelayan NFSv4, amalan yang baik adalah dengan menggunakan direktori root NFS global dan mengikat direktori-direktori sebenar ke bahagian mount point. Dalam contoh ini, kami akan menggunakan pengarah /srv/nfs4 sebagai root NFS.

Untuk lebih jelas bagaimana pemasangan NFS boleh dikonfigurasi, kami akan berkongsi dua direktori ( /var/www dan /opt/backups ) dengan tetapan konfigurasi yang berlainan.

/var/www/ dimiliki oleh pengguna dan kumpulan apache dan /opt/backups dimiliki oleh root .

Buat sistem fail eksport dengan menggunakan arahan mkdir :

sudo mkdir -p /srv/nfs4/{backups, www}

Gunung direktori sebenar:

sudo mount --bind /opt/backups /srv/nfs4/backups sudo mount --bind /var/www /srv/nfs4/www

Untuk membuat pemasangan yang kekal, tambah entri berikut ke fail /etc/fstab :

sudo nano /etc/fstab / etc / fstab

/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0

Mengeksport sistem fail

Langkah seterusnya adalah untuk menentukan sistem fail yang akan dieksport oleh pelayan NFS, pilihan saham dan pelanggan yang dibenarkan untuk mengakses sistem fail tersebut. Untuk melakukannya buka /etc/exports file:

sudo nano /etc/exports

Eksport direktori www dan backups dan izinkan akses hanya dari pelanggan pada rangkaian 192.168.33.0/24 :

/ etc / exports

/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)

Baris pertama mengandungi fsid=0 yang mentakrifkan direktori root NFS /srv/nfs . Akses pada volum NFS ini hanya dibenarkan kepada pelanggan dari subnet 192.168.33.0/24 . Opsyen crossmnt diperlukan untuk berkongsi direktori yang merupakan direktori sub direktori direktori yang dieksport.

Baris kedua menunjukkan cara menentukan pelbagai peraturan eksport untuk satu sistem fail. Ia mengeksport direktori /srv/nfs4/backups dan hanya membenarkan akses ke keseluruhan 192.168.33.0/24 , dan kedua-dua membaca dan menulis akses ke 192.168.33.3 . Pilihan sync memberitahu NFS untuk menulis perubahan kepada cakera sebelum membalas.

Garis terakhir harus jelas. Untuk maklumat lanjut mengenai semua pilihan yang ada, taipkan man exports di terminal anda.

Simpan fail dan eksport saham:

sudo exportfs -ra

Anda perlu menjalankan arahan di atas setiap kali anda mengubah suai fail /etc/exports . Sekiranya terdapat sebarang kesilapan atau amaran, ia akan ditunjukkan di terminal.

Untuk melihat eksport aktif semasa dan negeri mereka, gunakan:

sudo exportfs -v

Output akan merangkumi semua saham dengan pilihan mereka. Seperti yang anda lihat, terdapat juga pilihan yang tidak kita tentukan dalam fail /etc/exports . Mereka adalah pilihan lalai, dan jika anda ingin menukarnya, anda perlu menetapkan pilihan tersebut dengan jelas.

/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)

root_squash adalah salah satu pilihan yang paling penting mengenai keselamatan NFS. Ia menghalang pengguna root yang disambungkan dari klien untuk mendapatkan keistimewaan root pada saham yang dipasang. Ia akan memetakan root UID dan GID kepada nobody / nogroup UID / GID .

Bagi pengguna di mesin klien untuk mendapat akses, NFS menjangkakan pengguna klien dan ID kumpulan untuk dipadankan dengan mereka di pelayan. Pilihan lain ialah dengan menggunakan ciri mengamalkan NFSv4 yang menerjemahkan ID pengguna dan kumpulan kepada nama dan sebaliknya.

Itu sahaja. Pada ketika ini, anda telah menyediakan pelayan NFS pada pelayan CentOS anda. Anda kini boleh bergerak ke langkah seterusnya dan mengkonfigurasi pelanggan dan menyambung ke pelayan NFS.

Konfigurasi firewall

FirewallD adalah penyelesaian firewall lalai pada Centos 8.

Perkhidmatan NFS termasuk peraturan yang dipratentukan untuk membenarkan akses ke pelayan NFS.

Perintah berikut akan membolehkan akses dari subnet 192.168.33.0/24 secara kekal:

sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent sudo firewall-cmd --reload

Sediakan Pelanggan NFS

Sekarang bahawa pelayan NFS adalah persediaan dan saham dieksport, langkah seterusnya mengkonfigurasi klien dan melancarkan sistem fail jauh.

Anda juga boleh melancarkan bahagian NFS pada mesin macOS dan Windows, tetapi kami akan memberi tumpuan kepada sistem Linux.

Memasang klien NFS

Pada mesin klien, pasang alat yang diperlukan untuk memasang sistem fail NFS jauh.

  • Pasang klien NFS pada Debian dan Ubuntu

    Nama pakej yang merangkumi program untuk pemasangan sistem fail NFS pada pengedaran berdasarkan Debian adalah nfs-common . Untuk memasangnya berjalan:

    sudo apt update sudo apt install nfs-common

    Pasang klien NFS pada CentOS dan Fedora

    Pada Red Hat dan terbitannya memasang pakej nfs-utils :

    sudo yum install nfs-utils

Memasang sistem fail

Kami akan bekerja pada mesin klien dengan IP 192.168.33.110 , yang telah membaca dan menulis akses ke sistem fail /srv/nfs4/www dan akses baca-hanya ke sistem fail /srv/nfs4/backups .

Buat dua direktori baru untuk titik gunung. Anda boleh membuat direktori ini di mana-mana lokasi yang anda mahukan.

sudo mkdir -p /backups sudo mkdir -p /srv/www

Gunung sistem fail yang dieksport dengan perintah mount :

sudo mount -t nfs -o vers=4 192.168.33.148:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

Di mana 192.168.33.148 adalah IP pelayan NFS. Anda juga boleh menggunakan nama hos itu bukannya alamat IP, tetapi ia perlu diselesaikan oleh mesin klien. Ini biasanya dilakukan dengan memetakan nama hos ke IP dalam fail /etc/hosts .

Apabila memasang sistem fail NFSv4, anda perlu menghilangkan direktori root NFS, jadi bukan /srv/nfs4/backups anda perlu menggunakan /backups .

Sahkan bahawa sistem fail jauh dipasang dengan baik menggunakan sama ada perintah gunung atau df :

df -h

Perintah ini akan mencetak semua sistem fail yang dipasang. Dua baris terakhir ialah saham yang dipasang:

… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/www 9.7G 1.2G 8.5G 13% /srv/www

Untuk membuat pemasangan kekal pada but semula, buka fail /etc/fstab :

sudo nano /etc/fstab

dan tambahkan baris berikut:

/ etc / fstab

192.168.33.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0

Untuk mendapatkan lebih banyak maklumat tentang pilihan yang tersedia apabila memasang sistem fail NFS, taipkan man nfs di terminal anda.

Pilihan lain untuk melancarkan sistem fail jauh adalah dengan menggunakan alat autofs atau untuk membuat unit sistem.

Menguji Akses NFS

Mari kita menguji akses kepada saham dengan membuat fail baru dalam setiap mereka.

Pertama, cuba buat fail ujian ke direktori /backups menggunakan arahan touch :

sudo touch /backups/test.txt

Sistem fail /backup dieksport sebagai baca sahaja, dan seperti yang diharapkan, anda akan melihat mesej ralat Permission denied :

touch: cannot touch '/backups/test': Permission denied

Seterusnya, cuba buat fail ujian ke direktori /srv/www sebagai akar menggunakan perintah sudo :

sudo touch /srv/www/test.txt

Sekali lagi, anda akan melihat mesej Permission denied .

touch: cannot touch '/srv/www': Permission denied

Direktori /var/www dimiliki oleh pengguna apache , dan bahagian ini mempunyai set opsyen root_squash , yang memaparkan pengguna root kepada pengguna dan kumpulan kumpulan kumpulan yang tidak mempunyai keizinan menulis ke bahagian jauh.

Dengan mengandaikan bahawa terdapat apache pengguna di mesin klien dengan UID dan GID seperti pada pelayan jauh (yang seharusnya berlaku jika, misalnya, anda memasang apache pada kedua-dua mesin), anda boleh menguji untuk membuat fail sebagai apache pengguna dengan:

sudo -u apache touch /srv/www/test.txt

Perintah itu akan menunjukkan tiada output, yang bermaksud fail itu berjaya dibuat.

Untuk mengesahkan ia menyenaraikan fail dalam direktori /srv/www :

ls -la /srv/www

Output seharusnya menunjukkan fail yang baru dibuat:

drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 0 Jun 23 22:18 test.txt

Unmount Sistem Fail NFS

sudo umount /backups

Jika titik gunung ditakrifkan dalam fail /etc/fstab , pastikan anda mengeluarkan garisan atau komenkannya dengan menambah # pada permulaan garisan.

Kesimpulannya

Dalam tutorial ini, kami telah menunjukkan kepada anda bagaimana untuk menyediakan pelayan NFS dan bagaimana untuk melancarkan sistem fail jauh pada mesin klien. Jika anda melaksanakan NFS dalam pengeluaran dan berkongsi data yang masuk akal, itu adalah idea yang baik untuk membolehkan pengesahan kerberos.

Sebagai alternatif kepada NFS, anda boleh menggunakan SSHFS untuk melancarkan direktori jauh melalui sambungan SSH. SSHFS disulitkan secara lalai dan lebih mudah untuk dikonfigurasi dan digunakan.

Jangan ragu untuk meninggalkan komen jika anda mempunyai sebarang pertanyaan.

centos nfs mount terminal