Firewall Iptables
Publicado por Joel Silva da Silva Junior 02/04/2009
[ Hits: 8.075 ]
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
Testa a conexão com a internet e se não tem reinicia o pc.
Pesquisa Binária usando Bash-Shell
UNIX - Alerta de espaço em disco via e-mail
Conversor de Dicionarios do Babylon
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
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









