Iptables (rc.firewall)
Iptables com opções de proxy transparente.
Categoria: Segurança
Software: Iptables
[ Hits: 16.993 ]
Por: Perfil removido
Iptables com proxy tarnsparente e internet para a rede local liberada! Yeah! :)
Para este script o seu "servidor" deve ter na eth0 sua interface de internet e na eth1 a conexão com a rede local. Além disso deve estar rodando o squid na porta padrão (3128). O squid vai controlar apenas as conexões para HTTP, mas se você quiser usar para o FTP também, basta configurar o squid e adicionar uma linha de redirecionamento da porta 21 para 3128 na cadeia FORWARD.
#!/bin/bash # Script de Firewall ##################################### ### Passo 1: Primeiro vamos arrumar a casa :) ### ##################################### # Limpando as Regras iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD # Definindo a Politica Default das Cadeias iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP ###################################### ### Passo 2: Antes de Servir, vamos nos proteger ! ### ###################################### # Desabilitando o trafego IP Entre as Placas de Rede echo "0" > /proc/sys/net/ipv4/ip_forward # Configurando a Protecao anti-spoofing echo "Setting anti-spoofing .....[ OK ]" for spoofing in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "1" > $spoofing done ####################################### ### Passo 3: Carregando os modulos do iptables ### ####################################### modprobe ip_tables modprobe iptable_filter modprobe iptable_mangle modprobe iptable_nat modprobe ipt_MASQUERADE echo "Setting rules .............[ OK ]" ####################################### ### Passo 4: Agora, vamos definir o que pode passar e o que nao ### ####################################### # Cadeia de Entrada. Esta cadeia, so vale para o proprio host # Qualquer pacote IP que venha do localhost, Ok. iptables -A INPUT -i lo -j ACCEPT # REDE INTERNA LIBERADA iptables -A INPUT -i eth1 -j ACCEPT # No iptables, temos de dizer quais sockets sao validos em uma conexao iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT # Cadeia de Reenvio (FORWARD) # Primeiro, ativar o mascaramento (nat). iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Agora dizemos quem e o que podem acessar externamente # No iptables, o controle do acesso a rede externa e feito na cadeia "FORWARD" # Redireciona porta 80 para 3128 (squid) iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 # REDE INTERNA LIBERADA iptables -A FORWARD -i eth1 -j ACCEPT # No iptables, temos de dizer quais sockets sao validos em uma conexao iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT ######################################## ### Finalmente, podemos "Ligar" o foward (clientes) :) ### ######################################## # Habilitando o trafego Ip, entre as Interfaces de rede echo "1" > /proc/sys/net/ipv4/ip_forward echo "Firewall OK ...............[ OK ]"
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
[Resolvido] Hydra launcher sem links de download?
Solução rápida para o problema do Network Manager conectar mas não navegar
Chamadas de variável de uma página para outra no PHP8 (4)
Albfneto. Voltando devagar. (7)
HD externo não mostra arquivos (6)
Equipamentos não ligam com a fonte original - NetMetal5 - OmnTik5 (2)