Firewall com balanceamento de N links comuns (IP fixo ou dinâmico) + acesso HTTPS (todos links ativos)
Publicado por Marcelo De Zan em 07/05/2015
[ Hits: 6.551 ]
#!/bin/bash
#######################################################
#        FIREWALL CDZNET NETWORKS 2.0 05-03-2009     #
#        Autor: Marcelo De Zan                       #
#######################################################
########################
# DEFINICAO VARIAVEIS  #
########################
##############################################################################
#                                                                           #
# CAMINHO DO BINARIO DO IPTABLES                                            #
#                                                                           #
# Seta o valor da variavel IPTABLES para o binario do iptables instalado    #
# no servidor caso tenha compilado confirmar o local onde se encontra o     #
# binario do iptables                                                       #
#                                                                           #
# /sbin/iptables para iptables padrao instalado no debian                   #
#                                                                           #
# /usr/local/sbin/iptables para iptables compilado                         #
#                                                                           #
##############################################################################
IPTABLES=/sbin/iptables
########################################################################
#                                                                                      #
# variaveis para alterar comportamento do firewall                                                             #
#                                                                                                              #
# ip_forward - Ativa roteamento do servidor quando '1' | nao roteia quando '0'                                 #
#                                                                                                              #
# ip_forward - Ativa protecao anti-spoofing quando '1' | desabilita quando '0'                                 #
#       Obs.: setar como '0' quando servidor tiver mais de um link de internet                                 #
#             realizando balanceamento de saida                                                                #
#                                                                                                              #
# tcp_ecn - Explicit Congestion Notification, RFC 3168 proposta nos padroes de internet                        #
#       Notificacao explicita de congestionamento, Quando Ativado todas conexoes TCP                           #
#       sao enviadas oferecendo ECN, sites que nao suportam ECN ignoram conexoes com                           #
#       suporte a ECN. parac habilitar sete '1' caso tenha problemas altere para '0'                           #
#       Obs.: site da UOL e sites hospadados neles costumam dar problema sete '0'                              #
#                                                                                                              #
########################################################################
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/tcp_ecn
###################################################################################################
#                                                                                                 #
# CONFIGURACAO DE VARIAVEIS DAS INTERFACES DO SERVIDOR                                            #
#                                                                                                 #
#  As variaveis devem ser definidas para todas interfaces de rede do servidor                     #
#  unindo 'V1' a 'V2' e adicionando um valor numerido que corresponde ao numero da interface.     #
#                                                                                                 #
#  'V1'                                                                                           #
#                                                                                                 #
#  IF - Variavel para interface de rede                                                           #
#  IP - Variavel para valor do ip                                                                 #
#  NM - Variavel para Netmask                                                                     #
#  GW - Variavel para valor Gateway                                                               #
#  NW - Variavel para valor do end. de rede                                                       #
#  BRD - Variavel para valor de Broadcast da rede                                                 #
#                                                                                                 #
#  'V2'                                                                                           #
#                                                                                                 #
#  I - Interna                                                                                    #
#  E - Externa                                                                                    #
#                                                                                                 #
#   VARIAVEL RTEx - sao variaveis para criacao de tabelas de roteamento                           #
#                                                                                                 #
#  Obs.: Para ip dinamico utilize o seguinte valor para devifinir a variavel                      #
#       Ex.:    IPE1=$(ifconfig ppp0 | grep end.: | awk '{ print $3 }');                          #
#                                                                                                 #
###################################################################################################
###### INTERFACE INTERNA
IFI1=eth1
IPI1=192.168.1.2
NMI1=24
NWI1=192.168.1.0
BRDI1=192.168.1.255
###### INTERFACE EXTERNA 1 LINK SPEEDY TELEFONICA
IFE1=ppp0
IPE1=$(ifconfig ppp0 | grep end.: | awk '{ print $3 } ' );
NWE1=$(ip -d route | grep ppp0 | grep / | cut -f1 -d /);
NME1=$(ip -d addr | grep ppp0 | grep inet | awk '{ print $2 } ' | cut -f2 -d /);
BRDE1=$(ifconfig ppp0 | grep end.: | awk '{ print $4 } ' |   cut -c7- );
##GWE1=$(route -n | grep UG | awk '{ print $2}');
RTE1=201
#########################################
#                                       #
#       LIMPA REGRAS DO FIREWALL        #
#                                       #
#########################################
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t nat -Z
$IPTABLES -t mangle -F
$IPTABLES -t mangle -X
$IPTABLES -t mangle -Z
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
#################################################################
#                                                                                                       #
#                        CARREGAR MODULOS IPTABLES                                                      #
#                                                                                                       #
#  Modulos nao foram compilados diretamente no kernel mas podem ser carregados, linkados                #
#  ao iptables em tempo de uso para verificar modulos carregados digite 'lsmod' na linha                #
#  de comando                                                                                           #
#
#  ipt_mark -
#  ipt_MARK -
#  ipt_CONNMARK -
#  ip_tables -
#  iptable_nat -
#  ipt_conntrack -
#  ip_nat_ftp -
#  ip_conntrack_ftp -
#  ipt_layer7 -
#  ipt_LOG -
#  ipt_state -
#  iptale_filter -
#
#################################################################
/sbin/modprobe ipt_MARK
/sbin/modprobe ipt_mark
/sbin/modprobe ipt_CONNMARK
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ipt_layer7
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_state
/sbin/modprobe iptable_filter
#########################################################################
#                                                                                                               #
#       CHECA QUANTIDADE DE LINKS EXTERNOS APLICA REGRAS PARA CADA LINK EXTERNO                                 #
#                                                                                                               #
# _numlink - checa quantos links externos o firewal tem                                                         #
# if - se houver mais de um link execute primeiro bloco senao execute apenas o segundo  bloco                   #
#########################################################################
_numlink=`cat $0 | grep ^IFE | wc -l`
        if [ $_numlink -gt 1 ]
        then
        ip rule del table main
        ip route flush table $RT_M 2>/dev/null
        ip route del default table main 2>/dev/null
        ip link set lo up
        ip addr add 127.0.0.1/8 brd + dev lo
        ip link set $IFI1 up
        ip addr add $IPI1/$NMI1 brd + dev $IFI1
        ip rule add prio 50 table main
