nfs中portmap的作用

2021-09-23 13:58:09 字數 1496 閱讀 8434

linux下rpc服務由portmap服務控制。

因為nfs支援的功能相當多,而不同的功能都會使用不同的程式來啟動。每啟動乙個功能就會啟用一些埠來傳輸資料,因此nfs的功能所對應的埠才沒有固定,而是採用隨機取用一些未被使用的小於724的埠來作為傳輸之用。但如此一來又造成客戶端要連線伺服器時的困擾,因為客戶端要知道伺服器端的相關埠才能夠聯機,此時我們需要遠端過程呼叫(rpc)的服務。rpc最主要的功能就是指定每個nfs功能所對應的埠號,並且回報給客戶端,讓客戶端可以連線到正確的埠上。當伺服器在啟動nfs時會隨機選用數個埠,並主動地向rpc註冊。因此rpc可以知道每個埠對應的nfs功能。然後rpc固定使用埠111來監聽客戶端的請求並回報客戶端正確的埠,所以可以讓nfs的啟動更為容易。注意,啟動nfs之前,要先啟動rpc;否則nfs會無法向rpc註冊。另外,重新啟動rpc時原本註冊的資料會不見,因此rpc重新啟動後它管理的所有程式都需要重新啟動以重新向rpc註冊。

當客戶端有nfs檔案要訪問請求時,它如何向伺服器端要求資料?

(1)客戶端會向伺服器端的rpc(port 111)發出nfs檔案訪問功能的詢問請求。

(2)伺服器端找到對應的已註冊的nfs daemon埠後會回報給客戶端。

(3)客戶端了解正確的埠後,就可以直接與nfs守護程序來聯機。

由於nfs的各項功能都必須要向rpc註冊,因此rpc才能了解nfs服務的各項功能的port number、pid和nfs在主機所監聽的ip等,而客戶端才能夠通過rpc的詢問找到正確對應的埠。即nfs必須要有rpc存在時才能成功地提供服務,因此我們稱nfs為rpc server的一種。事實上,有很多這樣的伺服器都向rpc註冊。例如,nis(network information service)也是rpc server的一種。不論是客戶端還是伺服器端,要使用nfs都需要啟動rpc。

通常,為了能夠正常使用nfs,還需要一些相關的服務來協同工作:

nfs:啟動相應rpc服務程序來服務對於nfs檔案系統的請求。

nfslock:乙個可選的服務,用於啟動相應的rpc程序,允許nfs客戶端在伺服器上對檔案加鎖。

portmap:linux的rpc服務,它響應rpc服務的請求和與請求的rpc服務建立連線。

下面的rpc後台程序是為nfs提供服務的:

rpc.mountd:這個程序接受來自nfs客戶端的載入請求和驗證請求的檔案系統正在被輸出。這個程序由nfs服務自動啟動,不需要使用者的配置。

rpc.nfsd:這個程序是nfs伺服器.它和linux核心一起工作來滿足nfs客戶端的動態需求,例如提供為每個nfs客戶端的每次請求伺服器執行緒。這個程序對應於nfs服務。

rpc.lockd:乙個可選的程序,它允許nfs客戶端在伺服器上對檔案加鎖。這個程序對應於nfslock服務。

rpc.statd:這個程序實現了網路狀態監控(nsm)rpc協議,通知nfs客戶端什麼時候乙個nfs伺服器非正常重啟動。這個程序被nfslock服務自動啟動。不需要使用者的配置。

rpc.rquotad:這個程序對於遠端使用者提供使用者配額資訊。這個程序被nfs服務自動啟動,不需要使用者的配置。

黑客利用開放的Portmap放大DDoS攻擊

2015年8月19日在15點11分,安全觀察員約翰 萊頓對於新一類能造成大程度攻擊威脅的ddos攻擊威脅發出過警告,當太多使用者未能遵守基本的安全保障時便會造成這種威脅。錯誤配置的服務如dns或網路時間協議 ntp 在過去的幾年中,導致了一系列的ddos攻擊。並且其中最引人注目的一次攻擊是在2013...

linux中NFS的搭建

一 什麼是nfs伺服器 因為nfs支援的功能相當多,而不同的功能都會使用不同的程式來啟動,每啟動乙個功能就會啟用一些埠來傳輸資料,因此nfs的功能對應的埠並不固定,客戶端要知道nfs伺服器端的相關埠才能建立連線進行資料傳輸,而rpc就是用來統一管理nfs埠的服務,並且統一對外的埠是111,rpc會記...

uboot中,nfs掛載的bootargs

只需指定root的引數即可 root dev nfs ro nfsroot serverip rootpath,nolock,tcp其中 帶 號的是uboot的環境變數,也就是pri列印的變數表 nfsroot引數的後面,是要求傳遞給核心nfs的引數,最終這些引數會出現在 proc mounts中 ...