rendered paste body!/bin/bash
# No spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $filtre
done
fi
# No icmp
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#load some modules you may need
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
# iptables module added for passive ftp access to ftpd on local system
modprobe ip_conntrack
modprobe ip_conntrack_ftp port=21
# Remove all rules and chains
iptables -F
iptables -X
# first set the default behaviour => accept connections
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# Create 2 chains, it allows to write a clean script
iptables -N FIREWALL
iptables -N TRUSTED
# Allow Kde
#iptables -A OUTPUT -o lo -j ACCEPT
#iptables -A INPUT -i lo -j ACCEPT
# Allow ESTABLISHED and RELATED incoming connection
iptables -A FIREWALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Send all package to the TRUSTED chain
iptables -A FIREWALL -j TRUSTED
# DROP all other packets
iptables -A FIREWALL -j DROP
# Send all INPUT packets to the FIREWALL chain
iptables -A INPUT -j FIREWALL
# DROP all forward packets, we don't share internet connection in this example
iptables -A FORWARD -j DROP
# Allow dns
iptables -A TRUSTED -o eth0 --protocol udp -m udp --destination-port 53 -j ACCEPT
iptables -A TRUSTED -o eth0 --protocol tcp -m tcp --destination-port 53 -j ACCEPT
# Allow http
iptables -A TRUSTED -o eth0 --protocol tcp -m tcp --destination-port 80 -j ACCEPT
iptables -A TRUSTED -o eth0 --protocol udp -m udp --destination-port 80 -j ACCEPT
# Allow ftp
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
# Allow https
iptables -A TRUSTED -i eth0 -p udp -m udp --sport 443 -j ACCEPT
iptables -A TRUSTED -i eth0 -p tcp -m tcp --sport 443 -j ACCEPT
# Allow pop3
iptables -A TRUSTED -o eth0 --protocol tcp -m tcp --dport 110 -j ACCEPT
# Allow imap2
#iptables -A TRUSTED -o eth0 --protocol udp -m udp --destination-port 143 -j ACCEPT
#iptables -A TRUSTED -o eth0 --protocol tcp -m tcp --destination-port 143 -j ACCEPT
# Allow imap3
#iptables -A TRUSTED -o eth0 --protocol udp -m udp --destination-port 220 -j ACCEPT
#iptables -A TRUSTED -o eth0 --protocol tcp -m tcp --destination-port 220 -j ACCEPT
# Allow smtp
iptables -A TRUSTED -o eth0 --protocol tcp -m tcp --dport 587 -j ACCEPT
# Allow MSN
iptables -A TRUSTED -i eth0 -p tcp --sport 1863 -j ACCEPT
iptables -A TRUSTED -i eth0 -p tcp --sport 6890:6900 -j ACCEPT
iptables -A TRUSTED -i eth0 -p udp --sport 6890:6900 -j ACCEPT
#iptables -A FORWARD -i eth0 -p tcp --sport 6901 -j ACCEPT # Msn voice comp-comp comp-phone
#iptables -A FORWARD -i eth0 -p tcp --sport 6901 -j ACCEPT
#IPTABLES -A FORWARD -i eth0 -p tcp --sport 2001:2120 -j ACCEPT # Msn voice comp-phone
#iptables -A FORWARD -i eth0 -p tcp --sport 6801 -j ACCEPT # Msn voice comp-phone
# Allow amule-edonkey
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A TRUSTED -i eth0 -p udp -m udp --dport 4665 -j ACCEPT
iptables -A TRUSTED -i eth0 -p udp -m udp --dport 4672 -j ACCEPT
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 4662 -j ACCEPT
# Allow IRC IDENT & DCC
iptables -A TRUSTED -i eth0 -p tcp -m tcp --sport 6667 -j ACCEPT
# Allow skype
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 65535 -j ACCEPT
iptables -A TRUSTED -i eth0 -p udp -m udp --dport 65535 -j ACCEPT
# Allow azureus
iptables -I INPUT 1 -i eth0 -p tcp --tcp-flags SYN,RST,ACK SYN --dport 51000 -m state --state NEW -j ACCEPT
iptables -I INPUT 1 -i eth0 -p udp --dport 51000 -m state --state NEW -j ACCEPT
# Allow limewire
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 6346 -j ACCEPT
iptables -A TRUSTED -i eth0 -p udp -m udp --dport 6346 -j ACCEPT
# Allow DC++
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 1412 -j ACCEPT
iptables -A TRUSTED -i eth0 -p udp -m udp --dport 1412 -j ACCEPT
# Allow no-ip
#iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 8245 -j ACCEPT
# Allow Bittorrent
#iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 10000:10009 -j ACCEPT
# Allow rdesktop
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 3389 -j ACCEPT
# Allow wengophone
#iptables -A TRUSTED -i eth0 -p udp -m udp --dport 5061 -j ACCEPT
#iptables -A TRUSTED -i eth0 -p udp -m udp --dport 10600:10601 -j ACCEPT
# Allow nicotine
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 2234 -j ACCEPT
# End message
echo " [End iptables rules setting]"