fi
_numlink=`cat $0 | grep ^IFE | wc -l`
        if [ $_numlink -gt 1 ]
        then
        for i in $(seq $_numlink);
                do
_IFEX=$(eval echo $`echo IFE$i`)
_IPEX=$(eval echo $`echo IPE$i`)
_NWEX=$(eval echo $`echo NWE$i`)
_NMEX=$(eval echo $`echo NME$i`)
_BRDEX=$(eval echo $`echo BRDE$i`)
_GWEX=$(eval echo $`echo GWE$i`)
_RTEX=$(eval echo $`echo RTE$i`)
###########################################################################
#                                                                                                                 #
#       REGRAS DE ROTEAMENTO AVANCADO PARA BALANCEAR LINK'S DE SAIDA                                              #
#                                                                                                                 #
#  Estas regras devem ser aplicadas para servidores que tenham aplicado o patche do julian anastasov,             #
#  e recompilado o kernel, este patch realiza o balanceamento de dois ou mais links por requisicao, ou seja       #
#  a cada nova requisicao e utilizado um link de saida, mas a cada nova requisicao e realizada um a consulta      #
#  no cache de rotas caso o ip origem e destino tenham uma conexao estabelecida recentemente a requisicao sai     #
#  pelo mesmo link utilizando na conexao anterior, caso contrario ele sai pelo link da vez do balanceamento,      #
#  isto serve para conexoes do tipo http's.                                                                       #
#                                                                                                                 #
#  Para baixar o patch de roteamento avancado http://www.ssi.bg/~ja/#routes                                       #
#  how to nano http://www.ssi.bg/~ja/nano.txt                                                                     #
#                                                                                                                 #
#  Obs.: O unico site que nao aceitou o patch corretamente foi Bradesco Pessoa Juridica                           #
#        Para que o mesmo funcione corretamente é necessário solicitar junto ao banco                             #
#        cadastramento dos ip's de todos link's utilizados pelo servidor                                          #
#                                                                                                                 #
###########################################################################
#########################################################################
#                                                                                                               #
#                 VARIAVEIS PARA TABELAS DE ROTEAMENTO                                                          #
#                                                                                                               #
#       Defina uma variavel para cada link de saida com valores entre 201 a 220 e uma                           #
#       tabela 222 que será a tabela de roteamento padrao.                                                      #
#       A tabela main dafault e removida e criada nova tabela main com menor prioridade.                        #
#       As regras verificam se já foram criados nomes e valores para as tabelas de                              #
#       roteamento, caso negativo será criado.                                                                  #
#                                                                                                               #
#       Obs.: DEFINIR ESTAS VARIAVEIS JUNTO COM A DEFINICAO DE VARIAVEIS DE INTERFACES                          #
#                                                                                                               #
#                                                                                                               #
#       RTE1=201                                                                                                #
#       RTE2=202                                                                                                #
#       RTEN=203..                                                                                              #
#                                                                                                               #
#       RT_M=222 NAO ALTERAR ESTE VALOR                                                                         #
#########################################################################
RT_M=222
     if ! cat /etc/iproute2/rt_tables | grep ^$_RTEX &> /dev/null
                then
                        echo $_RTEX       $_RTEX >> /etc/iproute2/rt_tables
                fi
     if ! cat /etc/iproute2/rt_tables | grep ^$RT_M &> /dev/null
                then
                        echo $RT_M       $RT_M >> /etc/iproute2/rt_tables
                fi
