Android

Paano i-install at i-configure ang isang nfs server sa ubuntu 18.04

How to configure Netwok file Sharing Server (NFS Server) in Ubuntu Linux 18.04

How to configure Netwok file Sharing Server (NFS Server) in Ubuntu Linux 18.04

Talaan ng mga Nilalaman:

Anonim

Ang Network File System (NFS) ay isang ipinamamahaging protocol ng system system na nagbibigay-daan sa iyo upang magbahagi ng mga malayuang direktoryo sa isang network. Sa NFS, maaari mong mai-mount ang mga malayuang direktoryo sa iyong system at magtrabaho kasama ang mga file sa liblib na makina na parang mga lokal na file.

Ang protocol ng NFS ay hindi naka-encrypt sa pamamagitan ng default at hindi katulad ng Samba, hindi ito nagbibigay ng pagpapatunay ng gumagamit. Ang pag-access sa server ay pinaghihigpitan ng mga IP address o hostnames ng mga kliyente.

Sa tutorial na ito, pupunta kami kung paano mag-set up ng isang NFSv4 Server sa Ubuntu 18.04. Ipapakita din namin sa iyo kung paano mag-mount ng isang NFS file system sa kliyente.

Mga kinakailangan

Ipinapalagay ng halimbawang ito na mayroon kang isang server na tumatakbo sa Ubuntu 18.04 at isa pang nagpapatakbo ng anumang iba pang pamamahagi ng Linux. Ang server at ang mga kliyente ay dapat makipag-usap sa bawat isa sa isang pribadong network. Kung ang iyong hosting provider ay hindi nag-aalok ng mga pribadong IP address, maaari mong gamitin ang mga pampublikong IP address at i-configure ang firewall ng server upang payagan ang trapiko sa port 2049 lamang mula sa mga mapagkakatiwalaang mapagkukunan.

Ang mga makina sa halimbawang ito ay mayroong mga sumusunod na IP:

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

I-set up ang NFS Server

Magsisimula kami sa pamamagitan ng pag-install at i-configure ang server ng NFS.

Pag-install ng server ng NFS

I-refresh ang mga index index at i-install ang package ng NFS server:

sudo apt update sudo apt install nfs-kernel-server

Kapag nakumpleto ang pag-install, awtomatikong magsisimula ang mga serbisyo ng NFS.

Bilang default, sa Ubuntu 18.04 bersyon ng NFS 2 ay hindi pinagana. Pinapagana ang mga Bersyon 3 at 4. Maaari mong i-verify na sa pamamagitan ng pagpapatakbo ng sumusunod na utos ng cat :

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Ang NFSv2 ay medyo luma na, at walang dahilan upang paganahin ito.

Ang mga pagpipilian sa pagsasaayos ng server ng NFS ay nakatakda sa /etc/default/nfs-kernel-server at /etc/default/nfs-common file. Ang mga default na setting ay sapat sa aming kaso.

Lumilikha ng mga file system

Kapag nag-configure ng isang server ng NFSv4 ito ay isang mabuting kasanayan ay ang paggamit ng isang pandaigdigang direktoryo ng ugat ng NFS at itali ang pag-mount ng aktwal na direktoryo sa bahagi ng pag-mount ng bahagi. Sa halimbawang ito, gagamitin namin ang director /srv/nfs4 bilang ugat ng NFS.

Kami ay magbabahagi ng dalawang direktoryo ( /var/www at /opt/backups ), na may iba't ibang mga setting ng pagsasaayos, upang mas mahusay na ipaliwanag kung paano mai-configure ang mga mount ng NFS.

Ang /var/www/ ay pag-aari ng gumagamit at pangkat www-data at /opt/backups ay pag-aari ng root .

Lumikha ng filesystem ng pag-export gamit ang utos ng mkdir :

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

Mag-mount ng mga aktwal na direktoryo:

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

Upang gawing permanente ang mga bind na nagbubuklod, buksan ang /etc/fstab file:

sudo nano /etc/fstab

at idagdag ang mga sumusunod na linya:

/ etc / fstab

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

Pag-export ng mga file system

Ang susunod na hakbang ay upang tukuyin ang mga file system na mai-export ng NFS server, ang mga pagpipilian sa pagbabahagi at mga kliyente na pinapayagan na ma-access ang mga file system. Upang gawin ito buksan ang /etc/exports file ng pag- /etc/exports :

sudo nano /etc/exports Ang /etc/exports file ay naglalaman din ng mga puna na naglalarawan kung paano mag-export ng isang direktoryo.

Sa aming kaso kailangan nating i-export ang www at backups direktoryo at payagan lamang ang pag-access mula sa mga kliyente sa 192.168.33.0/24 network:

