$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A allowed -p tcp --syn -j ACCEPT
$IPT -A allowed -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A allowed -p tcp -j DROP
$IPT -A udp_packets -p udp -i $INET_IFACE -d $INET_BROADCAST --destination-port 135:139 -j DROP
$IPT -A udp_packets -p udp -i $INET_IFACE -d 255.255.255.255 --destination-port 67:68 -j DROP
$IPT -A icmp_packets -i $INET_IFACE -p icmp -j DROP
$IPT -A icmp_packets -p icmp -s 0/0 --icmp-type 8 -j ACCEPT
$IPT -A icmp_packets -p icmp -s 0/0 --icmp-type 11 -j ACCEPT
$IPT -A INPUT -p tcp -j bad_tcp_packets
$IPT -A INPUT -p all -i $LAN_IFACEA -s $LAN_IP_RANGE -j ACCEPT
$IPT -A INPUT -p all -i $LAN_IFACEB -s $LAN_IP_RANGE -j ACCEPT
$IPT -A INPUT -p all -i $LAN_IFACEC -s $LAN_IP_RANGE -j ACCEPT
$IPT -A INPUT -p all -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPT -A INPUT -p all -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPT -A INPUT -p all -i $LO_IFACE -s $INET_IP -j ACCEPT
for DNS in $(grep ^n /etc/resolv.conf|awk '{print $2}') ; do
$IPT -A INPUT -p udp -s $DNS --sport domain -j ACCEPT
done
$IPT -A INPUT -p all -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p udp -i $INET_IFACE -j udp_packets
$IPT -A INPUT -p icmp -i $INET_IFACE -j icmp_packets
$IPT -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP
$IPT -A FORWARD -p tcp -j bad_tcp_packets
$IPT -A FORWARD -f -m limit --limit 100/second --limit-burst 100 -j ACCEPT
$IPT -A FORWARD -p icmp -m limit --limit 1/second --limit-burst 10 -j ACCEPT
$IPT -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
$IPT -A FORWARD -i $LAN_IFACEA -s $LAN_IP_RANGE -j ACCEPT
$IPT -A FORWARD -i $LAN_IFACEB -s $LAN_IP_RANGE -j ACCEPT
$IPT -A FORWARD -i $LAN_IFACEC -s $LAN_IP_RANGE -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p tcp -j bad_tcp_packets
$IPT -A OUTPUT -p all -s $LO_IP -j ACCEPT
$IPT -A OUTPUT -p all -s $LAN_IP -j ACCEPT
$IPT -A OUTPUT -p all -s $INET_IP -j ACCEPT
$IPT -t nat -A PREROUTING -s $LAN_IP_RANGE -j ACCEPT
for DNSA in $(grep ^n /etc/resolv.conf|awk '{print $2}') ; do
$IPT -t nat -A PREROUTING -d $DNSA -j ACCEPT
done
if [ "$INET_IFACE" = "ppp0" ] ; then
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
else
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
fi
$IPT -t nat -A POSTROUTING -s $LAN_IP_RANGE -j ACCEPT