Güvenlik duvarı etkinleştirilmiş Linux istemci PC'den FTP erişimini düzeltin
Bugün, Linux'ta FTP erişimi ile ilgili kişisel deneyimimi paylaşmak istiyorum. Microsoft'un günlük kullanıma uygun bulmadığım yeni işletim sistemleri sayesinde birkaç yıl önce Linux'a geçiş yaptım. Ev ağımda bir FTP sunucusu çalıştırıyorum ve çalışan bilgisayarımdan ona erişemedim Gelen bağlantıları engellemek için güvenlik duvarı kurallarına sahip Linux, yani INPUT politikası REJECT olarak ayarlanmıştır. iptables. Sorunu şu şekilde düzelttim.
ÇIKIŞ politikasının hem istemci hem de sunucu makinelerinde KABUL OLDUĞUNU varsayıyorum.
1. Çözüm. nf_conntrack_ftp çekirdek modülünü kullanın
Çekirdek modülü nf_conntrack_ftp, her bağlantı kurduğunuzda otomatik olarak FTP sunucusu için gerekli bağlantı noktasına erişimi engellemenizi sağlar. Bu modül için tek gereksinim, istemci PC'deki iptables kurallarınızdaki (genellikle /etc/iptables/iptables.rules şeklindedir) aşağıdaki satırdır:
$IPT -A GİRDİ -i eth0 -m durum --durum İLGİLİ, KURULDU -j KABUL
Ağ cihazı adınız eth0 var.
Ardından, yüklü değilse nf_conntrack_ftp dosyasını yüklemeniz gerekir. İstemci bilgisayarda aşağıdaki komutu root olarak çalıştırın
# modprobe nf_conntrack_ftp
Sunucunuz varsayılan olmayan bir bağlantı noktası kullanıyorsa (bağlantı noktası 21 dışında), aşağıdaki komutu kullanın:
# modprobe nf_conntrack_ftp bağlantı noktaları=your_port
Bu, FTP sunucusu ve istemci yazılımınız arasında gerekli tüm bağlantı noktalarıyla otomatik bir bağlantı sağlayacaktır. Bu, bilgisayarınızı yeniden başlatana kadar çalışır.
Bu değişikliği kalıcı hale getirmek için /etc/modules-load.d/conntrack_ftp.conf adlı yeni bir metin dosyası oluşturmanız ve bu dosyaya aşağıdaki satırı eklemeniz gerekir:
nf_conntrack_ftp
Varsayılan olmayan sunucu bağlantı noktası olması durumunda, aşağıdaki içerikle /etc/modprobe.d/conntrack_ftp.conf adlı ek bir dosya oluşturmanız gerekir:
seçenekler nf_conntrack_ftp bağlantı noktaları=
Bu yeterli olmalı.
2. Çözüm. Sabit bir pasif bağlantı noktası aralığı kullanın
nf_conntrack_ftp modülünü kullanamıyorsanız, FTP sunucu yazılımı için sabit bir port aralığı ayarlayabilir ve bunu istemci bilgisayarda açabilirsiniz. Örneğin, vsftpd uygulaması için bunun nasıl yapılabileceği aşağıda açıklanmıştır.
- Genellikle /etc/vsftpd.conf olan vsftpd yapılandırma dosyasına aşağıdaki satırları ekleyin:
pasv_min_port=5500. pasv_max_port=6500
Bu sunucu tarafında yapılmalıdır. Bundan sonra vsftpd'yi yeniden başlatmalısınız.
- İstemci PC'deki iptables kurallarınızda (genellikle /etc/iptables/iptables.rules şeklindedir), aşağıdaki kuralı ekleyin:
$IPT -A GİRDİ -p tcp -s
--dport 5500:6500 -j KABUL - iptables kurallarını aşağıdaki gibi uygulayın:
# iptables-restore < /etc/iptables/iptables.rules
Bu kadar.