Problema com iptables no Squeeze

1. Problema com iptables no Squeeze

Thiago Vasconcelos
thiagovcf

(usa Debian)

Enviado em 30/01/2013 - 16:33h

Bom pessoal.
Já verifiquei em vários tópicos assuntos relacionados ao meu caso, mas nenhum no meu ver teve uma solução para minha problemática.

Tinha um firewall com o debian 5 em meu servidor.

Fiz a minha migração para o Debian 6.

Ocorreu o seguinte problema.

Quando eu startar o iptables
/etc/init.d/compartilhar start

acontecia o seguinte erro.
Mensagem de erro:


Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`)


Fui a procura desse erro e encontrei a solução em outro topico.

Solução:
Erro:
esta assim:

iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 8.8.8.8/8 --dport 80 -j REDIRECT --to-port 3128

Correto:

iptables -t nat -A PREROUTING -i eth1 -p tcp ! -d 8.8.8.8/8 --dport 80 -j REDIRECT --to-port 3128

===============================
Esse problema foi resolvido, só o firewall ainda não esta funcionando.
Uso o squid e o mesmo ta funcionando filé, é só colocar o proxy e a porta que pega com autenticação.

Só que tem algumas maquina que devem ficar no nat e não precisará passar pelo squid.

Vejam o meu /etc/init.d/compartilhar
#!/bin/sh

#interface da Internet:
ifinternet="eth0"

#Interface de rede local:
iflocal="eth1"

iniciar(){
modprobe iptable_nat
#compartilhando a conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE

iptables -t nat -A PREROUTING -i $iflocal -s 10.100.3.150 -j ACCEPT #Ip Maquina Pedro
iptables -t nat -A PREROUTING -i $iflocal -s 10.100.3.86 -j ACCEPT #IP Caio

iptables -t nat -A PREROUTING -i $ifinternet -p tcp -m tcp --dport 3690 -j DNAT --to- 10.100.3.1:3690

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#obriga a passar pelo servidor proxy
iptables -t nat -A PREROUTING -p tcp -s 10.100.3.0/24 --dport 80 -j DNAT --to-destination 10.100.3.1:80
iptables -A INPUT -p tcp ! -s 10.100.3.0/24 --dport 3128 -j REJECT

#Ignora Pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -i $iflocal -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
}
parar(){
iptables -F
iptables -F -t nat
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac



Eu só quero que a maquina de Pedro, tenha acesso full.

iptables -t nat -A PREROUTING -i $iflocal -s 10.100.3.150 -j ACCEPT #Ip Maquina Pedro


  


2. Re: Problema com iptables no Squeeze

Carlos A. P. Cunha
Carlos_Cunha

(usa Linux Mint)

Enviado em 30/01/2013 - 20:35h

Qual o problema a final??
Se for so para o fulan acessar a net sem o proxy

faça a sua regra de prerouting e um de forward, o mais correto e usar as portas 80 e 443 para ter certeza que é e so navegação....


3. Re: Problema com iptables no Squeeze

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 30/01/2013 - 22:24h

Ante da regra que direciona para o squid habilite o Forward e faça um masquerade para o IP do pedro:

iptables -A FORWARD -s IPdopedro -j ACCEPT
ptables -A POSTROUTING -t nat -s IPdopedro -o eth0 -j MASQUERADE


a eth0 é a placa de rede local


4. Re: Problema com iptables no Squeeze

Thiago Vasconcelos
thiagovcf

(usa Debian)

Enviado em 31/01/2013 - 16:11h

Nada ainda.

Coloquei essa regra:


iptables -A FORWARD -s 10.100.3.233 -j ACCEPT
iptables -A POSTROUTING -t nat -s 10.100.3.233 -o $iflocal -j MASQUERADE


Onde $iflocal é = eth1 - rede local.

Coloquei também essa regra

iptables -t nat -A PREROUTING -s 10.100.3.233 -p tcp --dport 80 -j ACCEPT;


e todas essas regras ficaram em cima do


#obriga a passar pelo servidor proxy
iptables -t nat -A PREROUTING -p tcp -s 10.100.3.0/24 --dport 80 -j DNAT --to-destination 10.100.3.1:80
iptables -A INPUT -p tcp ! -s 10.100.3.0/24 --dport 3128 -j REJECT



OBS.: Eu só quero liberar o ip de alguns computadores/celulares para que tenham acesso full, e não precise colocar o proxy em suas configurações.


DESDE JÁ, AGRADEÇO A AJUDA EM QUE VOCÊS ESTÃO ME DANDO. VALEU!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts