-
Desafio Squid + Iptables
Tenho aqui na empresa um servidor Linux rodando Red Hat 7.3 e uma rede Windows porém o servidor funciona como proxy para esta rede um proxy transparente que fiz baseado no tutorial "Squid Ninja", mas estou encontrando um sério problema, as estações navegam normalmente na internet mesmo sem regras de iptables, é como se as estações (todas Windows XP) estivessem conectadas diretamente, sem passar pelo servidor, isso só não é possivel quando paro o squid, já limpei o cache e tudo mais, as páginas de erros no squid só aparecem quando efetuo as configurações de proxy no navegador, estou usando um script de iptables assim.
#!/bin/bash
echo 1 >/proc/sys/net/ipv4/ip_forward
modprobe ip_conntrack
modprobe ipt_MASQUERADE
modprobe ipt_LOG
modprobe iptable_nat
modprobe ip_conntrack_ftp
iptables -F
iptables -Z
iptables -t nat -F
iptables -t filter -P FORWARD DROP
iptables -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT
iptables -t filter -A INPUT -i eth1 -m state --state NEW -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -d 0/0 -s 192.168.10.0/24 -o eth0 -j ACCEPT
iptables -t filter -A FORWARD -d 192.168.10.0/24 -s 0/0 -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t filter -A INPUT -s 192.168.10.0/24 -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -s 192.168.10.0/24 -d 0/0 -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -s 192.168.10.0/24 -d 0/0 -j ACCEPT
No squid está habilitado
http_access allow rede_interna
httpd_accel_host virtual
httpd_accell_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Gostaria de saber se alguem ja enfrentou algo parecido e se podem me ajudar.
Obrigado desde já.
-
Desafio Squid + Iptables
Fala ae...
Pode estar ocorrendo impasse de processamento nas suas regras.
Você realmente precisa de todas aquelas regras no seu script, ou apenas copiou?
Na minha rede eu uso a seguinte regra para direcionar o acesso http:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --
to-port 3128
Note que estou discriminando a origem...
Espero ter ajudado.
[]´s
-
Desafio Squid + Iptables
Retirei todas as regras e inseri somente a regra acima mas não adiantou não, está a mesma coisa.
-
Desafio Squid + Iptables
tenta isso:
IPTABLES=/usr/sbin/iptables
ANY="0/0"
#rede interna
INET="192.168.0.0"
#mascara interna
IMASK="255.255.255.0"
# IP interno do servidor
IIP="192.168.0.100"
#IP externo
OIP="200.XXX.XXX.XXX"
# interface interna
IIF="eth1"
$IPTABLES -t nat -A POSTROUTING -o $IIF -j MASQUERADE
#####################################################
# Redireciona requisicoes de HTTP para o SQUID
$IPTABLES -t nat -A PREROUTING -s $INET/$IMASK -p tcp --dport 80 -j REDIRECT --to-port 3128
#####################################################
# Altera endereço de origem para o endereço real
$IPTABLES -t nat -A POSTROUTING -s $IIP/$IMASK -j SNAT --to $OIP
<IMG SRC="images/forum/smilies/icon_biggrin.gif">
-
Desafio Squid + Iptables
Ola,
Não sou muito experiente, mas acho que vc tirou cisa demais. tente este script, comigo funcionou legal.
#!/bin/sh
#..
/sbin/depmod -a
modprobe iptable_nat
#Regras
#Mascara todos os pacotes que sairem pela eth0 ( internet )
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
OBS: lenbre de trocar a gama de IP da regra pelo da sua rede.