時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
首先要提到的是這里的內(nèi)網(wǎng)是指一般我們網(wǎng)吧內(nèi)部環(huán)境的內(nèi)網(wǎng),對局域網(wǎng)內(nèi)網(wǎng)我沒什么好說的,愿花錢的去DNS0755好了。一個基本條件:一個公網(wǎng)IP,對網(wǎng)關有操作權限。
FTP服務器端192.168.0.100,我選用Win2K+Serv-U 4.1.0.0,很普通常用的一個組合網(wǎng)關是最簡單的雙網(wǎng)卡PC,一接外網(wǎng)一接內(nèi)網(wǎng),這里假設外網(wǎng)IP為218.4.218.4,內(nèi)網(wǎng)IP為192.168.0.1。
提一些概念性的東東:
一次完整的FTP會話,包含有兩個連接,一個稱之為命令通道,一個稱之為數(shù)據(jù)通道。命令通道用來傳遞一些"命令"和反饋,包括用戶名密碼登陸,而且眾所周知是明文數(shù)據(jù)通道用來傳遞實際數(shù)據(jù)----列目錄、文件傳輸,一旦需要列目錄或文件傳輸,數(shù)據(jù)通道就會被建立起來,這里分兩種方式,一是PORT二是PASV。
你會在因特網(wǎng)上找到許多FTP服務器,有的要么只支持PORT,有的要么只支持PASV,有的是因為考慮安全因素,有的是因為條件限制等等。我想把我的FTP做成PORT和PASV方式都能支持的,這樣不會使客戶端在連接上受到困擾,特別是一些新手,對于PORT和PASV的定義,比較容易理解的解釋是針對FTP服務端而言的:
PORT是主動模式,在建立數(shù)據(jù)通道時,服務端去連接別人;
PASV是被動模式,在建立數(shù)據(jù)通道時,服務端被別人連接;
建立數(shù)據(jù)通道時,用PORT模式還是PASV模式,選擇權在于FTP客戶端。
現(xiàn)在要做的,就是端口映射了,最基本的是命令通道的映射,這里選用默認的21,我想把在網(wǎng)關外網(wǎng)接口收到的對218.4.218.4端口21的連接請求,轉發(fā)到192.168.0.100的21端口去。
Win2K網(wǎng)關
系統(tǒng)自帶簡單的端口轉發(fā)程序,就是能給我們提供連接共享的ICS/RRAS,這兩種方式原理是一樣的,而且都能提供這類業(yè)務的端口轉發(fā)設置過程比較簡單,我也不抓圖了,以前有過很多。
就是在"服務與端口"中,注冊一條類似"公用網(wǎng)絡與端口218.4.218.4:21 To 專用網(wǎng)絡與端口192.168.0.100:21"這樣格式的規(guī)則設置好后,別人就能訪問你的內(nèi)網(wǎng)FTP服務器了,但你很快會發(fā)現(xiàn)你的FTP服務器只支持PORT方式,如果客戶端也在內(nèi)網(wǎng)環(huán)境則PORT方式也用不了了這是為什么呢?我們來分析一下,因為在PASV方式,服務器接到客戶端的PASV命令后,會指定一個本地的隨機端口來作為PASV端口,并通知客戶端,然后等待客戶端的連接,在通知消息里包含有FTP服務器的IP地址和打開的PASV端口,我FTP服務器的IP地址是什么?
現(xiàn)在是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客戶端收到這條通知后,當它想發(fā)起數(shù)據(jù)通道的連接,它會向192.168.0.100:2580這個目標地址發(fā)送SYN請求,毫無疑問將不會收到應答,因為這個IP在公共網(wǎng)絡事實上是不存在的解決的辦法是讓FTP服務器發(fā)送帶公網(wǎng)IP的PASV通知,我們的Serv-U支持這個功能。
然后在網(wǎng)關上把需要打開的PASV端口跟21端口一樣做映射到192.168.0.100
你也許會疑惑了,PASV是服務器動態(tài)打開的隨機端口,我怎么會知道它會用哪個?怎么映射啊?沒有問題,Serv-U同樣可以定義每次使用固定的PASV端口,當然為了同時承接多個連接會話,你需要多設置幾個成一段,然后在網(wǎng)關上一一對應映射到FTP服務器上去,圖中設置了20個。
關鍵詞標簽:完全,解析,服務器,PAS
相關閱讀
熱門文章 Linux下FTP的配置與應用 什么是ftp及ftp服務器 FTP出錯解決和分析 Windows內(nèi)置FTP服務器高級配置
人氣排行 vsftp配置大全---超完整版 IIS6.0打造FTP服務器完全圖文詳解 使用Win 2003搭建安全文件服務器 圖解Windows xp—FTP服務器配置 linux服務samba的詳細配置 在Windows 2003下搭建FTP服務器 FTP登陸錯誤詳解 Windows內(nèi)置FTP服務器高級配置