FTP Pasif/Aktif Mod Farkı: Bağlantı Sorununu 10 Dakikada Çözün
FTP bağlantı sorununun pasif/aktif mod kaynaklı olduğunu hızlı test edin. Port, NAT, firewall ve pasif aralık ayarlarıyla kesin çözüm adımları.
FTP bağlantısı genellikle "bağlanıyor ama dosya yüklemiyor" ya da "listing (listeleme) başarısız" şeklinde kendini gösterir. Bunun kökü çoğu zaman tek bir ayarda yatar: pasif (passive) / aktif (active) mod farkı. Bu rehberde aktif ve pasif modun nasıl çalıştığını, neden NAT ve güvenlik duvarlarında (firewall) sorun ürettiğini ve 10 dakikada doğru modu doğrulayarak sorunu nasıl çözeceğinizi net adımlarla anlatıyorum. Ayrıca doğru pasif port aralığını ve kontrol paneli/FTP istemcisi tarafındaki kritik ayarları listeleyeceğim.
FTP neden bazen çalışır ama dosya transferi başarısız olur?
FTP iki farklı kanalla çalışır: - Kontrol kanalı (Control channel / komutlar): Bağlandığınız sunucuya komut gönderir. Genelde 21/tcp (FTP) kullanılır. - Veri kanalı (Data channel / dosya akışı): Gerçek dosya transferi burada olur. Bu kısım aktif ve pasif modda farklı şekilde açılır.
Sorunların büyük kısmı veri kanalında çıkar. Örneğin kontrol kanalı bağlanır, ancak veri kanalını açmak için gerekli portlar erişilebilir değildir. Bu durumda genellikle şu semptomlar görülür: - İstemci kullanıcı adı/şifre ister, login olur; sonra "Transfer failed" veya "Could not retrieve directory listing" gibi hata mesajları çıkar. - Bazı istemciler sadece bazı dizinlere girer, bazen de tamamen listeleme başarısız olur. - Aynı sunucuda farklı ağlardan denediğinizde sonuç değişir (ev interneti çalışır, ofiste çalışmaz gibi).
Bu davranış, aktif/pasif mod ayrımı ve NAT/firewall kurallarıyla doğrudan ilişkilidir.
Aktif mod vs pasif mod: veri kanalını kim açar?
Aşağıdaki mantık doğru teşhisin temelidir.
Aktif mod (Active FTP)
Aktif modda: 1. İstemci kontrol kanalını sunucuya bağlanır. 2. Sunucu, veri kanalı için istemcinin belirttiği portu kullanır. 3. Sonuç: Sunucunun istemcinin tarafındaki portlara erişebilmesi gerekir.
Bu, istemcinin arkasında NAT varsa problem yaratır. Çoğu ev/ofis yönlendirici (router) istemcinin tarafındaki rastgele portlara gelen bağlantılara izin vermez. Sonuç olarak veri kanalı açılmaz, listeleme ve yükleme başarısız olur.
Pasif mod (Passive FTP)
Pasif modda: 1. İstemci kontrol kanalını sunucuya bağlanır. 2. İstemci, sunucudan veri kanalı için sunucunun açacağı port aralığını öğrenir. 3. Veri kanalı bağlantısını genelde istemci başlatır. 4. Sonuç: NAT ve istemci tarafındaki kısıtlar daha az sorun çıkarır.
Bu yüzden pratikte pasif mod, NAT arkasındaki kullanıcılar için daha sorunsuzdur. Ancak sunucuda pasif port aralığı firewall tarafından kapalıysa bu kez pasif mod da başarısız olur.
Hızlı teşhis: Hangi mod çalışıyor, hangi mod hata veriyor?
Aşağıdaki testleri sırasıyla yapın. Amaç: "sorun ağ mı yoksa sunucu portları mı" sorusunu netleştirmek.
Test 1: Aynı istemcide modu değiştirin
- FTP istemcinizde Transfer mode ayarını aktif/pasife alın.
- Aynı kullanıcı ve aynı hedef dizinle deneme yapın.
Genel kural: - Ev/ofis NAT arkasında pasif çalışıp aktif çalışmıyorsa: aktif mod NAT kaynaklıdır. - Aktif çalışıp pasif çalışmıyorsa: sunucunun pasif port aralığı firewall/NAT ile engellenmiştir. - İkisi de çalışmıyorsa: 21/tcp değil de 990 (FTPS) benzeri protokol, kullanıcı yetkisi, IP erişimi ya da genel firewall kuralı gibi daha geniş bir problem vardır.
Test 2: Aynı modda farklı ağdan deneyin
Örnek: Mobil veri ile deneyip Wi‑Fi (ev/ofis ağı) ile kıyaslayın. - Mobil veriyle pasif çalışıp Wi‑Fi ile çalışmıyorsa: Yerel ağdaki port/ALG ayarları veya firewall kısıtı olasıdır. - Tüm ağlarda başarısızsa: sunucu tarafı pasif aralık/iptables/ufw kuralı olasıdır.
Test 3: Loglardan veri kanalı hatasını bulun
Sunucu tarafında FTP servis loglarında (vsftpd/proftpd vs.) şunlar görülebilir: - Pasif portu için denenen port erişilemedi - İstemcinin veri kanalını açmasına izin verilmedi - Kontrol kanalında komutlar iletimde başarılı ama data connect refusal
Bu noktada hedef, veri kanalının hangi portla denendiğini netleştirmektir.
Sunucu tarafında kritik ayar: Pasif port aralığını sabitleyin
Pasif modda sunucu, veri kanalını açmak için rastgele port kullanabilir. Güvenlik duvarı ve NAT bu rastgele portları engeller. Çözüm: pasif port aralığını sabit aralık yapın ve firewall/NAT kurallarını bu aralığa göre açın.
Ne yapmalısınız? (vsftpd/proftpd mantığı)
Sunucunuzun FTP servisine göre ayar değişir ama prensip aynıdır: - Pasif port aralığı belirleyin: ör. 50000-50100 gibi. - Firewall (iptables/ufw veya panelin güvenlik duvarı) bu aralığı açsın. - Gerekirse NAT arkasındaki sunucularda dış IP doğru bildirilmiş olsun.
Net hedef: İstemci pasif modda sunucudan aldığı port aralığına veri kanalını kurabilsin.
Uygulamada kontrol listesi
Aşağıdaki kontrol listesi, sorunu en kısa yoldan bulur: - 21/tcp açık mı? - Pasif aralık (ör. 50000-50100/tcp) açık mı? - Sunucu dışarıdan erişilirken doğru public IP mi kullanıyor? (NAT iç IP değil) - VPS/VDS güvenlik grubu (security group) pasif port aralığını engellemiyor mu? - Sunucuda FTP ALGs kapalı/uyumsuz bir durumda değil mi? (Bazı ağlarda FTP ALG yanlış çalışır.)
NAT ve güvenlik duvarı: neden özellikle pasif/aktif farkı bu kadar belirleyici?
NAT arkasında aktif modda sunucu, istemcinin iç ağdaki portuna ulaşmaya çalışır. İstemci tarafında gelen bağlantılar çoğu zaman engellidir ve NAT mapping (oturum eşleşmesi) sunucunun ihtiyacı olan şekilde kurulmaz.
Pasif modda ise veri kanalını istemci başlattığı için NAT genellikle daha iyi çalışır. Ancak bu kez sunucu tarafında pasif port aralığı firewall ile kapalıysa, veri kanalı hiç açılamaz.
Bu yüzden doğru teşhis, "aktif çalışmıyor" veya "pasif çalışmıyor" sonucunu yorumlamaktan ibarettir: - Aktif başarısız, pasif başarılı: NAT tarafı aktif moda uygun değil. - Pasif başarısız, aktif başarılı: Sunucunun pasif portları engellenmiş ya da yanlış aralık bildiriliyor.
Kontrol paneliyle (Plesk/cPanel/Panel benzeri) FTP ayarlarını kontrol etme
Paylaşımlı hosting veya yönetilen sunucularda FTP ayarları kontrol paneli üzerinden yönetilebilir. Burada önemli olan iki şey vardır: 1. FTP modunun istemcide doğru seçilmesi (çoğunlukla pasif seçili olmalı). 2. Sunucu tarafı pasif port aralığı ve firewall kurallarının uyumlu olması.
Hangi ayarlar aranmalı?
- FTP connection ayarı: aktif/pasif seçenekleri
- Passive ports / Port range alanı (varsa)
- Güvenlik duvarında FTP için ek kurallar
- Kullanıcıların chroot/jail (kök klasör hapsetme) ayarları: yanlış chroot dizinleri listelemeyi bozabilir, fakat bu pasif/aktiften bağımsız bir hata türüdür.
Sık görülen yanlışlar
- Pasif mod açık ama firewall rastgele portları kapalı bırakıyor.
- Pasif port aralığı sunucuda sabitlenmemiş; dışarıdaki kurallar rastgele portlara yetmiyor.
- Sunucu NAT arkasında ve panel/FTP servisi dış IP’yi iç IP olarak yayıyor.
İstemci tarafında doğru ayarlar (FileZilla örneği mantığıyla)
FTP istemcisinde şu kontrolleri yapın: - Bağlantı modu: Passive tercih edin. - TLS varsa: FTP yerine FTPS kullanın. Bu rehber FTP için pasif/aktif odağına sahip olsa da, FTPS kullanımı kontrol kanalını şifreler; bazı ağlardaki ALG davranışları değişebilir. - Kullanılan port: 21 (FTP) yerine panelde belirtilen farklı bir port var mı kontrol edin.
İpucu: İstemci hata mesajında "data connection" veya "connection refused" gibi ifadeler geçiyorsa arızanın yeri çoğunlukla veri kanalıdır; bu da pasif/aktif ve port aralığına döner.
Sorunu kesinleştiren senaryolar ve net çözümler
Aşağıdaki eşleştirme, tanıyı hızlandırır.
| Senaryo | Belirti | En olası neden | Kesin çözüm |
|---|---|---|---|
| Aktif çalışmıyor | login oluyor ama listing/upload olmaz | NAT aktif modun veri kanalını engelliyor | İstemcide pasif modu kullan; aktif moddan vazgeç |
| Pasif çalışmıyor | listing/upload başarısız, aktif çalışsa bile pasif olmaz | Pasif port aralığı firewall/NAT ile kapalı veya yanlış bildirilmiş | Pasif port aralığını sabitle, güvenlik duvarını aç, doğru public IP bildir |
| İkisi de çalışmıyor | kontrol kanalı da kurulamaz ya da hemen düşer | 21/tcp kapalı, kullanıcı yetkisi hatalı, IP bloklama var | Sunucu güvenlik grubu + kullanıcı yetkileri + FTP servisi durumunu kontrol et |
| Bazı ağlarda çalışıyor | ofiste yok, evde var (veya tersi) | Yerel firewall/port filtresi ya da FTP ALG uyumsuz | Sorunu ağdan izole et; mobil veriyle test et; ALG kaynaklıysa devre dışı bırak |
Ne zaman FTP yerine FTPS/çözüme geçilmeli?
Sürekli pasif/aktif port uğraşı istemiyorsanız FTPS (explicit/implicit) kullanmak tek başına tüm sorunları bitirmez; ancak kontrol kanalının davranışı ve bazı ağ uyumsuzlukları değişebilir. Yine de asıl mesele şudur: - Sunucuda pasif port aralığı doğru yönetilmiyorsa FTP (her türü) veri kanalı nedeniyle takılır. - Bu yüzden FTPS’e geçseniz bile sunucu güvenlik duvarı tarafındaki port planlaması gereklidir.
Eğer kurulum kontrolünüz varsa, en doğru uzun vadeli yaklaşım: - FTP veri kanalı için sabit port aralığı + güvenlik duvarında bu aralığı net açma, - mümkünse FTPS veya uygulama seviyesinde daha kontrollü dosya aktarma yöntemleri (gereksinime göre SFTP gibi) tercih etme, - istemcilerde pasif modu standardize etme olur.
Aksiyon önerisi (hemen uygulayın)
- FTP istemcisinde pasif modu açın ve aynı hedefle tekrar deneyin.
- Aktif/pasif farkını test ederek hangi modda başarısız olduğunu gözleyin.
- Pasif başarısızsa sunucuda pasif port aralığını sabitleyin ve firewall/NAT kurallarını bu aralığa göre düzenleyin.
- Loglardan veri kanalı bağlantı hatasını bulun: hata "data connection" seviyesindeyse sorun neredeyse her zaman port aralığı ve firewall uyumsuzluğudur.
Bu adımları tamamladığınızda FTP bağlantı sorununuzu pasif/aktif kaynaklı şekilde ayrıştırır ve sunucu tarafında tek seferde kalıcı çözüm planlarsınız. Eğer sunucunuz VDS/VPS ise güvenlik grubu kurallarını da aynı aralıkla eşleştirin; aksi halde pasif portlar doğru yapılandırılmış olsa bile dışarıdan engel devam eder.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
KVM mi OpenVZ mi? VDS Sanallaştırma Teknolojileri Karşılaştırması
KVM ve OpenVZ’nin VDS performans, izolasyon, güvenlik, kaynak paylaşımı ve ölçekleme farklarını net karşılaştır. Hangi iş yüküne hangisi?
Hetzner vs OVH vs DigitalOcean: Fiyat/Performans Karşılaştırması
Hetzner, OVH ve DigitalOcean’ı fiyat/performans açısından karşılaştırın: CPU/RAM, disk, ağ, ölçekleme ve gerçek maliyet kalemlerini net görün.
AMD EPYC vs Intel Xeon: VDS’te hangisi daha hızlı?
AMD EPYC ve Intel Xeon VDS karşılaştırmasında; CPU performansı, bellek bant genişliği, gecikme, fiyat/çekirdek ve doğru seçim kriterlerini netleştir.
VDS ile VPS farkı nedir? Hangisi size uygundur?
VDS ve VPS arasındaki farkları pratik kriterlerle açıklıyoruz: donanım kaynakları, performans, kontrol seviyesi, maliyet ve doğru seçim rehberi.