ftp常見(jiàn)報(bào)錯(cuò)之Use PORT or PASV first解決思路和方法
瀏覽量(90773) 時(shí)間:2020-09-09
先介紹一下基礎(chǔ)環(huán)境:ftp服務(wù)部署在公網(wǎng)環(huán)境,而客戶端在內(nèi)網(wǎng)電腦,需求是用內(nèi)網(wǎng)電腦去下載ftp上的文件,在下載過(guò)程中提示了425 Use PORT or PASV first報(bào)錯(cuò),下面介紹下解決的思路和方法。
思路
先到CMD或者linux終端用命令行模式ftp命令測(cè)試一下,如果能登錄,不能使用ls或者dir命令。說(shuō)明你的客戶端環(huán)境無(wú)法使用PORT模式,而CMD里的ftp客戶端默認(rèn)支持PORT模式。主要問(wèn)題在端口被防火墻控住。
PASV
1、調(diào)整模式為PASV
在ftp下使用命令:
--修改為被動(dòng)模式連接
quote PASV
一般DOS命令行下都是默認(rèn)以PORT主動(dòng)模式連接。即,端口21監(jiān)聽(tīng),處理控制信息,再以端口20連接客戶端進(jìn)行數(shù)據(jù)傳送。而經(jīng)常通過(guò)外網(wǎng)的NAT的,基本端口20的數(shù)據(jù)連接都會(huì)被禁止掉。所以,如果想對(duì)外網(wǎng)開(kāi)放ftp,最好使用PASV模式。
PASV被動(dòng)模式是指,以端口21監(jiān)聽(tīng),有連接請(qǐng)求時(shí),隨機(jī)開(kāi)放一個(gè)比較大的端口號(hào)來(lái)處理數(shù)據(jù)傳輸。
2、修改配置
vsftp中,通過(guò)編輯 /etc/vsftp.conf 實(shí)現(xiàn)啟用PASV連接。
sudo vi /etc/vsftp.conf
在配置文件中添加下面語(yǔ)句:
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000
也即,啟動(dòng)PASV連接模式,開(kāi)放6000-7000端口號(hào)作為數(shù)據(jù)傳送端口。此外,如果是對(duì)外網(wǎng)開(kāi)放,必須在路由器的轉(zhuǎn)發(fā)規(guī)則中,開(kāi)放21端口。
為了保險(xiǎn),可以將6000-7000端口也寫入到iptables中白名單中。這樣設(shè)定后,一般就可以搞定了。
如果還不行,可以通過(guò)一下思路:
1、防火墻(本機(jī)、客戶機(jī))
2、FTP目錄的權(quán)限
3、客戶機(jī)是否是IPv6網(wǎng)絡(luò)
4、客戶機(jī)的網(wǎng)關(guān)限制了外網(wǎng)ftp