Script Firewall Iptables + compartilhar internet
Publicado por Eduardo 20/05/2005
[ Hits: 24.252 ]
Criei esse script (simples) para ajudar a quem estar iniciando no iptables. Bem simples mesmo, porém muito funcional. No mais era isso.
#/bin/bash -x #Por Eduardo (tr0p1x) #Firewallzinho escrito em um par de minutos. Parto do presuposto que o firewall seja uma maquina usada normalmente (desktop) #por isso o fato do estado da conexao NEW na OUTPUT. Podemos liberar somente servicos especificos, mas dae eh muito trabalho. #Qq coisa postem ae duvidas, sugestoes, xingamentos, coisa do tipo q na medida do possivel eu respondo hehehehe. #Nao tem linhas para LOG de conexoes e coisa do tipo. #Compartilha internet, soh configurem certo os ips da rede interna e as interfaces de rede. IPTABLES=/sbin/iptables modprobe ip_conntrack modprobe ip_tables modprobe ipt_MASQUERADE modprobe ipt_state modprobe iptable_nat modprobe ipt_LOG modprobe ipt_REJECT #desligando forward echo 0 > /proc/sys/net/ipv4/ip_forward #limpando tabela NAT $IPTABLES -t nat -F $IPTABLES -t nat -X $IPTABLES -t nat -Z $IPTABLES -t nat -F POSTROUTING $IPTABLES -t nat -F PREROUTING #limpando regras $IPTABLES -F INPUT $IPTABLES -F OUTPUT $IPTABLES -F FORWARD #setando polihticas $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP #impedindo alteracao de rotas echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects #prot contra responses bogus echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses #prot contra syn-flood echo 1 > /proc/sys/net/ipv4/tcp_syncookies #contra traceroute echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route #contra ip spoofing echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter #--------INPUT-------- $IPTABLES -A INPUT -i lo -s 127.0.0.1/8 -d 127.0.0.1/8 -j ACCEPT $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -m state --state INVALID -j DROP #--------OUTPUT------- $IPTABLES -A OUTPUT -o lo -s 127.0.0.1/8 -d 127.0.0.1/8 -j ACCEPT $IPTABLES -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -m state --state INVALID -j DROP #------FORWARD-------- $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -m state --state INVALID -j DROP $IPTABLES -A FORWARD -i eth1 -s 192.168.0.0/24 -o eth0 -j ACCEPT #--------NAT---------- $IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE #habilitando forward echo 1 > /proc/sys/net/ipv4/ip_forward echo "Firewall Startado com Sucesso" exit 0
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - RESUMO DE MSGS COM VIRUS
Criando vários usuários no LDAP a partir de um arquivo
ADMINISTRANDO USUARIOS COM XDIALOG
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
Vou voltar moderar conteúdos de Dicas e Artigos (1)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (3)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[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