#!/bin/bash

#Script de configuracao iptables
#	Cesar Henrique Kallas
#	opensrc@gmx.net
#	http://www.opensrc.co.nr
# 25/06/2003

echo -e "\n\n		=== Inicializando Firewall === \n\n"

# Carrega os módulos
echo "Carregando modulos firewall	[ ok ]"
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp


#Limpar regras atuais
echo "Resetando regras anteriores	[ ok ]"
iptables -t nat -F
iptables -F
iptables -X
iptables -X -t nat
iptables -Z


# Compartilha a conexão
echo "Compartilhando conexao		[ ok ]"
iptables -t nat -A POSTROUTING -o lo -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 
iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward 

#proteje contra pacotes DDOS
iptables -A FORWARD -m unclean -j DROP

# Abre algumas portas (opcional)
echo "Abrindo portas de servicos	[ ok ]"
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT 
#iptables -A INPUT -p tcp --destination-port 6666 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 8001 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 8010 -j ACCEPT 
iptables -A OUTPUT -j ACCEPT
# Abre para a rede local 


echo "Bloquear acesso ao restante	[ ok ]"
# libera se estiver acessando dentro da rede interna, (acesso livre)
iptables -A INPUT -p tcp --syn -s 10.0.0.0/255.0.0.0 -j ACCEPT 

# Fecha o resto
#iptables -A INPUT -p tcp --syn -j DROP

#Bloquear ping, e pacotes danificados (DDos)
echo "Restringindo ping, pacotes DDos	[ ok ]"
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all 
# a linha abaixo restringem pacotes DDos
# linha pacote DDOS adcionada mais acima


# Fazer que o acesso a porta X seja redirecionado para maquina Y da rede interna
#para varias portas use --dport a:z , -i eh a interface a ser acessada externamente
#para somente rede interna use ethX
 
#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 22 -j DNAT --to-dest 192.168.0.2
#iptables -A FORWARD -p tcp -i ppp0 --dport 22 -d 192.168.0.2 -j ACCEPT 


echo -e "\n\n			=== Firewall OK === \n\n"
