Android

Bagaimana untuk memasang dan mengkonfigurasi pelayan nfs pada ubuntu 18.04

Install Moodle di Ubuntu 18.04

Install Moodle di Ubuntu 18.04

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 pelanggan atau nama host.

Dalam tutorial ini, kami akan menerangkan cara menyediakan Server NFSv4 di Ubuntu 18.04. Kami juga akan menunjukkan kepada anda bagaimana untuk melancarkan sistem fail NFS pada klien.

Prasyarat

Contoh ini menganggap bahawa anda mempunyai satu pelayan yang menjalankan Ubuntu 18.04 dan satu lagi menjalankan pengedaran Linux yang lain. 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.10 NFS Clients IPs: From the 192.168.33.0/24 range

Sediakan Server NFS

Kami akan mulakan dengan memasang dan mengkonfigurasi pelayan NFS.

Memasang pelayan NFS

Segarkan indeks pakej dan pasang pakej pelayan NFS:

sudo apt update sudo apt install nfs-kernel-server

Setelah pemasangan selesai, perkhidmatan NFS akan bermula secara automatik.

Secara lalai, pada versi Ubuntu 18.04 NFS dilumpuhkan. Versi 3 dan 4 diaktifkan. Anda boleh mengesahkannya dengan menjalankan arahan cat berikut:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

NFSv2 sudah cukup lama sekarang, dan tidak ada sebab untuk membolehkannya.

Pilihan konfigurasi pelayan NFS ditetapkan dalam /etc/default/nfs-kernel-server dan fail /etc/default/nfs-common . Tetapan lalai adalah mencukupi dalam kes 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.

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

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

Buat sistem fail eksport dengan menggunakan arahan mkdir :

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

Gunung direktori sebenar:

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

Untuk membuat pemasangan bon tetap, buka fail /etc/fstab :

sudo nano /etc/fstab

dan tambahkan baris berikut:

/ 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 Fail /etc/exports juga mengandungi komen yang menggambarkan bagaimana untuk mengeksport direktori.

Dalam kes kita, kita perlu mengeksport direktori www dan backups dan membenarkan 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.

Dalam baris kedua menunjukkan cara menentukan pelbagai peraturan eksport untuk satu sistem fail. Ia mengeksport direktori /srv/nfs4/backups dan membolehkan hanya membaca akses ke seluruh 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 jenis pilihan yang tersedia 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 . Jika 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 mahu menukarnya, anda perlu menetapkan pilihan tersebut secara eksplisit.

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

Di Ubuntu, root_squash didayakan secara lalai. Ini 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 .

Agar pengguna di mesin klien mempunyai akses, NFS mengharapkan 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 Ubuntu anda. Anda kini boleh bergerak ke langkah seterusnya dan mengkonfigurasi pelanggan dan menyambung ke pelayan NFS.

Konfigurasi firewall

Dengan mengandaikan bahawa anda menggunakan UFW untuk menguruskan firewall anda untuk membenarkan akses dari subnet 192.168.33.0/24 anda perlu menjalankan arahan berikut:

sudo ufw allow from 192.168.33.0/24 to any port nfs

Untuk mengesahkan larian perubahan:

sudo ufw status

Keluaran harus menunjukkan bahawa lalu lintas pada port 2049 dibenarkan:

To Action From -- ------ ---- 2049 ALLOW 192.168.33.0/24 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)

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 kita perlu memasang hanya 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 hanya membaca akses 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.10:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.10:/www /srv/www

Di mana 192.168.33.10 adalah IP pelayan NFS. Anda juga boleh menggunakan nama hos itu bukannya alamat IP tetapi 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 menyerahkan 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:

Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 38G 1.7G 36G 5% / devtmpfs 236M 0 236M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 4.5M 240M 2% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup /dev/sda2 1014M 87M 928M 9% /boot tmpfs 49M 0 49M 0% /run/user/1000 192.168.33.10:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.10:/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.10:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.10:/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 uji akses kepada saham dengan membuat fail baru kepada masing-masing.

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 dijangkakan, 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

Dengan mengandaikan bahawa anda mempunyai penggunaan www-data pada mesin klien dengan UID dan GID seperti di pelayan jauh (yang sepatutnya berlaku jika misalnya, anda menginx dipasang pada kedua-dua mesin) anda boleh menguji untuk membuat fail sebagai pengguna www-data dengan:

sudo -u www-data 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 www-data www-data 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 www-data www-data 0 Jun 23 21:58 index.html -rw-r--r-- 1 www-data www-data 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. Sekiranya anda melaksanakan NFS dalam pengeluaran dan berkongsi data yang masuk akal, 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.

ubuntu nfs mount terminal