Firewall Iptables
Publicado por Joel Silva da Silva Junior 02/04/2009
[ Hits: 8.026 ]
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
Manutenção básica em partições Linux
Instalação do Microsoft Edge no Linux
arrcomb: Gerando Arranjos e Combinações
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









