Pular para o conteúdo

Iptables (rc.firewall)

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.
Perfil removido removido
Hits: 17.168 Categoria: Segurança
  • Download
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Download rc.firewall
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/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 ]"
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

WMaker (Green)

Squid (squid.conf)

Conky (Conky caça palavras)

apt-get (sources.list)

Proxy/Squid (squid.conf)

Squid (squid.conf)

Squid (squid.conf)

syslog (syslog.conf)

squid (squid.conf)

Firewall (iptables) (firewall)

#1 Comentário enviado por lacierdias em 07/05/2004 - 11:32h
mandou bem....
#2 Comentário enviado por removido em 07/05/2004 - 19:55h
Thanks! ;)
Só uma coisa que eu esqueci, caso o seu servidor não tenha nenhum serviço que precise ser acessado externamente, tipo Apache, FTP, etc... na cadeia INPUT você não precisa usar sockets NEW. O resto ta certinho!
#3 Comentário enviado por marcosvalente em 14/06/2004 - 04:19h
BOM CARA
#4 Comentário enviado por removido em 20/03/2005 - 02:22h
Olá virtualboy,

Eu achei esse script bastante interessante mas estou precisando implementar mais duas regras o Receitanet e o conectividade social por acaso alguém já fez isso ?

Abraços !
#5 Comentário enviado por oinuj em 30/10/2006 - 15:08h
Cara eu tenho um serviço que tenho que acessar externamente, um serviçlo online que esta dentro da minha sub-rede2 como faço para liberar caminho para esse pc no firewall?
#6 Comentário enviado por lipecys em 26/09/2007 - 16:02h
Valew...........
#7 Comentário enviado por andriopj em 08/03/2009 - 14:57h
caro "master foca"
para liberar a conectividade social, faco isso junto com o redirecionamento para o squid, ficando assim:

# # Proxy Transpatent
iptables -t nat -A PREROUTING -s 172.167.0.0/24 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i 172.167.0.0/24 -p udp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128


ou seja, todo o trafego tcp, udp... que nao passe pelas ip 200.201.174.207, e seja porta 80 (http) sera redirecionado para a porta do squid 3128
#8 Comentário enviado por ratafonso em 21/03/2009 - 12:25h
O Conectividade Social já está funcionando.

Gostaria de saber qual regra usar para o Receita.net funcionar no Firewall (iptables).

uso Ubuntu Server 8.04

Aguardo resposta.

Contribuir com comentário

Entre na sua conta para comentar.