Iptables (rc.firewall)
Iptables com opções de proxy transparente.
Categoria: Segurança
Software: Iptables
[ Hits: 17.031 ]
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 ]"
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)