Я хочу открыть порт FTP в моем iptables.
Вот моя конфигурация для 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 работает, я могу просто установить соединение с FTP-сервером, но не могу перечислить структуру.
Любая помощь приветствуется.
Ваш FTP-клиент, вероятно, находится в активном режиме, что означает, что сервер пытается установить соединение с клиентом при передаче данных (файлов и списков файлов). Вы хотите настроить свой клиент на использование пассивного режима, в котором клиент подключается к серверу для передачи данных. В --state RELATED
править в INPUT
цепочка должна принимать эти подключения к данным.