#################################################################################################
#                                                                                               #
# LIMPANDO REGRAS E REGRAS EM CACHE                                                             #
#                                                                                               #
# ip rule del - Limpa regras que estao na tabela                                                #
# ip route flush - Limpa cache de regras                                                        #
# ip route flush cache - Limpa o cache de conexoes, da tabela de roteamento                     #
#                                                                                               #
#################################################################################################
ip rule del table $_RTEX
ip route flush table $_RTEX 2>/dev/null
#########################################################################
#                                                                                                               #
# CRIACAO DE REGRAS DE ROTEAMENTO                                                                               #
#                                                                                                               #
#       Levanta as interfaces, adiciona ip/mascara/broadcast a interface cria prioridades nas tabelas           #
#       onde a tabela main padrao do sistema é excluida, é adicionada uma nova tabela main com prio             #
#       ridade baixa, é adicionada uma tabela '222' onde todos pacotes cairão por default nela e ela            #
#       ira encaminhar para as tabelas de cada link e cada tabela de link tem sua rota padrao, entao            #
#       ao cair em uma tabela de link o pacote segue pela rota padrao.                                          #
#                                                                                                               #
# ip link set up - Levanta interface de rede                                                                    #
# ip addr add - adiciona ip/mascara/broadcast e associa a interface de rede                                     #
# ip rule add - adiciona regra de prioridade as tabelas                                                         #
# ip addr flush dev - Limpa cache de regras no device                                                           #
# ip route add default - cria rota default dentro de cada tabela de link externo                                #
#                                                                                                               #
#########################################################################
        ip link set $_IFEX up
        ip addr flush dev $_IFEX
        ip addr add $_IPEX/$_NMEX brd $_BRDEX dev $_IFEX
        ip rule add prio $_RTEX from $_NWEX/$_NMEX table $_RTEX
        ip route add default via $_GWEX dev $_IFEX src $_IPEX proto static table $_RTEX
        ip route append prohibit default table $_RTEX metric 1 proto static
