Android

Paano i-install at i-configure ang isang nfs server sa sentimo 8

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

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

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 kang mag-mount ng mga remote na direktoryo sa iyong system at magtrabaho kasama ang mga file sa malayong makina na parang mga lokal na file.

Ang protocol ng NFS ay hindi naka-encrypt nang 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 ka sa mga hakbang na kinakailangan upang mag-set up ng isang NFSv4 Server sa CentOS 8. Ipapakita rin namin sa iyo kung paano mag-mount ng isang NFS file system sa kliyente.

Mga kinakailangan

Ipinapalagay namin na mayroon kang isang server na nagpapatakbo ng CentOS 8 kung saan itatakda namin ang NFS server at iba pang mga makina na kikilos bilang mga kliyente ng NFS. 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.148 NFS Clients IPs: From the 192.168.33.0/24 range

I-set up ang NFS Server

Ipinapaliwanag ng seksyong ito kung paano i-install ang mga kinakailangang pakete, lumikha at i-export ang mga direktoryo ng NFS, at i-configure ang firewall.

Pag-install ng server ng NFS

Ang package na "nfs-utils" ay nagbibigay ng mga kagamitan sa NFS at daemons para sa server ng NFS. Upang mai-install ito patakbuhin ang sumusunod na utos:

sudo dnf install nfs-utils

Kapag kumpleto ang pag-install, paganahin at simulan ang serbisyo ng NFS sa pamamagitan ng pag-type:

sudo systemctl enable --now nfs-server

Bilang default, sa mga bersyon ng 3 at 4.x ng CentOS 8 ay pinagana, ang bersyon 2 ay hindi pinagana. Ang NFSv2 ay medyo luma na, at walang dahilan upang paganahin ito. Upang mapatunayan na pinapatakbo nito ang sumusunod na utos ng cat :

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Ang mga pagpipilian sa pagsasaayos ng server ng NFS ay nakatakda sa /etc/nfsmount.conf at /etc/nfs.conf file. Ang mga default na setting ay sapat para sa aming tutorial.

Lumilikha ng mga file system

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

Upang mas maipaliwanag kung paano mai-configure ang mga mount ng NFS, magbabahagi kami ng dalawang direktoryo ( /var/www at /opt/backups ) sa iba't ibang mga setting ng pagsasaayos.

Ang /var/www/ ay pagmamay-ari ng apache ng gumagamit at pangkat 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, 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 permanenteng gawing permanenteng ang bind, idagdag ang mga sumusunod na entry sa /etc/fstab file:

sudo nano /etc/fstab / 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

I-export ang mga direktoryo ng www at backups 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.

Ang ikalawang 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, mag- man exports uri ng 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, ipapakita ang mga ito 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, 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 pagpipiliang iyon.

/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 ay isa sa mga 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 .

Para magkaroon ng access ang mga gumagamit sa mga makina ng kliyente, inaasahan ng NFS ang gumagamit ng kliyente at ID ng kliyente 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 CentOS. Maaari ka na ngayong lumipat sa susunod na hakbang at i-configure ang mga kliyente at kumonekta sa server ng NFS.

Pagsasaayos ng firewall

Ang FirewallD ay ang default na solusyon sa firewall sa Mga Sentro 8.

Kasama sa serbisyo ng NFS ang mga paunang natukoy na mga patakaran para sa pagpayag ng pag-access sa server ng NFS.

Ang mga sumusunod na utos ay permanenteng magpapahintulot sa pag-access mula sa 192.168.33.0/24 subnet:

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

I-set up ang mga Kliyente ng NFS

Ngayon na ang server ng NFS ay naka-setup at ang mga pagbabahagi ay na-export, ang susunod na hakbang ay 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 tututuunan namin ang mga sistema ng Linux.

Pag-install ng kliyente ng NFS

Sa mga makina ng kliyente, i-install ang mga tool na kinakailangan upang mai-mount ang mga malalayong system ng NFS file.

  • 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.148:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

Kung saan ang 192.168.33.148 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 pagma-map sa hostname sa IP sa /etc/hosts file.

Kapag ang pag-mount ng isang filystem ng NFSv4, kailangan mong iwasan 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:

… 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

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.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

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

Ang direktoryo ng /var/www ay pag-aari ng gumagamit ng apache , at ang bahaging ito ay root_squash set ng opsyon na root_squash , na root_squash mapa ng gumagamit sa nogroup gumagamit at grupong nogroup na walang mga pahintulot na magsulat sa malayong bahagi.

Sa pag-aakalang ang isang apache gumagamit ay umiiral sa client machine na may parehong UID at GID tulad ng sa liblib na server (na dapat mangyari kung, halimbawa, na-install mo ang apache sa parehong mga makina), maaari kang sumubok upang lumikha ng isang file bilang gumagamit apache kasama ang:

sudo -u apache 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 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

Pag-aalis ng NFS File System

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

centos nfs mount terminal