很多服務器上都搭建的有FTP服務,FTP服務有兩種連接模式:主動模式和被動模式。關于這兩種模式的介紹,請參考這篇文章:重溫FTP的主動模式和被動模式
關于這兩種模式的比較,原文有這樣的描述:
主動模式和被動模式的不同簡單概述為: 主動模式傳送數據時是“服務器”連接到“客戶端”的端口;被動模式傳送數據是“客戶端”連接到“服務器”的端口。
主動模式需要客戶端必須開放端口給服務器,很多客戶端都是在防火墻內,開放端口給FTP服務器訪問比較困難。
被動模式只需要服務器端開放端口給客戶端連接就行了。
在網上很多文章都提到,要用被動模式連接,服務器要開放隨機端口,但很多時候,為了安全,服務器并不允許開放隨機端口,那我們能否只開放有限的端口呢?
再來看看被動模式的原理圖:
我們可以看到,服務器開放哪個端口是在第4和第5步產生的,所以這里只要使服務器開放固定(或有限)的端口就可以了。
我是用vsftpd搭建的服務器,在vsftpd的配置中開放被動連接的配置是這樣的:
打開xxx/vsftpd/vsftpd.conf,在末尾添加:
pasv_enable=YES //開啟PASV模式pasv_min_port=40000 //最小端口號pasv_max_port=40000 //最大端口號pasv_PRomiscuous=YES
這里只要把最小端口號和最大端口號配置成一樣的,就成了開放固定端口了(還要開放iptables)。
|
新聞熱點
疑難解答