Itu tergantung pada versi protokol yang ingin Anda gunakan. NFS 4 hanya membutuhkan 2.049 sementara versi yang lebih lama membutuhkan lebih.
lzap
Jawaban:
97
$ rpcinfo -p | grep nfs
Port 111 (TCP dan UDP) dan 2049 (TCP dan UDP) untuk server NFS.
Ada juga port untuk Cluster dan status klien (Port 1110 TCP untuk yang sebelumnya, dan 1110 UDP untuk yang terakhir) serta port untuk manajer kunci NFS (Port 4045 TCP dan UDP). Hanya Anda yang dapat menentukan port mana yang perlu Anda izinkan tergantung pada layanan mana yang dibutuhkan lintas gateway.
Saya tidak tahu tentang rpcinfo, itu cukup berguna. Saya tidak melihat port 111 dengan grep nfs, tetapi saya berhenti grep untuk mengetahui bahwa 111 adalah untuk portmapper. Juga senang tahu! (dan seperti yang Anda sebutkan, perlu)
kenny
@KennyYounger rpcinfo juga berguna. Jika ini menjawab pertanyaan Anda, jangan lupa menandainya sebagai jawaban untuk kepentingan pemirsa di masa depan.
Wesley
6
Anda perlu me-mount terbuka saat pertama kali me-mount sistem file. Ini berjalan pada port dinamis, jadi tidak akan selalu sama. Saya memasang tautan ke panduan dalam jawaban saya.
bonsaiviking
1
Terima kasih @bonsaiviking. Info penting untuk proses ini. Saya membatalkan jawaban Anda!
kenny
Bisakah Anda memberikan deskripsi singkat tentang apa yang dilakukan oleh layanan tersebut ("status cluster dan klien", "manajer kunci NFS") dan kapan layanan itu diperlukan? Jika layanan tersebut diblokir oleh firewall, akankah server dan klien NFS menurun dengan anggun, atau hanya mengunci menunggu jawaban?
Nathan Craike
27
Selain 111 untuk portmapper dan 2049 untuk nfs, Anda harus mengizinkan port mountd dan mungkin rquotad, lockd, dan statd, yang semuanya dapat menjadi dinamis. Panduan keamanan NFS yang luar biasa ini merekomendasikan untuk mengubah skrip startup dan konfigurasi modul kernel untuk memaksa mereka menggunakan port statis.
Kami benar-benar lebih suka konten, bukan petunjuk ke konten. Sebuah précis dari konten dengan tautan juga ok dan lebih disukai daripada sebuah tautan.
user9517 mendukung GoFundMonica
2
Tidak yakin tentang 2012 tetapi rekomendasi di tautan tampaknya sudah usang. NFS lebih dari TCP lebih disukai karena berbagai alasan dan NFS lebih dari UDP dapat menyebabkan korupsi data diam pada tautan cepat karena keterbatasan protokol. Panduan keamanan tidak menyebutkan Kerberos / GSS dll.
Maciej Piechotka
Sehubungan dengan mountd, hidup jauh lebih mudah jika Anda mengkonfigurasi ulang untuk memastikan port mountd diperbaiki. Pada sistem debian, edit nilai RPCMOUNTDOPTS ke sesuatu seperti RPCMOUNTDOPTS="--port 34567"dan kemudian mulai kembali dengan sysctl --systemdan/etc/init.d/nfs-kernel-server restart
user45793
14
Saya menemukan petunjuk yang bermanfaat untuk masalah saya di halaman ini, tetapi tidak ada resep yang mudah diikuti. Jadi, inilah resep saya.
TL; DR - harus mengizinkan port nfs (111, 2049) dan mountd port setelah memperbaikinya.
Instruksi:
Menyiapkan port tetap untuk mountd
gksudo gedit /etc/default/nfs-kernel-server
berkomentar di baris ini: RPCMOUNTDOPTS=--manage-gids
tambahkan ini sebagai gantinya: RPCMOUNTDOPTS="--port 33333"
Atau nomor port lainnya.
sekarang coba reset nfs menggunakan:
sudo service nfs-kernel-server restart
Dan uji apakah itu membantu menggunakan:
rpcinfo -p | grep "tcp.*mountd"
Bagi saya itu tidak cukup, tetapi restart penuh memperbaiki masalah ini.
(1) hapus aturan lama, lakukan ini secara manual atau reset jika ini hanya digunakan untuk firewall:
sudo ufw reset
sudo ufw enable
(2) tambahkan port nfs & mountd
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
(Ubah IP lokal Anda atau " any" alih-alih 10.0.0.1/20)
Anda tidak perlu memulai ulang seluruh kotak. Sederhana sudo service nfs-config restartsebelum memulai kembali nfs-kernel-serverakan baik-baik saja.
showp1984
@ showp1984 terima kasih, saya akan mencobanya lain kali
Amir Uval
Atau jika sistem Anda menggunakan systemctl, itu systemctl restart nfs-kernel-server.service.
fbicknel
Anda juga dapat melakukan semuanya dalam satu gelombang besar: sudo nfs allow proto tcp from 10.0.0.1/20 to any port 111,2049,33333diikuti oleh (ok, dua gelombang besar) sudo nfs allow proto udp from 10.0.0.1/20 to any port 111,2049,33333. Catatan port 33333 adalah per contoh di atas. Anda dapat menggunakan port lain seperti yang ditunjukkan oleh jawabannya.
fbicknel
5
Ini akan memberikan daftar semua port yang digunakan oleh semua program terkait NFS:
Sebagai catatan, saya harus menambahkan izin untuk port 111, 2049 DAN 1048 untuk konfigurasi di mana bagian NFS diekspor oleh server Windows 2008 R2 dan kliennya adalah Ubuntu 12.04.4.
Mungkin membantu menjelaskan mengapa Anda membutuhkan port 1048 dan bagaimana Anda menentukannya.
HBruijn
3
Terus terang, saya tidak tahu mengapa saya perlu menambahkan izin untuk 1048, tetapi menambahkan itu memecahkan masalah saya. Saya hanya ingin berbagi jika itu dapat menghemat waktu orang lain di masa depan. Saya minta maaf karena tidak dapat menjawab pertanyaan.
Jawaban:
Port 111 (TCP dan UDP) dan 2049 (TCP dan UDP) untuk server NFS.
Ada juga port untuk Cluster dan status klien (Port 1110 TCP untuk yang sebelumnya, dan 1110 UDP untuk yang terakhir) serta port untuk manajer kunci NFS (Port 4045 TCP dan UDP). Hanya Anda yang dapat menentukan port mana yang perlu Anda izinkan tergantung pada layanan mana yang dibutuhkan lintas gateway.
sumber
grep nfs
, tetapi saya berhenti grep untuk mengetahui bahwa 111 adalah untukportmapper
. Juga senang tahu! (dan seperti yang Anda sebutkan, perlu)Selain 111 untuk portmapper dan 2049 untuk nfs, Anda harus mengizinkan port mountd dan mungkin rquotad, lockd, dan statd, yang semuanya dapat menjadi dinamis. Panduan keamanan NFS yang luar biasa ini merekomendasikan untuk mengubah skrip startup dan konfigurasi modul kernel untuk memaksa mereka menggunakan port statis.
Selain panduan di atas, yang memiliki bagian tentang firewall , lihat jawaban saya untuk pertanyaan lain tentang pengerasan NFS.
sumber
RPCMOUNTDOPTS="--port 34567"
dan kemudian mulai kembali dengansysctl --system
dan/etc/init.d/nfs-kernel-server restart
Saya menemukan petunjuk yang bermanfaat untuk masalah saya di halaman ini, tetapi tidak ada resep yang mudah diikuti. Jadi, inilah resep saya.
TL; DR - harus mengizinkan port nfs (111, 2049) dan mountd port setelah memperbaikinya.
Instruksi:
Menyiapkan port tetap untuk mountd
RPCMOUNTDOPTS=--manage-gids
RPCMOUNTDOPTS="--port 33333"
Atau nomor port lainnya.
sekarang coba reset nfs menggunakan:
Dan uji apakah itu membantu menggunakan:
Bagi saya itu tidak cukup, tetapi restart penuh memperbaiki masalah ini.
( kredit )
Menyiapkan firewall
(1) hapus aturan lama, lakukan ini secara manual atau reset jika ini hanya digunakan untuk firewall:
(2) tambahkan port nfs & mountd
(Ubah IP lokal Anda atau "
any
" alih-alih10.0.0.1/20
)Itu saja yang ada di sana.
sumber
sudo service nfs-config restart
sebelum memulai kembalinfs-kernel-server
akan baik-baik saja.systemctl
, itusystemctl restart nfs-kernel-server.service
.sudo nfs allow proto tcp from 10.0.0.1/20 to any port 111,2049,33333
diikuti oleh (ok, dua gelombang besar)sudo nfs allow proto udp from 10.0.0.1/20 to any port 111,2049,33333
. Catatan port 33333 adalah per contoh di atas. Anda dapat menggunakan port lain seperti yang ditunjukkan oleh jawabannya.Ini akan memberikan daftar semua port yang digunakan oleh semua program terkait NFS:
sumber
Dengan FERM kita dapat menggunakan Backticks untuk mendapatkan porta dari rpcinfo, misalnya:
Server:
Klien:
(Jika Anda hanya akan menggunakan TCP maka Anda hanya perlu
proto tcp
bagian itu).sumber
Sebagai catatan, saya harus menambahkan izin untuk port 111, 2049 DAN 1048 untuk konfigurasi di mana bagian NFS diekspor oleh server Windows 2008 R2 dan kliennya adalah Ubuntu 12.04.4.
Saya harap ini membantu seseorang.
sumber