Vraag Welke poorten moet ik openen in de firewall om NFS te gebruiken?


Ik run Ubuntu 11.10 - NFS instellen om een ​​map te delen met vele andere servers. Welke poorten moeten op de firewall worden geopend?


55
2018-04-05 21:01


oorsprong


Het hangt af van de versie van het protocol dat u wilt gebruiken. NFS 4 vereist slechts 2049, terwijl oudere versies meer nodig hebben. - lzap


antwoorden:


rpcinfo -p | grep nfs

Poort 111 (TCP en UDP) en 2049 (TCP en UDP) voor de NFS-server.

Er zijn ook poorten voor Cluster- en clientstatus (poort 1110 TCP voor de eerste en 1110 UDP voor de laatste), evenals een poort voor de NFS-vergrendelingsmanager (poort 4045 TCP en UDP). Alleen u kunt bepalen welke poorten u moet toestaan, afhankelijk van welke services cross-gateway nodig hebben.


80
2018-04-05 21:03



Ik wist niet van rpcinfo, dat is best handig. Ik heb de poort 111 niet gezien met de grep nfs, maar ik stopte de grep om te leren dat 111 voor is portmapper. Ook goed om te weten! (en zoals je al zei, noodzakelijk) - kenny
@KennyYounger rpcinfo is ook nuttig. Als dit uw vraag beantwoordt, vergeet dan niet het als het antwoord te markeren ten behoeve van toekomstige kijkers. - Wesley
U moet mountd open hebben wanneer u het bestandssysteem voor de eerste keer aankoppelt. Het draait op een dynamische poort, dus het zal niet altijd hetzelfde zijn. Ik heb in mijn antwoord een link naar een gids geplaatst. - bonsaiviking
@bonsaiviking Uitstekend! Dank je. - Wesley
Bedankt @bonsaiviking. Essentiële informatie voor dit proces. Ik heb je antwoord verbeterd! - kenny


Naast 111 voor portmapper en 2049 voor nfs, moet je de mountd-poort toestaan ​​en mogelijk rquotad, lockd en statd, die allemaal dynamisch kunnen zijn. Deze uitstekende NFS-beveiligingsgids raadt aan om uw opstartscripts en kernelmoduleconfigs te wijzigen om hen te dwingen statische poorten te gebruiken.

In aanvulling op de bovenstaande gids, die een sectie over firewalls, zien mijn antwoord naar een andere vraag over verhardende NFS.


21
2018-04-05 21:22



We geven echt de voorkeur aan inhoud, geen verwijzingen naar inhoud. Een pre-cis van de inhoud met een link is ook goed en geeft de voorkeur aan een link. - Iain
Niet zeker over 2012 maar de aanbeveling in links lijkt schromelijk verouderd. NFS via TCP heeft om verschillende redenen de voorkeur en NFS over UDP kan stille gegevenscorruptie veroorzaken op een snelle koppeling vanwege protocolbeperkingen. Beveiligingsgids heeft geen melding gemaakt van Kerberos / GSS etc. - Maciej Piechotka


Ik heb op deze pagina nuttige aanwijzingen voor mijn probleem gevonden, maar het recept was niet gemakkelijk te volgen. Dus dit is mijn recept.

TL; DR - moeten beide nfs-poorten (111, 2049) en mountd-poort toestaan ​​nadat dit is opgelost.

instructies:


Een vaste poort instellen voor mountd

gksudo gedit /etc/default/nfs-kernel-server
  • geef commentaar op deze regel: RPCMOUNTDOPTS=--manage-gids
  • voeg dit toe in plaats daarvan: RPCMOUNTDOPTS="--port 33333"

Of een ander poortnummer.

probeer nu nfs te resetten met behulp van:

sudo service nfs-kernel-server restart

En test of het hielp gebruiken:

rpcinfo -p | grep tcp.*mountd

Voor mij was het niet genoeg, maar een volledige herstart loste het probleem op.

(credit)


De firewall instellen

(1) verwijder oude regels, doe dit handmatig of reset als dit het enige gebruik voor de firewall is:

sudo ufw reset
sudo ufw enable

(2) voeg nfs & mountd-poorten toe

sudo ufw allow in from 10.0.0.1/20 to any port 111 
sudo ufw allow in from 10.0.0.1/20 to any port 2049
sudo ufw allow in from 10.0.0.1/20 to any port 33333

(Verander naar uw lokale IP's of naar "any" in plaats van 10.0.0.1/20)

Dat is alles.


7
2017-12-29 16:47



U hoeft de hele doos niet opnieuw te starten. Een eenvoudige sudo service nfs-config restart voordat u de nfs-kernel-server zal het goed doen. - showp1984
@ showp1984 bedankt, ik zal het de volgende keer proberen - auval


Met FERM kan men gebruiken backticks om de poorten van rpcinfo te krijgen, bijvoorbeeld:

Server:

proto tcp {saddr ($CLIENT) {
  dport (`rpcinfo -p | perl -e 'while(<>){/\s+\d+\s+\d\s+(?:tcp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'`) ACCEPT; # NFS
}}
proto udp {saddr ($CLIENT) {
  dport (`rpcinfo -p | perl -e 'while(<>){/\s+\d+\s+\d\s+(?:udp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'`) ACCEPT; # NFS
}}

Cliënt:

proto udp {saddr ($SERVER) {ACCEPT;}}  # NFS

(Als u alleen het TCP gaat gebruiken, hebt u alleen de proto tcp een deel).


3
2017-08-13 21:39





Dit geeft een lijst met alle poorten die worden gebruikt door alle NFS-gerelateerde programma's:

rpcinfo -p | awk '{print $3" "$4}' | sort -k2n | uniq

2
2017-07-02 13:54





Voor de records moest ik machtigingen toevoegen voor poorten 111, 2049 EN 1048 voor een configuratie waarbij een NFS-share wordt geëxporteerd door een Windows 2008 R2-server en de clients Ubuntu 12.04.4 zijn.

Ik hoop dat dit iemand helpt.


1
2017-12-16 08:13



Het zou kunnen helpen om uit te leggen waarom u poort 1048 nodig had en hoe u dat bepaalde. - HBruijn
Eerlijk gezegd heb ik geen flauw idee waarom ik een toestemming moest toevoegen voor 1048, maar toevoegen dat loste mijn probleem op. Ik wilde alleen delen als dat in de toekomst tijd bespaart voor iemand anders. Het spijt me dat ik de vraag niet heb kunnen beantwoorden. - Erdem KAYA