done  #### FIM LACO FOR ####
        ip rule del table $RT_M
        ip rule add prio $RT_M table $RT_M
        touch /tmp/route.tmp; chmod 777 /tmp/route.tmp
        echo "#!/bin/bash" > /tmp/route.tmp
        echo "ip route add default table $RT_M proto static \\" >> /tmp/route.tmp
               i=$_numlink;
                while [ $i -gt 0 ]
                do
                        if [ $i -gt 1 ]
                        then
                        echo  "nexthop via $(eval echo $`echo GWE$i`) dev $(eval echo $`echo IFE$i`) \\" >> /tmp/route.tmp
                        else
                        echo  "nexthop via $(eval echo $`echo GWE$i`) dev $(eval echo $`echo IFE$i`)" >> /tmp/route.tmp
                        fi
                i=$(($i-1))
                done
         sh /tmp/route.tmp
        ip route flush cache
fi  #### FIM IF ####
##########################################################################
#                                                                                                                #
# ATE AQUI O SCRIPT APLICOU REGRAS DE ROTEAMENTO, VERIFICA A EXISTENCIA DE MAIS DE 1 LINK EXTERNO CONFIGURADO,   #
# SE EXITIR ELE EXECUTA O BLOCO DE COMANDOS PARA CADA UM DOS LINKS, ESTAS REGRAS SAO REFERENTES                  #
# AO ROTEAMENTO AVANCADO E SE NAO EXISTIR MAIS DE UM LINK ESTAS REGRAS NAO SERAO APLICADAS                       #
#                                                                                                                #
##########################################################################
#################################################################################
#                                                                                                                       #
# POLITICA DAS CADEIAS DO FIREWALL                                                                                      #
#                                                                                                                       #
# Entendendo o Firewall iptables como um agente que fica entre o fluxo dos dados, dados entram para o servidor,         #
# dados saem do servidor, dados transpassam pelo servidor, sobre este fluxo de dados foram criadas cadeias de           #
# onde cada cadeia representa qual e o tipo de fluxo, entrada, saida ou roteamento.                                     #
# E sobre estas cadeias ha momentos em que o pacote pode ser manipulado pelo firewall os momentos podem ser             #
# definidos como                                                                                                        #
#                                                                                                                       #
# PREROUTING - assim que chega na interface de rede, o kernel sabe que ira mandar o pacote para outra inter             #
#       face pois ele pode ver a origem e qual o destino que o pacote quer chegari                                      #
# INPUT - A                                                                                                             #
#                                                                                                                       #
#                                                                                                                       #
#                                                                                                                       #
# A politica das cadeias do firewall definem qual sera a acao padrao do firewall quando receber um pacote               #
# em uma de suas tabelas as acoes mais utilizadas sao DROP e ACCEPT mas tambem podemos utilizar LOG, REJECT, .....      #
#                                                                                                                       #
#       DROP -                                                                                                          #
#       ACCEPT -                                                                                                        #
#       REJECT -                                                                                                        #
#       IGNORE -                                                                                                        #
#       LOG -                                                                                                           #
#                                                                                                                       #
#                                                                                                                       #
# Devemos utilizar politica padrao DROP nas cadeias INPUT e FORWARD, e ACCEPT nas cadeias PREROUTING                    #
# POSTROUTING.                                                                                                          #
#                                                                                                                       #
#################################################################################
        # TABELA FILTER
$IPTABLES -P INPUT ACCEPT               ## DROP
$IPTABLES -P FORWARD ACCEPT     ## DROP
$IPTABLES -P OUTPUT ACCEPT
        # TABELA NAT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
