FTP "425 Tidak dapat membuka koneksi data" hanya terjadi ketika menggunakan command prompt

8

Semua komputer saya berada di belakang satu router. Saya memiliki server FileZilla yang berjalan di salah satunya. Saya mencoba mengotomatiskan unggahan ke server menggunakan skrip batch dan ftp.exe bawaan Windows. Saya telah mengatur layanan DNS dinamis untuk dapat mengakses server saya dari luar router dan saya telah mengatur port forwarding di router ke server saya. Saya dapat terhubung dan mentransfer dengan baik menggunakan Google Chrome, Windows Explorer, dan klien FileZilla. Namun, setiap kali saya mencoba menggunakan ftp.exe (baik secara manual atau dalam skrip batch) saya dapat terhubung ke server tetapi jika saya mencoba melakukan sesuatu yang akan membuka koneksi data (LIST, STOR, atau RETR) saya mendapatkan kesalahan berikut: 425 Tidak dapat membuka koneksi data. Saya telah mengizinkan ftp.exe di kedua firewall komputer. Ada ide apa yang sedang terjadi atau bagaimana saya bisa memperbaikinya? Saya tidak perlu menggunakan ftp.

EDIT Saya tahu bahwa ISP saya memblokir banyak port termasuk 21 dan beberapa lainnya dalam kisaran itu. Ini semua diatur pada port 2121, dengan port pasif diatur menjadi 2122-2142, semua ini telah diteruskan di router. Mungkin ftp.exe hanya akan menggunakan port tertentu untuk koneksi data, yang diblokir ISP saya? Jika demikian, bagaimana saya akan mengubahnya?

Garrett
sumber

Jawaban:

5

FTP aktif reguler menggunakan koneksi data yang diprakarsai server terpisah untuk transfer dan hanya menggunakan koneksi port 21 biasa sebagai saluran kontrol. Namun, ketika klien berada di belakang firewall, firewall kemungkinan akan memblokir koneksi ini. Saya menduga Chrome, Explorer, FireZilla, dll. Cukup pintar untuk mencoba mode pasif, di mana koneksi yang diprakarsai klien digunakan sebagai kontrol dan saluran data.

Tampaknya klien FTP CLI default Windows tidak mendukung mode pasif. Jadi, Anda harus beralih ke NcFTP . Atau, dan saya pikir mungkin pilihan yang lebih baik, hanya menggunakan SFTP saja. FTP tidak aman dan benar-benar hanya untuk digunakan pada LAN. SFTP sepenuhnya dienkripsi dan juga hanya menggunakan satu saluran untuk data dan perintah. Jika Anda membutuhkan klien CLI SFTP, PSFTP adalah pilihan yang baik.

Lèse majesté
sumber
Saya sudah mencobanya tanpa hasil
Garrett
@ Garrett: Hrmm ... sepertinya artikel blog yang saya taut salah, dan klien FTP CLI default tidak mendukung mode pasif. Dalam hal ini, Anda harus berpindah klien FTP. NcFTP adalah salah satu opsi, dan pasti mendukung mode pasif.
Lèse majesté
Saya menyaksikan permintaan / tanggapan saat mentransfer melalui Windows Explorer, menggunakan kutipan untuk secara manual mengirim perintah yang sama persis, namun masih mendapat kesalahan yang sama
Garrett
@ Garrett: Saya pikir Windows Explorer berfungsi? Jika klien tidak mendukung mode pasif, maka memberitahu server untuk beralih ke itu tidak masalah.
Lèse majesté
Apakah itu mendukung baris perintah, dan apakah itu exe independen?
Garrett
0

Windows FTP CLI mendukung mode PASSIVE. Gunakan "kutipan pasv" untuk masuk ke mode pasif.

George Rios
sumber
2
Saya pikir itu tidak berhasil . Bisakah Anda mengonfirmasi bahwa quote pasvsebenarnya melakukan sesuatu di ftp.exe dan bukan hanya perintah dummy?
Lèse majesté
0

Saya punya masalah ini juga. Solusinya adalah menghentikan firewall antivirus (dalam kasus saya McAfee), itu memblokir port FTP.

Sfalcini
sumber
Itu bukan solusi.
ivan_pozdeev