Sziasztok!
RTFM az elmúlt egy napban megvolt, megoldásra azonban nem jutottam.
A probléma:
Adott egy active ftp szerver, amire tűzfal mögül kell felcsatlakoznom. A felcsatlakozás rendben lezajlik, feltöltés rendesen megy, azonban amint le akarok tölteni valamit, a kapcsolat megáll. A csomagok log szerint a külső ip-re vannak címezve. ip_conntrack_ftp modul betöltve, az adott szerver felé minden (INPUT, OUTPUT, FORWARD) lánc engedélyezve.
Megbuktam, :( szabad a gazda, mi a megoldás? Hogyan kell engedélyezni az active ftp-t?
2. második felvonás:
A proxy/tűzfal gépben megfeküdt a hdd, így egy másik gép lett beállítva. A hálókártya úgy tűnik szintén haldoklott, mert ugyanaz a script fut a másik gépen is, és megy az active ftp. Illetve megyeget, mert meghatározatlan időközönként egyszerűen leáll. Nagy fájlokkal látszólag rendben van, de <1Kb alatt random leállások vannak. A szabályok:
#! /bin/sh
### BEGIN INIT INFO
# Provides: firewall
# Required-Start:
# Required-Stop:
# Default-Start: 3
# Default-Stop: 0 1 2 6
# Description: Firewall
### END INIT INFO
LAN_IP_NIC='eth0'
WAN_IP_NIC='ppp+'
WAN_IP='x.x.x.x'
case "$1" in
start)
################
# Flush chains #
################
iptables -F
iptables --delete-chain
##########################
# Load conntrack module #
##########################
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
##################
# Default policy #
##################
# Flush
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -F OUTPUT
iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
######################
# Localhost enabled #
######################
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
###################
# OpenVPN enabled #
###################
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
##############
# Masquerade #
##############
iptables -t nat -A POSTROUTING -o $WAN_IP_NIC -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to -port 3128
###############
# Invalid SYN #
###############
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
# syn-flood vedelem
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Titkos port scan
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --li mit 1/s -j ACCEPT
# DoS elleni vedelem
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/ s -j ACCEPT
###############
# INPUT CHAIN #
###############
iptables -A INPUT -p icmp -j ACCEPT
# ESTABLISHED
iptables -A INPUT -p all -i $LAN_IP_NIC -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $WAN_IP_NIC -p tcp -m multiport --dport 20,21,22,25 ,53,80,110,123,143,443,465,993,995,10000 -m state --state NEW,ESTABLISHED,RELATE D -j ACCEPT
iptables -A INPUT -i $WAN_IP_NIC -p udp --dport 1194 -j ACCEPT
################
# OUTPUT CHAIN #
################
iptables -A OUTPUT -j ACCEPT -p all
###################
# Port forwarding #
###################
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p all -i $LAN_IP_NIC -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
########################
# Enable IP Forwarding #
########################
echo 1 > /proc/sys/net/ipv4/ip_forward
;;
stop)
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
;;
restart)
/etc/init.d/firewall stop
/etc/init.d/firewall start
;;
esac
3. harmadik felvonás: A megoldás!
Csak egy sor:
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
És működik... :D