Firewall Iptables
Publicado por Joel Silva da Silva Junior 02/04/2009
[ Hits: 8.095 ]
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
Administração servidor WEB com Dialog
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CALCULA O % DE USO DA QUOTA E ATUALIZA BANCO
Adicionar usuarios em lote com senha padrao
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?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









