V tomto návode sa zameriame na základné sieťové koncepcie NFS, konkrétne na porty používané službami NFS. Keď porozumieme konkrétnym portom a službám zdieľanej položky NFS, môžeme ich použiť na konfiguráciu bezpečnostných opatrení, ako sú brány firewall a riešenie problémov.
Ako funguje NFS
V čase písania tohto článku sú podporované tri verzie NFS. NFS v2 je najstarší a najrozšírenejší.
NFS v3 je novší ako NFS V2 a ponúka viac funkcií, ako napríklad spracovanie premennej veľkosti, vylepšené hlásenie chýb atď. NFS v3 však nie je kompatibilný s klientmi NFS v2.
Najnovšia verzia NFS v4 poskytuje nové a vylepšené funkcie. Zahŕňajú stavové operácie, spätnú kompatibilitu s NFS v2 a NFS v3, požiadavku na odstránený mapovač portov, interoperabilitu medzi platformami, lepšie spracovanie názvov, vstavané zabezpečenie s ACL a Kerberos.
Nasleduje porovnanie NFS v3 a NFS v 4.
Funkcia | NFS v3 | NFS v4 |
Transportný protokol | TCP a UDP | Iba UDP |
Vybavovanie povolení | Unix | Na báze Windows |
Metóda autentifikácie | Auth_Sys - slabší | Kerberos (silný) |
Osobnosť | Bezstavový | Stavovská |
Sémantika | Unix | Unix a Windows |
Vyššie uvedená tabuľka ukazuje niektoré z funkcií protokolu NFS 4 oproti protokolu NFS 3. Ak sa chcete dozvedieť viac, zvážte nižšie uvedený oficiálny dokument:
https://datatracker.ietf.org/doc/html/rfc3530
NFS v4 nepoužíva mapovač portov a služby vyžadované NFS V2 a V3 nie sú požadované. V NFS v4 je preto potrebný iba port 2049.
NFS v2 a v2 však vyžadujú ďalšie porty a služby, o ktorých budeme diskutovať v tomto návode.
Požadované služby (NFS v2 a V3)
Ako už bolo spomenuté, NFS v2 a v3 používa službu portmap. Služba portmap v systéme Linux spracováva vzdialené volania procedúr, ktoré NFS (v2 a v3) používa na kódovanie a dekódovanie požiadaviek medzi klientom a servermi.
Na implementáciu zdieľania NFS sú potrebné nasledujúce služby. Majte na pamäti, že toto je len pre NFS v2 a v3.
- Portmapper
- Mountd
- Nfsd
- Lockd
- Statd
#: Portmapper
Na spustenie NFS na strane klienta aj servera je potrebná služba Portmapper. Beží na porte 111 pre protokoly TCP aj UDP.
Ak implementujete bránu firewall, uistite sa, že je tento port povolený pre prichádzajúce a odchádzajúce pakety.
#: Mountd
Ďalšou službou potrebnou na spustenie NFS je démon mountd. Táto služba beží na serveri NFS a používa sa na spracovanie požiadaviek na pripojenie od klientov NFS. Spravuje ho hlavne služba nfsd a nevyžaduje konfiguráciu používateľa.
Môžete však upraviť konfiguráciu a nastaviť statický port v súbore/etc/sysconfig/nfs. Nájdite / a nastavte:
MOUNTD_PORT=[prístav]#: NFSD
Toto je démon NFS, ktorý beží na serveroch NFS. Toto je kritická služba, ktorá funguje s jadrom Linuxu a poskytuje funkcie ako serverové vlákna pre všetkých klientov pripojených k serveru.
V predvolenom nastavení je démon NFS nakonfigurovaný na spustenie statického portu 2049. Tento port je platný pre protokoly TCP aj UDP.
#: Lockd & Statd
Démon NFS Lock Manager (lockd) a Status Manager (statd) sú ďalšie služby potrebné na spustenie NFS. Títo démoni bežia na strane servera a klienta.
Démon lockd umožňuje klientom NFS uzamknúť súbory na serveri NFS.
Na druhej strane je démon statd zodpovedný za upozornenie používateľov na reštartovanie servera NFS bez elegantného vypnutia. Implementuje protokol Network Status Monitor RPC.
Aj keď obe tieto služby spúšťa služba nfslock automaticky, môžete ich nakonfigurovať na spustenie statického portu, čo môže byť užitočné v konfiguráciách brány firewall.
Nastavte statický port pre démonov statd a lockd, upravte súbor/etc/sysconfig/nfs a zadajte nasledujúce položky.
STATD_PORT=[prístav]LOCKD_TCPPORT=[prístav]
LOCKD_UDPPORT=[prístav]
Rýchla rekapitulácia
Pozrime sa na rýchlu rekapituláciu toho, čo sme práve uviedli.
Ak používate NFS v4, stačí povoliť port 2049. Ak však používate systém NFS v2 alebo v3, musíte upraviť súbor/etc/sysconfig/nfs a pridať porty pre nasledujúce služby.
- Mountd - MOUNTD_PORT = port
- Statd - STATD_PORT = port
- LOCKD - LOCKD_TCPPORT = port, LOCKD_UDPPORT = port
Nakoniec musíte zabezpečiť, aby démon NFSD bežal na porte 2049 a mapovač portov na porte 111
POZNÁMKA: Ak súbor/etc/sysconfig/nfs neexistuje, vytvorte ho a pridajte položky uvedené v návode.
Ak sa služba NFS nespustí správne, môžete tiež skontrolovať správy/var/log/. Zaistite, aby sa vami určené porty nepoužívali.
Príklad konfigurácie
Nasleduje konfiguračné nastavenie servera NFS na serveri CentOS 8.
Po úprave konfigurácie a pridaní potrebných portov, ako je popísané v návode, reštartujte službu ako:
sudosystemctl start nfs-server.serviceĎalej pomocou príkazu potvrďte, že je služba spustená:
sudosystemctl status nfs-server.service
Nakoniec potvrďte spustené porty pomocou príkazu rpcinfo, ako ukazuje nasledujúci príkaz:
sudorpcinfo-p
Záver
Tento tutoriál diskutoval o sieťových základoch protokolu NFS a portoch a službách potrebných pre NFS v2, v3 a v4.
Ďakujem za prečítanie a buďte hrdým geekom!