Xử lý Passive FTP không hoạt động trên Linux

Hệ điều hành Linux với FTP server và sử dụng passive FTP, tuy nhiên nó không hoạt động. Vấn đề ở đây không phải là thiết lập ở FTP mà nằm ở Firewall.
Một kết nối đến FTP và truyền dữ liệu sử dụng 02 chế độ truyền tải là active (Trình khách - năng động) hoặc passive (Trình chủ - bị động), để biết rõ FTP server của bạn sử dụng kiểu kết nối nào, hãy vào phần thiết lập của FTP.
Đối với kiểu active thì firewall chỉ cần mở 02 port là 20 và 21 (còn lý do vì sao phải mở 02 port này thì bạn tham khảo thêm ở giao thức FTP).
Đối với kiểu passive thì firewall cần cần phải đảm bảo thêm là không chặn những phiên kết nối FTP, và chắc chắn rằng nó đang cho phép kết nối bằng passive FTP. Để giải quyết vấn đề này ta cần load thêm module ip_conntrack_ftp. Sử dụng dòng lệnh sau để load module này:
# modprobe ip_conntrack_ftp
Iptables passive ftp rules
Những rules dưới dây cho phép client có thể kết nối với FTP server bao gồm cả 02 kiểu kết nối Active và Passive
#!/bin/bash
# Sample iptables shell script to deal with FTP server issues including
# active and passive FTP connections issues.
IPT=/sbin/iptables
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
 
# Setting default filter policy
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
 
# Allow FTP connections @ port 21
$IPT -A INPUT  -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
 
# Allow Active FTP Connections
$IPT -A INPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
 
# Allow Passive FTP Connections
$IPT -A INPUT -p tcp --sport 1024: --dport 1024:  -m state --state ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 1024: --dport 1024:  -m state --state ESTABLISHED,RELATED -j ACCEPT
 
### Add the rest of rules below ###
 
### log and drop everything else
$IPT -A INPUT -j LOG
$IPT -A FORWARD -j LOG
$IPT -A INPUT -j DROP

Bài viết này có hữu ích?

35 Khách hàng đánh giá tốt (72 Đánh giá)
 In bài viết

Nên đọc

Cài đặt clamav (Chương trình anti virut miễn phí cho Linux)

Link download: http://www.clamav.net/download/sources Sau khi download về bạn phải giải nén ra:...

Một số lệnh block ip server linux qua csf

Ví dụ IP cần block là: 1.2.3.41. Ban IP trong SSH: sử dụng server hay VPS đã cài CSF, do đó để...

Một số lệnh block ip server linux qua csf

Ví dụ IP cần block là: 1.2.3.41. Ban IP trong SSH: sử dụng server hay VPS đã cài CSF, do đó để...

Tôi có truy cập từ xa nếu VPS bị mất kết nối mạng không?

Chắc chắn là được. Bạn có thể yêu cầu chúng tôi giúp bạn hoặc bạn thông qua các công cụ được cung...

Xóa Log và Mail Queue tại DirectAdmin

Bạn sử dụng tổ hợp lệnh sau: cd /var/spool/exim/inputrm -rf *cd /var/spool/exim/msglogrm -rf *cd...