/ etc / export

/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)

Ang unang linya ay naglalaman ng fsid=0 na tumutukoy sa direktoryo ng root ng NFS /srv/nfs . Ang pag-access sa dami ng NFS na ito ay pinapayagan lamang sa mga kliyente mula sa 192.168.33.0/24 subnet. Ang pagpipilian sa crossmnt ay kinakailangan upang magbahagi ng mga direktoryo na mga sub-direktoryo ng isang na-export na direktoryo.

Sa pangalawang linya ay nagpapakita kung paano tukuyin ang maraming mga patakaran sa pag-export para sa isang filesystem. Inililipat nito ang /srv/nfs4/backups direktoryo ng /srv/nfs4/backups at pinapayagan lamang na basahin ang pag-access sa buong 192.168.33.0/24 saklaw at parehong basahin at isulat ang pag-access sa 192.168.33.3 . Ang pagpipilian ng pag- sync nagsasabi sa NFS na magsulat ng mga pagbabago sa disk bago sumagot.

Ang huling linya ay dapat na paliwanag sa sarili. Para sa karagdagang impormasyon tungkol sa lahat ng magagamit na mga pagpipilian sa uri ng pag- man exports sa iyong terminal.

I-save ang file at i-export ang mga pagbabahagi:

sudo exportfs -ra

Kailangan mong patakbuhin ang utos sa itaas sa bawat oras na baguhin mo ang /etc/exports file ng pag- /etc/exports . Kung mayroong anumang mga pagkakamali o babala ay ipapakita sa terminal.

Upang matingnan ang kasalukuyang aktibong pag-export at ang kanilang estado, gamitin ang:

sudo exportfs -v

Ang output ay isasama ang lahat ng mga pagbabahagi sa kanilang mga pagpipilian. Tulad ng nakikita mo na mayroon ding mga pagpipilian na hindi namin tukuyin sa /etc/exports file. Iyon ang mga default na pagpipilian at kung nais mong baguhin ang mga ito kailangan mong malinaw na itakda ang mga pagpipilian na iyon.

/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)

Sa Ubuntu, ang root_squash ay pinagana nang default. Ito ang isa sa pinakamahalagang pagpipilian tungkol sa seguridad ng NFS. Pinipigilan nito ang mga gumagamit ng ugat na konektado mula sa mga kliyente na magkaroon ng mga pribilehiyo sa ugat sa naka-mount na pagbabahagi. Ito ay i-map ang root UID at GID sa nobody / nogroup UID / GID .

Upang ang mga gumagamit sa mga makina ng kliyente ay magkaroon ng access, inaasahan ng NFS ang user ng kliyente at ID ID ng grupo na tumutugma sa mga nasa server. Ang isa pang pagpipilian ay ang paggamit ng tampok na NFSv4 idmapping na isinalin ang mga gumagamit at grupo ng mga ID sa mga pangalan at sa iba pang paraan.

Ayan yun. Sa puntong ito, nag-set up ka ng isang server ng NFS sa iyong server ng Ubuntu. Maaari ka na ngayong lumipat sa susunod na hakbang at i-configure ang mga kliyente at kumonekta sa server ng NFS.

Pagsasaayos ng firewall

Sa pag- UFW gumagamit ka ng UFW upang pamahalaan ang iyong firewall upang payagan ang pag-access mula sa 192.168.33.0/24 kailangan mong patakbuhin ang sumusunod na utos:

sudo ufw allow from 192.168.33.0/24 to any port nfs

Upang mapatunayan ang pagpapatakbo ng pagbabago:

sudo ufw status

Ang output ay dapat ipakita na ang trapiko sa port 2049 ay pinapayagan:

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

I-set up ang mga Kliyente ng NFS

Ngayon na ang server ng NFS ay naka-setup at ang mga pagbabahagi ay nai-export sa susunod na hakbang na i-configure ang mga kliyente at i-mount ang mga malalayong system ng file.

Maaari mo ring mai-mount ang pagbabahagi ng NFS sa mga macOS at Windows machine ngunit tutukan namin ang mga sistema ng Linux.

Pag-install ng kliyente ng NFS

Sa mga makina ng kliyente kailangan nating i-install lamang ang mga tool na kinakailangan upang mai-mount ang isang malayuang mga system ng file ng NFS.

  • I-install ang kliyente ng NFS sa Debian at Ubuntu

    Ang pangalan ng pakete na may kasamang mga programa para sa pag-mount ng mga system ng file ng NFS sa mga pamamahagi na batay sa Debian ay nfs-common . Upang mai-install ito tumakbo:

    sudo apt update sudo apt install nfs-common

    I-install ang kliyente ng NFS sa CentOS at Fedora

    Sa Red Hat at ang mga derivatives nito ay naka-install ang nfs-utils package:

    sudo yum install nfs-utils

