I denna handledning kommer vi att fokusera på de grundläggande nätverkskoncepten för NFS, särskilt portarna som används av NFS -tjänsterna. När vi förstår de specifika portarna och tjänsterna för NFS -resursen kan vi använda dem för att konfigurera säkerhetsåtgärder som brandväggar och felsökning.
Hur NFS fungerar
Det finns tre versioner av NFS som stöds när du skriver denna artikel. NFS v2 är det äldsta och det mest stödda.
NFS v3 är nyare än NFS V2 och erbjuder fler funktioner som hantering av variabel storlek, förbättrad felrapportering, men NFS v3 är inte kompatibel med NFS v2 -klienter.
Den senaste versionen av NFS v4 ger nya och förbättrade funktioner. De inkluderar stateful operationer, bakåtkompatibilitet med NFS v2 och NFS v3, krav på borttagna portmapper, interoperabilitet över flera plattformar, bättre namnrymdshantering, inbyggd säkerhet med ACL och Kerberos.
Följande är en jämförelse av NFS v3 och NFS v 4.
Funktion | NFS v3 | NFS v4 |
Transportprotokoll | TCP och UDP | Endast UDP |
Tillståndshantering | Unix | Windows-baserade |
Autentiseringsmetod | Auth_Sys - Svagare | Kerberos (Strong) |
Personlighet | Statslös | Stateful |
Semantik | Unix | Unix och Windows |
Tabellen ovan visar några av funktionerna i NFS -protokoll 4 mot NFS -protokoll 3. Om du vill lära dig mer, överväg det officiella dokumentet nedan:
https://datatracker.ietf.org/doc/html/rfc3530
NFS v4 använder inte en portmapper, och tjänster som krävs av NFS V2 och V3 är inte nödvändiga. Därför krävs endast port 2049 i NFS v4.
NFS v2 och v2 kräver dock ytterligare portar och tjänster, som vi kommer att diskutera i den här självstudien.
Tjänster som krävs (NFS v2 och V3)
Som nämnts använder NFS v2 & v3 portmappstjänst. Portmappstjänsten i Linux hanterar fjärrprocedureanrop, som NFS (v2 och v3) använder för att koda och avkoda förfrågningar mellan klienten och servrarna.
För att implementera NFS -delning krävs följande tjänster. Tänk på att detta bara är för NFS v2 och v3.
- Portmapper
- Mountd
- Nfsd
- Lockd
- Statd
#: Portmapper
Portmapper-tjänsten krävs för att köra NFS både på klienten och på serversidan. Den körs på Port 111 för både TCP- och UDP -protokoll.
Om du implementerar en brandvägg, se till att den här porten är tillåten för inkommande och utgående paket.
#: Mountd
Den andra tjänsten som krävs för att köra NFS är mountd -demonen. Denna tjänst körs på NFS -servern och används för att hantera monteringsbegäranden från NFS -klienterna. Den hanteras huvudsakligen av nfsd -tjänsten och kräver ingen användarkonfiguration.
Du kan dock redigera konfigurationen för att ställa in en statisk port i filen/etc/sysconfig/nfs. Leta reda på / och ställ in:
MOUNTD_PORT=[hamn]#: NFSD
Detta är NFS -demonen som körs på NFS -servrar. Detta är en kritisk tjänst som fungerar med Linux -kärnan för att tillhandahålla funktioner som servertrådar för alla klienter som är anslutna till servern.
Som standard är NFS -demonen redan konfigurerad för att köra en statisk port 2049. Porten är sann på både TCP- och UDP -protokoll.
#: Lockd & Statd
NFS Lock Manager -demon (lockd) och Status Manager -demon (statd) är andra tjänster som krävs för att köra NFS. Dessa demoner körs på serversidan och klientsidan.
Lockd -demonen låter NFS -klienterna låsa filer på NFS -servern.
Å andra sidan är statd -demonen ansvarig för att meddela användarna när NFS -servern startas om utan en graciös avstängning. Det implementerar Network Status Monitor RPC -protokollet.
Även om båda dessa tjänster startas automatiskt av nfslock -tjänsten kan du konfigurera dem för att köra en statisk port, vilket kan vara användbart i brandväggskonfigurationer.
Ange en statisk port för statd- och lockd -demoner, redigera/etc/sysconfig/nfs och ange följande poster.
STATD_PORT=[hamn]LOCKD_TCPPORT=[hamn]
LOCKD_UDPPORT=[hamn]
Snabb sammanfattning
Låt oss ta en titt på en snabb sammanfattning av vad vi just täckte.
Om du kör NFS v4 är allt du behöver för att tillåta port 2049. Men om du kör antingen NFS v2 eller v3 måste du redigera filen/etc/sysconfig/nfs och lägga till portarna för följande tjänster.
- Mountd - MOUNTD_PORT = port
- Statd - STATD_PORT = port
- LOCKD - LOCKD_TCPPORT = port, LOCKD_UDPPORT = port
Slutligen måste du se till att NFSD -demonen körs på port 2049 och portmappen på port 111
NOTERA: Om filen/etc/sysconfig/nfs inte finns, skapa den och lägg till de poster som anges i självstudien.
Du kan också kontrollera/var/log/meddelanden om NFS -tjänsten inte startar korrekt. Se till att portarna du angav inte används.
Exempelkonfig
Följande är en konfigurationsinställning för NFS -servern på en CentOS 8 -server.
När du har redigerat konfigurationen och lagt till nödvändiga portar enligt diskussionen i självstudien startar du om tjänsten som:
sudosystemctl startar nfs-server.serviceBekräfta sedan att tjänsten körs med kommandot:
sudosystemctl status nfs-server.service
Slutligen bekräfta portarna som kör med rpcinfo som visas i kommandot nedan:
sudorpcinfo-s
Slutsats
Denna handledning diskuterade nätverksgrunderna i NFS -protokollet och de portar och tjänster som krävs för både NFS v2, v3 och v4.
Tack för att du läste & Var en stolt nörd!