To zależy od wersji protokołu, którego zamierzasz użyć. NFS 4 wymaga tylko 2049, podczas gdy starsze wersje wymagają więcej.
lzap
Odpowiedzi:
97
$ rpcinfo -p | grep nfs
Port 111 (TCP i UDP) i 2049 (TCP i UDP) dla serwera NFS.
Istnieją również porty dla statusu klastra i klienta (Port 1110 TCP dla pierwszego i 1110 UDP dla drugiego), a także port dla menedżera blokady NFS (Port 4045 TCP i UDP). Tylko Ty możesz określić, które porty musisz zezwolić, w zależności od potrzebnych usług cross-gateway.
Nie wiedziałem o rpcinfo, co jest dość przydatne. Nie widziałem portu 111 z grep nfs, ale zrezygnowałem z grep, aby dowiedzieć się, że 111 jest dla portmapper. Również dobrze wiedzieć! (i jak wspomniałeś, konieczne)
kenny,
@KennyYounger rpcinfo jest również przydatny. Jeśli odpowiedziałeś na to pytanie, nie zapomnij zaznaczyć go jako odpowiedzi na korzyść przyszłych widzów.
Wesley,
6
Musisz zamontować otwarte przy pierwszym podłączeniu systemu plików. Działa na porcie dynamicznym, więc nie zawsze będzie taki sam. W odpowiedzi umieściłem link do przewodnika.
bonsaiviking
1
Dzięki @bonsaiviking. Informacje krytyczne dla tego procesu. Poparłem twoją odpowiedź!
kenny
Czy możesz krótko opisać, co robią te usługi („status klastra i klienta”, „menedżer blokady NFS”) i kiedy mogą być potrzebne? Jeśli te usługi są blokowane przez zaporę ogniową, to czy serwery i klienci NFS ulegną degradacji z gracją, czy po prostu zablokują się w oczekiwaniu na odpowiedź?
Nathan Craike,
27
Oprócz 111 dla portmapper i 2049 dla nfs, musisz zezwolić na montowany port i ewentualnie rquotad, lockd i statd, z których wszystkie mogą być dynamiczne. Ten doskonały przewodnik bezpieczeństwa NFS zaleca zmianę skryptów startowych i konfiguracji modułów jądra, aby zmusić je do używania portów statycznych.
Naprawdę wolimy treść, a nie wskaźniki od treści. Precyzja treści z linkiem jest również w porządku i preferowana od linku.
user9517
2
Nie jestem pewien co do roku 2012, ale zalecenie w linkach wydaje się rażąco nieaktualne. NFS zamiast TCP jest preferowany z różnych powodów, a NFS zamiast UDP może powodować ciche uszkodzenie danych na szybkim łączu z powodu ograniczeń protokołu. Przewodnik bezpieczeństwa nie wspomina o Kerberos / GSS itp.
Maciej Piechotka
Jeśli chodzi o mountd, życie jest znacznie łatwiejsze, jeśli zmienisz konfigurację, aby upewnić się, że port mountd jest naprawiony. W systemach Debian zmień wartość RPCMOUNTDOPTS na coś podobnego, RPCMOUNTDOPTS="--port 34567"a następnie uruchom ponownie za pomocą sysctl --systemi/etc/init.d/nfs-kernel-server restart
user45793
14
Na tej stronie znalazłem przydatne wskazówki dotyczące mojego problemu, ale przepis nie był łatwy do wykonania. Oto mój przepis.
TL; DR - po naprawie należy zezwolić zarówno na porty nfs (111, 2049), jak i port montowany.
Instrukcje:
Konfigurowanie stałego portu dla mountd
gksudo gedit /etc/default/nfs-kernel-server
skomentuj ten wiersz: RPCMOUNTDOPTS=--manage-gids
dodaj to zamiast: RPCMOUNTDOPTS="--port 33333"
Lub dowolny inny numer portu.
teraz spróbuj zresetować NFS używając:
sudo service nfs-kernel-server restart
I sprawdź, czy pomogło to w użyciu:
rpcinfo -p | grep "tcp.*mountd"
Dla mnie to nie wystarczyło, ale pełne ponowne uruchomienie rozwiązało problem.
(1) usuń stare reguły, zrób to ręcznie lub zresetuj, jeśli jest to jedyne zastosowanie zapory:
sudo ufw reset
sudo ufw enable
(2) dodaj nfs i zamontowane porty
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
(Zmień na lokalne adresy IP lub na „ any” zamiast 10.0.0.1/20)
Nie musisz ponownie uruchamiać całego pudełka. Proste sudo service nfs-config restartprzed ponownym uruchomieniem nfs-kernel-serverbędzie w porządku.
showp1984
@ showp1984 dzięki, spróbuję następnym razem
Amir Uval
Lub jeśli twój system używa systemctl, to jest systemctl restart nfs-kernel-server.service.
fbicknel
Możesz to zrobić wszystko w jednym spuchniętym foopie: sudo nfs allow proto tcp from 10.0.0.1/20 to any port 111,2049,33333a następnie (ok, dwa spuchnięte foopie) sudo nfs allow proto udp from 10.0.0.1/20 to any port 111,2049,33333. Uwaga port 33333 jest zgodny z powyższym przykładem. Możesz użyć innego portu, jak wskazuje odpowiedź.
fbicknel
5
Spowoduje to wyświetlenie listy wszystkich portów używanych przez wszystkie programy związane z NFS:
Do celów rejestracyjnych musiałem dodać uprawnienia dla portów 111, 2049 i 1048 dla konfiguracji, w której udział NFS jest eksportowany przez serwer Windows 2008 R2, a klientami są Ubuntu 12.04.4.
Może to pomóc wyjaśnić, dlaczego potrzebujesz portu 1048 i jak to określiłeś.
HBruijn
3
Szczerze mówiąc, nie mam pojęcia, dlaczego muszę dodać pozwolenie na 1048, ale dodanie tego rozwiązało mój problem. Chciałem się tylko podzielić, jeśli to pozwoli zaoszczędzić czas komuś innemu w przyszłości. Przykro mi, że nie mogłem odpowiedzieć na pytanie.
Odpowiedzi:
Port 111 (TCP i UDP) i 2049 (TCP i UDP) dla serwera NFS.
Istnieją również porty dla statusu klastra i klienta (Port 1110 TCP dla pierwszego i 1110 UDP dla drugiego), a także port dla menedżera blokady NFS (Port 4045 TCP i UDP). Tylko Ty możesz określić, które porty musisz zezwolić, w zależności od potrzebnych usług cross-gateway.
źródło
grep nfs
, ale zrezygnowałem z grep, aby dowiedzieć się, że 111 jest dlaportmapper
. Również dobrze wiedzieć! (i jak wspomniałeś, konieczne)Oprócz 111 dla portmapper i 2049 dla nfs, musisz zezwolić na montowany port i ewentualnie rquotad, lockd i statd, z których wszystkie mogą być dynamiczne. Ten doskonały przewodnik bezpieczeństwa NFS zaleca zmianę skryptów startowych i konfiguracji modułów jądra, aby zmusić je do używania portów statycznych.
Oprócz powyższego przewodnika, który zawiera sekcję dotyczącą zapór ogniowych , zobacz moją odpowiedź na inne pytanie dotyczące wzmacniania NFS.
źródło
RPCMOUNTDOPTS="--port 34567"
a następnie uruchom ponownie za pomocąsysctl --system
i/etc/init.d/nfs-kernel-server restart
Na tej stronie znalazłem przydatne wskazówki dotyczące mojego problemu, ale przepis nie był łatwy do wykonania. Oto mój przepis.
TL; DR - po naprawie należy zezwolić zarówno na porty nfs (111, 2049), jak i port montowany.
Instrukcje:
Konfigurowanie stałego portu dla mountd
RPCMOUNTDOPTS=--manage-gids
RPCMOUNTDOPTS="--port 33333"
Lub dowolny inny numer portu.
teraz spróbuj zresetować NFS używając:
I sprawdź, czy pomogło to w użyciu:
Dla mnie to nie wystarczyło, ale pełne ponowne uruchomienie rozwiązało problem.
( kredyt )
Konfigurowanie zapory ogniowej
(1) usuń stare reguły, zrób to ręcznie lub zresetuj, jeśli jest to jedyne zastosowanie zapory:
(2) dodaj nfs i zamontowane porty
(Zmień na lokalne adresy IP lub na „
any
” zamiast10.0.0.1/20
)To wszystko.
źródło
sudo service nfs-config restart
przed ponownym uruchomieniemnfs-kernel-server
będzie w porządku.systemctl
, to jestsystemctl restart nfs-kernel-server.service
.sudo nfs allow proto tcp from 10.0.0.1/20 to any port 111,2049,33333
a następnie (ok, dwa spuchnięte foopie)sudo nfs allow proto udp from 10.0.0.1/20 to any port 111,2049,33333
. Uwaga port 33333 jest zgodny z powyższym przykładem. Możesz użyć innego portu, jak wskazuje odpowiedź.Spowoduje to wyświetlenie listy wszystkich portów używanych przez wszystkie programy związane z NFS:
źródło
Za pomocą FERM można użyć Backticks, aby uzyskać porty z rpcinfo, na przykład:
Serwer:
Klient:
(Jeśli zamierzasz używać tylko TCP, potrzebujesz tylko
proto tcp
części).źródło
Do celów rejestracyjnych musiałem dodać uprawnienia dla portów 111, 2049 i 1048 dla konfiguracji, w której udział NFS jest eksportowany przez serwer Windows 2008 R2, a klientami są Ubuntu 12.04.4.
Mam nadzieję, że to komuś pomoże.
źródło