linux下命令列連線FTP是遇到的錯誤(425 Failed to establish connection)
阿新 • • 發佈:2019-01-14
linux下命令列連線FTP是遇到的錯誤(425 Failed to establish connection)
首先FTP的執行模式有主動模式和被動模式兩種
然後筆者在工作中搭建了ftp,但是沒有開啟他的被動模式。
然後server端的防火牆開放了21埠。
因此客戶端能連上server,但是輸入命令會提示。(首先要資料passive off命令關閉客戶端以被動模式連線server端)
原因是ftp在主動模式下是通過21埠進行登陸的,但是後續是通過20埠與客戶端進行資料交換。
因此筆者在這個基礎上,在server開放了20埠。
但是問題依舊
接著筆者在客戶端也把20和21埠都打開了
但是問題還是沒有解決
這個時候無論是server端還是client端的20和21埠都是開放的。但是資料的傳輸都還是有阻礙。
查閱了很多網上的解決方案,都是說讓FTP開發被動模式,然後防火牆開放對應的埠段。
但是老子就是要用主動模式。也不是說不能弄個被動模式,但是那樣子解決問題就好像是在逃避問題一樣!
然後筆者想起防火牆中除了根據埠開發流量,還可以根據服務開放流量。
因此在server端的防火牆中開放ftp服務
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
結果還是不行
於是我又在客戶端的防火牆中開放ftp服務
終於可以了!!!
因此,可能是需要客戶端和伺服器同時在防火牆中開放ftp服務。那麼才能在命令列下進行資料傳輸吧(windows的cmd下面和一些FTP客戶端選擇主動模式連線,皆不會出現上述情況!),也不知道為什麼是在linux的命令列下才會這樣。
本文原創!
轉載請註明出處!