rendered paste body#firewall leito
#!/bin/bash
INET_IFACE="ppp0"
LAN_IFACE="eth1"
LO_IFACE="lo"
LO_IP="127.0.0.1"
LAN_IP_RANGE="192.168.0.0/24"
IPTABLES="/sbin/iptables"
modules2load="ip_tables iptable_filter ip_conntrack iptable_nat ip_nat_ftp ip_nat_irc ipt_MASQUERADE ipt_state"
echo 0 > /proc/sys/net/ipv4/ip_forward
if [ -a / ]; then
for i in $modules2load; do
echo -en " => $i, "
if [ -z "`/sbin/lsmod | grep $i | awk '{print $1}'`" ];then
/sbin/modprobe $i
else
echo "El modulo $i ya estaba cargado"
fi
done
fi
echo "1">/proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
for file in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo "0" > $file
done
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Conectando...."
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
echo -n "Politicas...."
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
echo -n "Nueva Regala...."
$IPTABLES -N FLOOD
$IPTABLES -A FLOOD -m limit --limit 2/s --limit-burst 5 -j RETURN
$IPTABLES -A FLOOD -j DROP
echo -n "PREROUTING....."
$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -o $INET_IFACE -j MASQUERADE
echo -n "FORWARD...."
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -s $LAN_IP_RANGE -i eth1 -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -o $LAN_IFACE -p ALL -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -j ACCEPT
echo -n "OUTPUT....."
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
echo -n "INPUT......"
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 80 -j FLOOD
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 80 -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 21 -j FLOOD
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 21 -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 3400 -j FLOOD
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 3400 -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 20000:20005 -j FLOOD
$IPTABLES -A INPUT -i $INET_IFACE -p TCP -m state --state NEW --dport 20000:20005 -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -i $INET_IFACE -p udp -j REJECT --reject-with icmp-port-unreachable
echo "Sensation ONLINE"