#!/bin/sh echo "Initializing modules..." modprobe ip_tables modprobe ip_conntrack modprobe ipt_state modprobe ipt_limit modprobe iptable_mangle #modprobe ipt_PERS echo "Flushing rules.." #iptables -F PREROUTING #iptables -t mangle -F OUTPUT iptables -F INPUT iptables -F FORWARD iptables -F OUTPUT iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT echo "Setting default routes..." iptables -P INPUT DROP iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT echo "Configuring external interface rulesets..." #iptables -t mangle -A PREROUTING -j PERS --local --tweak dst --conf /etc/win9x.conf #iptables -t mangle -A OUTPUT -j PERS --local --tweak src --conf /etc/win9x.conf iptables -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP iptables -A INPUT -i eth0 -s 255.255.255.255/32 -j DROP iptables -A INPUT -i eth0 -s 0.0.0.0/8 -j DROP iptables -A INPUT -i eth0 -s 169.254.0.0/16 -j DROP iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP iptables -A INPUT -i eth0 -s 192.0.2.0/24 -j DROP iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP iptables -A INPUT -i eth0 -s 224.0.0.0/4 -j DROP iptables -A INPUT -i eth0 -s 240.0.0.0/5 -j DROP iptables -A INPUT -i eth0 -s 248.0.0.0/5 -j DROP iptables -A INPUT -i eth0 -f -j DROP iptables -A INPUT -i eth0 -p TCP -m state --state INVALID -j DROP iptables -A INPUT -i eth0 -p TCP --syn -m limit --limit 1/s -j ACCEPT iptables -A INPUT -i eth0 -p TCP --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 20 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 23 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 113 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --sport 1024:65535 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p TCP --dport 32768:61000 -m state --state ESTABLISHED -j ACCEPT #iptables -A INPUT -i eth0 -p UDP -j DENY iptables -A INPUT -i eth0 -p UDP -s 0/0 --sport 53 -j ACCEPT #iptables -A INPUT -i eth0 -p UDP -s 0/0 --dport 53 -j ACCEPT #iptables -A INPUT -i eth0 -p UDP -s 0/0 --sport 161 -j ACCEPT iptables -A INPUT -i eth0 -p UDP -s 0/0 --sport ntp -j ACCEPT iptables -A INPUT -i eth0 -p UDP -s 0/0 --dport ntp -j ACCEPT iptables -A INPUT -i eth0 -p ICMP --icmp-type echo-reply -j ACCEPT echo "Configuring routing rulesets..." iptables -A FORWARD -i eth0 -d 10.0.0.0/8 -j DROP iptables -A FORWARD -i eth0 -d 127.0.0.0/8 -j DROP iptables -A FORWARD -i eth0 -p igmp -j DROP iptables -A FORWARD -i eth0 -p TCP --syn -m limit --limit 10/s -j ACCEPT iptables -A FORWARD -i eth0 -p TCP --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 10/s -j ACCEPT echo "Configuring internal interface rulesets..." iptables -A INPUT -i lo -j ACCEPT echo "IPtables firewall configuration completed."