#################################################################################
#                                                                                                                       #
#               ESTADOS DE PACOTES                                                                                      #
#                                                                                                                       #
# Pacotes com conexao estabeleciada ou em processo de estabelecimento de conexao sao aceitos                            #
# Pacotes invalidos sao recusados                                                                                       #
#                                                                                                                       #
#################################################################################
$IPTABLES -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state INVALID -j DROP
# ACEITA PACOTES ICMP
$IPTABLES -t nat -A PREROUTING -m limit --limit 10/s -p icmp --icmp-type any -j ACCEPT
$IPTABLES -A INPUT -m limit --limit 10/s -p icmp --icmp-type any -j ACCEPT
# REGRA BRUTE FORCE SSH
$IPTABLES -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --set
$IPTABLES -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j LOG --log-prefix 'SSH REJECT: ' --log-level 7
$IPTABLES -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset
        # SITES QUE NAO ACEITAM PROXY
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 189.56.29.204 -j ACCEPT                 #NOSSA CAIXA
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 200.201.174.207 -j ACCEPT               #CONECTIVIDADE SOCIAL
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 200.201.174.200 -j ACCEPT               #CONECTIVIDADE SOCIAL
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 200.201.174.204 -j ACCEPT               #CONECTIVIDADE SOCIAL
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 75.125.108.18 -j ACCEPT                 #AIDF
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 201.55.62.91  -j ACCEPT
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 201.55.62.55  -j ACCEPT
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 201.55.62.20  -j ACCEPT                 #RECEITA FEDERAL
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 201.55.62.92  -j ACCEPT                 #RECEITA FEDERAL
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 64.15.155.143 -j ACCEPT                 #GNFE
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 200.198.224.14 -j ACCEPT                #NFE
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 201.55.62.86 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 189.109.30.67 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 200.201.173.70 -j ACCEPT                #WEBP.CAIXA.GOV.BR
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 64.13.161.61 -j DROP                   #IMO.IM SITE MSN
$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 200.212.51.71 -j ACCEPT                 #COBCAIXA
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 72.232.279.58 -j ACCEPT                 #LECTORLIVE
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 189.114.223.109 -j ACCEPT               #LECTORLIVE
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 200.175.53.221 -j ACCEPT                #LECTORLIVE
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 72.232.237.34 -j ACCEPT                 #LECTORLIVE
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 189.126.2.49 -j ACCEPT                  #LECTORLIVE
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp -d 72.232.237.35 -j ACCEPT                 #LECTORLIVE
#########################################################################
#                                                                                                               #
#  I    REGRAS APLICADAS EM CADA INTERFACE EXTERNA                                                              #
#       REDIRECIONAMENTOS (VITUAL SERVER)                                                                       #
#       PREROUTING E POSTROUTING                                                                                #
#                                                                                                               #
#########################################################################
        for i in $(seq $_numlink);
        do
        _IFEX=$(eval echo $`echo IFE$i`)
        _IPEX=$(eval echo $`echo IPE$i`)
        _NWEX=$(eval echo $`echo NWE$i`)
        _NMEX=$(eval echo $`echo NME$i`)
        _BRDEX=$(eval echo $`echo BRDE$i`)
        _GWEX=$(eval echo $`echo GWE$i`)
        _RTEX=$(eval echo $`echo RTE$i`)
