Firewall Iptables
Publicado por Joel Silva da Silva Junior 02/04/2009
[ Hits: 8.078 ]
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
mkzeowmp - zeo mount point para PZP (python, zope e plone)
Shell Script / Perl para sincronizar base de usuários do AD com o Zimbra
Script para balanceamento de link's de internet
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Assisti Avatar 3: Fogo e Cinzas (2)
Conky, alerta de temperatura alta (8)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









