cPanel FTP 的 Iptable 配置 - Centos 6.2

cPanel FTP 的 Iptable 配置 - Centos 6.2

我想在我的 iptables 中打开 FTP 端口。

以下是我的 iptables 配置:

#!/bin/sh

IPT="/sbin/iptables"

# Flush old rules, old custom tables
$IPT --flush
$IPT --delete-chain

# Set default policies for all three default chains
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP

# Enable free use of loopback interfaces
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

# All TCP sessions should begin with SYN
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -s 0.0.0.0/0 -j DROP

# Accept inbound TCP packets
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p tcp --dport 3306 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT

#cpanel ports
$IPT -A INPUT -p tcp --dport 20 -m state --state RELATED,ESTABLISHED -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p udp --dport 20 -m state --state RELATED,ESTABLISHED -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p udp --dport 21 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p tcp --dport 53 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p udp --dport 53 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p tcp --dport 443 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p tcp --dport 2083 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT
$IPT -A INPUT -p tcp --dport 2087 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT

# Accept outbound packets
$IPT -I OUTPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
$IPT -A OUTPUT -p udp --dport 21 -m state --state NEW -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p udp --dport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT

#open all output
$IPT -P OUTPUT ACCEPT
# Save settings
#
/sbin/service iptables save
#
# List rules
#
iptables -L -v

但是当 iptables 处于 UP 状态时,我仍然只能建立与 FTP 服务器的连接,但无法列出结构。

非常感谢您的帮助。

答案1

您的 FTP 客户端可能处于主动模式,这意味着服务器在传输数据(文件和文件列表)时会尝试与客户端建立连接。您需要将客户端设置为使用被动模式,即客户端连接到服务器进行数据传输。链--state RELATED中的规则INPUT应该接受这些数据连接。

相关内容