Firewall Iptables
Publicado por Joel Silva da Silva Junior 02/04/2009
[ Hits: 8.094 ]
Script para Iptables.
#!/bin/bash
#################################
# Firewall - V.3 #
# Write by: Joel Silva #
# Mail: sonic_novel@hotmail.com #
# Manaus-AM #
#################################
#############################
# Programas: #
#############################
firewall=/root/firewall.sh
iptables=/usr/sbin/iptables
modprobe=/sbin/modprobe
################################
# Parametros da Rede: #
################################
NET_IF=eth0
LAN_IF=eth1
PORTAS_LIBERADAS="20,21,22,143,443,80,25,110,8080"
IP_SOURCE="192.168.100.0/24"
IP_LIBERADO="/etc/firewall/ips"
IP_BLOQUEADO="/etc/firewall/bloqueados"
###############################
# Carregando Modulos: #
###############################
$modprobe ip_tables
$modprobe ip_nat
$modprobe ip_nat_ftp
$modprobe ip_conntrack_ftp
$modprobe ipt_MASQUERADE
$modprobe ipt_REJECT
$modprobe ipt_LOG
$modprobe iptable_filter
$modprobe arp_tables
$modprobe ipt_TOS
################################
# Parametros do Firewall: #
################################
echo " Ativando Roteamento de Pacotes no Kernel: "
echo "1" > /proc/sys/net/ipv4/ip_forward
echo " Feito! "
firewall_stop () {
if [ -ex $firewall ]; then
$firewall_stop
echo " Limpando Regras! "
echo " Feito! "
fi
}
##########################################
##########################################
##########################################
##########################################
firewall_start () {
if [ -ex $firewall ]; then
echo " Iniciando Firewall "
$firewall_start
echo " Firewall Iniciado "
fi
}
echo " Liberando Conexoes: "
for i in `cat $IP_LIBERADO`; do
STATUS=`echo $i | cut -d '-' -f 1`
IP=`echo $i | cut -d '-' -f 2`
CLIENTE=`echo $i | cut -d '-' -f 3`
if [ $STATUS="a" ]; then
$iptables -A INPUT -s $IP -d 0/0 -j ACCEPT
$iptables -A FORWARD -s $IP -d 0/0 -j ACCEPT
$iptables -A OUTPUT -s $IP -d 0/0 -j ACCEPT
$iptables -t nat -A POSTROUTING -s $IP -d 192.168.100.254 -j MASQUERADE
$iptables -t nat -A PREROUTING -p tcp -d $IP --dport 80 \
-j REDIRECT --to-ports 8080
fi
done
echo " PERMITIDO - IP:[$IP] - CLIENTE: [$CLIENTE] "
for i in `cat $IP_BLOQUEADO`;do
STATUS=`echo $i | cut -d '-' -f 1`
IP=`echo $i | cut -d '-' -f 2`
CLIENTE=`echo $i | cut -d '-' -f 3`
##############################################
##############################################
echo " Bloqueando Conexoes: "
if [ $STATUS="b" ]; then
$iptables -A INPUT -s $IP -d 0/0 -j REJECT
fi
done
echo " BLOQUEADO - IP: [$IP] - CLIENTE: [$CLIENTE] "
#######################################################
#######################################################
echo " Liberando Portas: "
$iptables -A INPUT -m multiport -p tcp --port $PORTAS_LIBERADAS -j ACCEPT
$iptables -A FORWARD -m multiport -p tcp --port $PORTAS_LIBERADAS -j ACCEPT
$iptables -A OUTPUT -m multiport -p tcp --port $PORTAS_LIBERADAS -j ACCEPT
echo " Feito! "
#######################################################
#######################################################
##########################
# Regras de Start/Stop #
##########################
case "$1" in
'start')
$firewall_start
;;
'stop')
$firewall_stop
$iptables -F
$iptables -F -t nat
$iptables -F -t filter
;;
'restart')
$firewall_stop
$firewall_start
;;
*)
echo " Usage $0 start | stop | restart "
;;
esac
Remover kernels antigos com zenity
Fazer backup de todas base de dados no PostgreSQL
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (12)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