########################################################################
#                                                                                                              #
# TCPMSS - Este parametro manipula a metrica de rede utilizada, esta metrica corresponde ao tamanho            #
#       em bytes que cada pacote tera sem ser incluido o cabeicalho, por padrao interfaces de rede             #
#       utilizam o valor de 1500 para metrica de rede, ADSL tambem, mas redes do tipo wireless utilizam        #
#       uma metrica menor, esta regra realiza ajuste automatico pois o tamanho dos pacotes recebidos sera      #
#       o tamanho que o servidor enviara                                                                       #
#       este valor pode ser testado/ajustado  utilizando o comando ping setando a opcao de tamanho  dos        #
#       pacotes                                                                                                #
#                                                                                                              #
########################################################################
$IPTABLES -t mangle -A POSTROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -o $_IFEX
#################################################################################
#                                                                                                                       #
#       SNAT - E a traducao de enderecos para que no momento que o pacote saia da interface de rede altere o ip         #
#               requisitante (ip interno) para o ip quente da rede (ip externo) e quando o pacote retorna o             #
#               roteador identifica e altera o cabecalho do pacote com o ip da rede interna                             #
#                                                                                                                       #
#       Esta regra deve ser aplicada a cada link externo                                                                #
#       $IPTABLES -t nat -A POSTROUTING -o $IFE1 -s $NWI1/$NMI1 -j SNAT --to $_IPEX                                     #
#       Quando o ip externo e dinamico ao inves de utilizar SNAT devemos utilizar MASQUERADE                            #
#                                                                                                                       #
#              $IPTABLES -t nat -A POSTROUTING -s $NWI1/$NMI1 -o $IFE1 -j MASQUERADE                                   #
#################################################################################
$IPTABLES -t nat -A POSTROUTING -o $_IFEX -s $NWI1/$NMI1 -j SNAT --to $_IPEX
#################################################################################
#                                                                                                                       #
#       REDIRECIONAMENTOS PARA SERVIDORES INTERNOS                                                                      #
#                                                                                                                       #
#       CRIE REDIRECIONAMENTOS QUANDO ESTACOES DA REDE INTERNA OFERECEM ALGUM SERVICO PARA INTERNET                     #
#       EX.: SERVIDOR CAMERAS                                                                                           #
#                                                                                                                       #
#################################################################################
$IPTABLES -t nat -A PREROUTING -p tcp -i $_IFEX --dport 3389 -j DNAT --to 192.168.1.3
$IPTABLES -t nat -A PREROUTING -p tcp -i $_IFEX --dport 3390 -j DNAT --to 192.168.1.4:3389 # NOVO SERVIDOR
#$IPTABLES -t nat -A PREROUTING -p tcp -i $_IFEX --dport 3389 -j DNAT --to 192.168.1.27 # Maiara
$IPTABLES -t nat -A PREROUTING -p tcp -i $_IFEX --dport 5900 -j DNAT --to 192.168.1.21
$IPTABLES -t nat -A PREROUTING -p tcp -i $_IFEX --dport 5800 -j DNAT --to 192.168.1.21
$IPTABLES -t nat -A PREROUTING -p tcp -i $_IFEX --dport 2021 -j DNAT --to 192.168.1.1:21
$IPTABLES -t nat -A PREROUTING -p tcp -i $_IFEX --dport 35051 -j DNAT --to 192.168.1.29 # Mariani
$IPTABLES -t nat -I PREROUTING -i $IFI1 -p tcp --dport 1863 -j REDIRECT --to-port 1863 # MSN-Proxy
done #### FIM FOR
#################################################################
#                                                                                                       #
#       PROXY TRANSPARENTE COM CONECTIVIDADE SOCIAL E SITES QUE NAO FUNCIONAM QUANDO PASSAM PELO PROXY  #
#                                                                                                       #
# Estas regras adicionam redirecionamento de porta para que sites que nao aceitam proxy nao passem      #
# pelo proxy                                                                                            #
# caixa, permite adicionar regras para outros sites que nao aceitam passar por proxy de                 #
#                                                                                                       #
# Para firewall em um host e proxy em outro host utilizar a seguinte regra:                             #
#       $IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp --dport 80 -j DNAT \                       #
#                                               --to-destination "ip proxy":3128                        #
#                                                                                                       #
#################################################################
#$IPTABLES -t nat -A PREROUTING -s $NWI1/$NMI1 -p tcp --dport 80 -j REDIRECT --to-port 8080    #PROXY TRANSP. LINK1
#########################################################################
#
#       FORWARD PACOTES QUE IRAO TRANSITAR PELAS PLACAS DE REDE
#       AQUI IREMOS LIBERAR ACESSOS DOS USUARIOS A PORTAS ESPECIFICAS
#
#       - PARA PORTAS ONDE APENAS A REDE INTERNA TERÁ ACESSO: -i $IFI1
#
#       - PARA PORTAS ONDE A INTERNET E A REDE INTERNA TERAO ACESSO: RETIRE A REGRA "-i $IFI1"
#
#########################################################################
###### DE DENTRO PARA FORA #######
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 80  -j ACCEPT                                 #HTTP
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 22 -j ACCEPT                                  #SSH
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 21 -j ACCEPT                                  #FTP
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 20 -j ACCEPT                                  #FTP ATICO
$IPTABLES -A FORWARD -i $IFI1 -p udp --dport 20 -j ACCEPT                                  #FTP ATIVO
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 443 -j ACCEPT                                 #HTTPS
$IPTABLES -A FORWARD -i $IFI1 -p udp --dport 53 -j ACCEPT                                  #DNS
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 25 -j ACCEPT                                  #SMTP ENTRE REDES
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 143 -j ACCEPT                                 #IMAP ENTRE REDES
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 110 -j ACCEPT                                 #POP ENTRE REDES
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 86 -j ACCEPT                                  #SPEEDY ZONE
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 8017 -j ACCEPT                                #RECEITA
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 3456 -j ACCEPT                                #RECEITA FEDERA
$IPTABLES -A FORWARD -i $IFI1 -p tcp --dport 587 -j ACCEPT
###### INPUT
##Vpn Pptp##############################################
$IPTABLES -A INPUT -p tcp --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p 47 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.0.0/16 -d 192.168.0.0/16 ACCEPT
########################################################
$IPTABLES -A INPUT -i lo -j ACCEPT                                                      #LOOPBACK LIBERADO
$IPTABLES -A INPUT -i $IFI1 -m pkttype --pkt-type broadcast -j ACCEPT                   #LIBERA BROADCAST P/ SAMBA
$IPTABLES -A INPUT -p tcp --dport 80  -j ACCEPT                                         #HTTP
$IPTABLES -A INPUT -p tcp --dport 443 -j ACCEPT                                         #HTTPS
$IPTABLES -A INPUT -p tcp --dport 22  -j ACCEPT                                         #SSH
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 5666  -j ACCEPT                              #NRPE/NAGIOS
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 25  -j ACCEPT                                #SMTP
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 143 -j ACCEPT                                #IMAP
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 110 -j ACCEPT                                #POP
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 21  -j ACCEPT                                #FTP
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 20  -j ACCEPT                                #FTP
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 139 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p udp --dport 139 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 138 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p udp --dport 138 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 137 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p udp --dport 137 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 445 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p udp --dport 445 -j ACCEPT                                #SAMBA ACESSO INTERNO
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 8080 -j ACCEPT                               #DANSGUARDIAN
$IPTABLES -A INPUT -i $IFI1 -p udp --dport 53 -j ACCEPT                                 #CONSULTA DNS INTERNO
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 3306 -j ACCEPT                               #MYSQL
$IPTABLES -A INPUT -i $IFI1 -p tcp --dport 1863 -j ACCEPT                               #MSN-PROXY
$IPTABLES -A INPUT -i $IFI1 -p tcp -m multiport --dports 25000:30000 -j ACCEPT          #MSN_PROXY
$IPTABLES -A INPUT -p tcp --dport 10000 -j ACCEPT                                       #WEBMIN
$IPTABLES -A INPUT -m limit --limit 5/s -p icmp --icmp-type 3 -j ACCEPT                 #LIBERANDO ICMP
$IPTABLES -A INPUT -j LOG --log-prefix 'DROP INPUT ' --log-level 7                      #LOG DROP INPUT
$IPTABLES -A INPUT -i $IFI1 -p udp --dport 8070 -j ACCEPT                               #ASSISTIR PALESTRA ON-LINE
$IPTABLES -A INPUT -i $IFI1 -p udp --dport 1935 -j ACCEPT                               #ASSISTIR PALESTRA ON-LINE
Projeto Root - Servidor de DHCP
Acertando o relógio do sistema via http e DNS
Forçando sites HTTPS a passar fora do Squid 3
Como desativar o IPv6 no Debian 8
Módulo de segurança do Banco do Brasil (Linux Mint)
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









