Enviado em 14/02/2018 - 13:34h
Senhores boa tarde,#!/bin/bash
### BEGIN INIT INFO
# Provides: firewall
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Firewall
# Description: Enable service provided by daemon.
### END INIT INFO
#--------------------
# FIREWALL IPTABLES #
#--------------------
# CARREGANDO MODULOS NO KERNEL
modprobe ip_conntrack_ftp
modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_tables
modprobe ipt_MARK
modprobe ipt_MASQUERADE
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_TOS
modprobe ipt_limit
modprobe ipt_mac
modprobe ipt_multiport
modprobe ipt_owner
modprobe ipt_LOG
modprobe ipt_REDIRECT
modprobe ipt_state
modprobe iptable_nat
modprobe iptable_mangle
modprobe iptable_filter
# VARIAVEIS DE REDE
IF_WAN="enp0s3"
IF_LAN="enp0s8"
REDE_LOCAL="172.16.200.0/24"
# CASE PARA INICIAR FIREWALL
IniciarFirewall () {
# LIMPANDO REGRAS
iptables -F
iptables -F -t filter
iptables -F -t mangle
iptables -F -t nat
iptables -Z
# POLITICA PADRAO DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# HABILITANDO ROTEAMENTO
echo "1" > /proc/sys/net/ipv4/ip_forward
# LIBERANDO CONEXOES PARA CHAINS
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
#----------------
# REGRAS DE NAT #
#----------------
# MASCARAMENTO DE REDE
iptables -t nat -A POSTROUTING -s $REDE_LOCAL -o $IF_WAN -j MASQUERADE
#------------------
# REGRAS DE INPUT #
#------------------
# LOOPBACK
iptables -A INPUT -i lo -j ACCEPT
# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# APACHE
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# SQUID
iptables -A INPUT -p tcp --dport 1082 -j ACCEPT
# PING
iptables -A INPUT -s $REDE_LOCAL -p icmp --icmp-type 8 -j ACCEPT
#--------------------
# REGRAS DE FORWARD #
#--------------------
# PING
iptables -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
# DNS
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
# IP TI
iptables -A FORWARD -s 172.16.200.2 -o $IF_WAN -j ACCEPT
}
# CASE PARA PARAR O FIREWALL
PararFirewall () {
# LIMPANDO REGRAS
iptables -F
iptables -F -t filter
iptables -F -t mangle
iptables -F -t nat
iptables -Z
# POLITICA PADRAO COMO ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# HABILITANDO ROTEAMENTO
echo "1" > /proc/sys/net/ipv4/ip_forward
#----------------
# REGRAS DE NAT #
#----------------
# MASCARAMENTO DE REDE
iptables -t nat -A POSTROUTING -s $REDE_LOCAL -o $IF_WAN -j MASQUERADE
}
case $1 in
start) echo "FIREWALL INICIADO.......[OK]"
IniciarFirewall
;;
stop) echo "FIREWALL PARADO..........[OK]"
PararFirewall
;;
restart) echo "FIREWALL REINICIADO...[OK]"
PararFirewall
IniciarFirewall
;;
esac
#---------------
# FIM FIREWALL #
#---------------
Vou voltar moderar conteúdos de Dicas e Artigos (0)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Instalação Uefi com o instalador clássico do Mageia (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta