內網Serv-U架站:執行個體解析FTP原理

來源:互聯網
上載者:User

   首先要提到的是這裡的內網是指一般我們網吧內部環境的內網,對區域網路內網我沒什麼好說的。一個基本條件:一個公網IP,對網關有操作許可權。

  FTP伺服器端192.168.0.100,我選用Win2K+Serv-U 6.1.0.0,很普通常用的一個組合網關是最簡單的雙網卡PC,一接外網一接內網,這裡假設外網IP為218.4.218.4,內網IP為 192.168.0.1。

  提一些概念性的東東:

  一次完整的FTP會話,包含有兩個串連,一個稱之為命令通道,一個稱之為資料通道。命令通道用來傳遞一些"命令"和反饋,包括使用者名稱密碼登陸, 而且眾所周知是明文資料通道用來傳遞實際資料----列目錄、檔案傳輸,一旦需要列目錄或檔案傳輸,資料通道就會被建立起來,這裡分兩種方式,一是 PORT二是PASV。

  你會在網際網路上找到許多FTP伺服器,有的要麼只支援PORT,有的要麼只支援PASV,有的是因為考慮安全因素,有的是因為條件限制等等。我 想把我的FTP做成PORT和PASV方式都能支援的,這樣不會使用戶端在串連上受到困擾,特別是一些新手,對於PORT和PASV的定義,比較容易理解 的解釋是針對FTP服務端而言的:

  PORT是主動模式,在建立資料通道時,服務端去串連別人;

  PASV是被動模式,在建立資料通道時,服務端被別人串連;

  建立資料通道時,用PORT模式還是PASV模式,選擇權在於FTP用戶端。

  現在要做的,就是連接埠映射了,最基本的是命令通道的映射,這裡選用預設的21,我想把在網關外網介面收到的對218.4.218.4連接埠21的 串連請求,轉寄到192.168.0.100的21連接埠去。

  Win2K網關

  系統內建簡單的連接埠轉寄程式,就是能給我們提供串連共用的ICS/RRAS,這兩種方式原理是一樣的,而且都能提供這類業務的連接埠轉寄設定過程 比較簡單,我也不抓圖了,以前有過很多。

  就是在"服務與連接埠"中,註冊一條類似"公用網路與連接埠218.4.218.4:21 To 專用網路與連接埠192.168.0.100:21"這樣格式的規則設定好後,別人就能訪問你的內網FTP伺服器了,但你很快會發現你的FTP伺服器只支援 PORT方式,如果用戶端也在內網環境則PORT方式也用不了了這是為什麼呢?我們來分析一下,因為在PASV方式,伺服器接到用戶端的PASV命令後, 會指定一個本地的隨機連接埠來作為PASV連接埠,並通知用戶端,然後等待用戶端的串連,在通知訊息裡包含有FTP伺服器的IP地址和開啟的PASV連接埠,我 FTP伺服器的IP地址是什嗎?

  現在是192.168.0.100,那麼對方收到的PASV通知將是這樣格式的227 Entering Passive Mode (192,168,0,100,m,n)mn是定義了PASV連接埠的值,計算方式是m*256+m,如果這裡m是10而n是20,那麼PASV連接埠就是 2580用戶端收到這條通知後,當它想發起資料通道的串連,它會向192.168.0.100:2580這個目標地址發送SYN請求,毫無疑問將不會收到應答,因為這個IP在公用網路事實上是不存在的解決的辦法是讓FTP伺服器發送帶公網IP的PASV通知,我們的Serv-U支援這個功能。

  然後在網關上把需要開啟的PASV連接埠跟21連接埠一樣做映射到192.168.0.100

  你也許會疑惑了,PASV是伺服器動態開啟的隨機連接埠,我怎麼會知道它會用哪個?怎麼映射啊?沒有問題,Serv-U同樣可以定義每次使用固定 的PASV連接埠,當然為了同時承接多個串連會話,你需要多設定幾個成一段,然後在網關上一一對應映射到FTP伺服器上去,圖中設定了20個。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.