Pag-mount ng mga system ng file

Makikipagtulungan kami sa makina ng kliyente na may IP 192.168.33.110 na basahin at isulat ang pag-access sa /srv/nfs4/www file system at basahin lamang ang pag-access sa /srv/nfs4/backups file system.

Lumikha ng dalawang bagong direktoryo para sa mga puntos ng mount. Maaari kang lumikha ng mga direktoryo na ito sa anumang lokasyon na nais mo.

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

I-mount ang nai-export na mga system ng file gamit ang utos ng 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

Kung saan ang 192.168.33.10 ay ang IP ng server ng NFS. Maaari mo ring gamitin ang hostname sa halip na ang IP address ngunit kailangan itong malutas ng makina ng kliyente. Kadalasan ito ay ginagawa sa pamamagitan ng pag-mapa ng hostname sa IP sa /etc/hosts file.

Kapag nag-mount ng isang filystem ng NFSv4, kailangan mong puntahan ang direktoryo ng ugat ng NFS, kaya sa halip na /srv/nfs4/backups kailangan mong gamitin /backups .

Patunayan na ang mga malayuang mga file ng file ay matagumpay na naka-mount gamit ang alinman sa utos ng mount o df :

df -h

Ang utos ay mai-print ang lahat ng mga naka-mount na system ng file. Ang huling dalawang linya ay ang naka-mount na pagbabahagi:

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

Upang gawing permanente ang mga mount sa pag-reboot, buksan ang /etc/fstab file:

sudo nano /etc/fstab

at idagdag ang mga sumusunod na linya:

/ 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

Upang makahanap ng karagdagang impormasyon tungkol sa magagamit na mga pagpipilian kapag nag-mount ng isang NFS file system, i-type ang man nfs sa iyong terminal.

Ang isa pang pagpipilian upang autofs -mount ang mga malalayong system ng file ay ang paggamit ng alinman sa tool ng autofs o upang lumikha ng isang systemd unit.

Pagsubok sa Pag-access sa NFS

Subukan natin ang pag-access sa mga namamahagi sa pamamagitan ng paglikha ng isang bagong file sa bawat isa sa kanila.

Una, subukang lumikha ng isang pagsubok na file sa direktoryo ng /backups gamit ang touch command:

sudo touch /backups/test.txt

Ang /backup file system ay na-export bilang read-only at tulad ng inaasahan na makikita mo ang isang Permission denied error na mensahe:

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

Susunod, subukang lumikha ng isang file ng pagsubok sa direktoryo ng /srv/www bilang isang ugat gamit ang utos ng sudo :

sudo touch /srv/www/test.txt

Muli, makikita mo ang Permission denied mensahe.

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

Sa pag-aakalang mayroon kang isang gumagamit ng www-data sa makina ng kliyente na may parehong UID at GID tulad ng sa liblib na server (na dapat itong mangyari kung halimbawa, na-install mo ang ngx sa parehong mga makina) maaari kang sumubok upang lumikha ng isang file bilang gumagamit www-data may:

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

Ang utos ay hindi magpapakita ng output na nangangahulugang ang file ay matagumpay na nilikha.

Upang ma-verify ito ilista ang mga file sa direktoryo /srv/www :

ls -la /srv/www

Ang output ay dapat ipakita ang bagong nilikha file:

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

Pag-aalis ng System ng File ng NFS

sudo umount /backups

Kung ang mount point ay tinukoy sa /etc/fstab file, siguraduhing tinanggal mo ang linya o magkomento ito sa pamamagitan ng pagdaragdag ng # sa simula ng linya.

Konklusyon

Sa tutorial na ito, ipinakita namin sa iyo kung paano mag-set up ng isang NFS server at kung paano i-mount ang mga malalayong system ng file sa mga makina ng kliyente. Kung nagpapatupad ka ng NFS sa paggawa at pagbabahagi ng makatotohanang data ay mainam na paganahin ang pagpapatunay ng kerberos.

Bilang isang alternatibo sa NFS, maaari mong gamitin ang SSHFS upang mai-mount ang mga remote na direktoryo sa isang koneksyon sa SSH. Ang SSHFS ay naka-encrypt sa pamamagitan ng default at mas madaling i-configure at gamitin.

Huwag mag-atubiling mag-iwan ng komento kung mayroon kang mga katanungan.

ubuntu nfs mount terminal