Как закрывать за собой порт? Открываю следующим образом:
# open ssh
$IPTABLES -N INTO-PHASE2
$IPTABLES -A INTO-PHASE2 -m recent --name PHASE1 --remove
$IPTABLES -A INTO-PHASE2 -m recent --name PHASE2 --set
$IPTABLES -A INTO-PHASE2 -j LOG --log-prefix "INTO PHASE2: "
$IPTABLES -N INTO-PHASE3
$IPTABLES -A INTO-PHASE3 -m recent --name PHASE2 --remove
$IPTABLES -A INTO-PHASE3 -m recent --name PHASE3 --set
$IPTABLES -A INTO-PHASE3 -j LOG --log-prefix "INTO PHASE3: "
$IPTABLES -N INTO-PHASE4
$IPTABLES -A INTO-PHASE4 -m recent --name PHASE3 --remove
$IPTABLES -A INTO-PHASE4 -m recent --name PHASE4 --set
$IPTABLES -A INTO-PHASE4 -j LOG --log-prefix "INTO PHASE4: "
$IPTABLES -A INPUT -m recent --update --name PHASE1
# ports: 1, 2, 3, 4
$IPTABLES -A INPUT -p tcp --dport 1 -m recent --set --name PHASE1
$IPTABLES -A INPUT -p tcp --dport 2 -m recent --rcheck --name PHASE1 -j INTO-PHASE2
$IPTABLES -A INPUT -p tcp --dport 3 -m recent --rcheck --name PHASE2 -j INTO-PHASE3
$IPTABLES -A INPUT -p tcp --dport 4 -m recent --rcheck --name PHASE3 -j INTO-PHASE4
# open...
$IPTABLES -A INPUT -p tcp --dport 5 -m recent --rcheck --seconds 10 --name PHASE4 -j ACCEPT
# sftp
$IPTABLES -A INPUT -p tcp --dport 5 -m state --state NEW -m recent --rcheck --name PHASE4 -j ACCEPT