Squid3 + apache2 redirecionamento de pacotes

1. Squid3 + apache2 redirecionamento de pacotes

Cristiano
Said-Dias

(usa Ubuntu)

Enviado em 26/06/2012 - 00:25h

Boa noite a todos,
É meu primeiro tópico e também sou novato em linux (ubuntu)

Tenho um servidor(ubuntu) aqui na empresa, ja peguei ele rodando , o antigo funcionário de cuidava disso pediu para sair, então peguei o lugar dele.

O servidor executa , apache2, dhcpd, firewall e bind9

nosso firewall bloqueia todas as conexões, quando se tenta acessar a internet o o sistema redireciona o usuário para uma pagina web, nesse site é pedido um usuario e uma senha, se os dados conferem um script (autoriza.sh) é executado liberado o IP para navegar.

O apache esta na porta 80
## /etc/apache2/ports.conf
Listen 80
<IfModule mod_ssl.c>
Listen 443
</IfModule>

esse script libera para acessar a internet
##/var/www/cgi-bin/autoriza.sh
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
. ./config.sh
echo -e "Content-type: text/html\n"
if [ ! "`echo $HTTP_REFERER | grep 'altecnologic.com.br'`" ]; then
echo "`date +%Y-%m-%d\ %H:%M:%S`: $REMOTE_ADDR: referer invalido: $HTTP_REFERER" >> $BDIR/log/autoriza.log
echo "<head><meta http-equiv=\"refresh\" content=\"0;url=$LOGIN\"></head>"
exit
fi
awkcmd="/^$REMOTE_ADDR / { print \$3 }"
mac=`sudo arp -n | awk "$awkcmd"`
bin/sessoes/$REMOTE_ADDR
iptables -t nat -I altecnologic -s $REMOTE_ADDR -j ACCEPT
iptables -I altecnologic -s $REMOTE_ADDR -j ACCEPT
iptables -I altecnologic -d $REMOTE_ADDR -j ACCEPT

Script Firewall

#/etc/firewall.conf
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 0 -m length --length 30:1100 -m limit --limit 4/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 30:1100 -m limit --limit 4/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp --dport 2250 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 22,53,67,80,953 -j ACCEPT
-A INPUT -p udp -m multiport --dports 53,67,80,953 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#
#####################################################################
### Inicio das configuracoes para o ALTECNOLOGIC na tabela filter ###
#####################################################################
#
# Cria a chain ALTECNOLOGIC na tabela filter
-N ALTECNOLOGIC
# Redireciona o resto do FORWARD (trafego entrante e sainte) para ALTECNOLOGIC
-A FORWARD -j ALTECNOLOGIC
# Permite acesso livre ao login.ALTECNOLOGIC.com.br
-A ALTECNOLOGIC -s 187.17.96.84 -j ACCEPT
-A ALTECNOLOGIC -d 187.17.96.84 -j ACCEPT
# Bloqueia o resto
-A ALTECNOLOGIC -j DROP
#############################################################
### Final das configuracoes para o AltecnetCard na filter ###
#############################################################
#
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth2 -j MASQUERADE
##################################################################
### Inicio das configuracoes para o ALTECNOLOGIC na tabela nat ###
##################################################################
#
# Cria a chain ALTECNOLOGIC na tabela nat
-N ALTECNOLOGIC
#
# Redireciona o resto da PREROUTING (trafego sainte) para ALTECNOLOGIC

-A PREROUTING -i eth1 -j ALTECNOLOGIC
# Permite acesso livre ao login.ALTECNOLOGIC.com.br
-A ALTECNETCARD -d 187.17.96.84 -j ACCEPT
# Captura pacotes DNS e HTTP
-A ALTECNOLOGIC -p tcp -m multiport --dports 53,80 -j REDIRECT
-A ALTECNOLOGIC -p udp -m multiport --dports 53,80 -j REDIRECT
-A ALTECNOLOGIC -p tcp --dport 8000 -j REDIRECT --to 80
-A ALTECNOLOGIC -p tcp --dport 8080 -j REDIRECT --to 3128

#################################################################
### Final das configuracoes para o ALTECNOLOGIC na tabela nat ###
#################################################################
#
COMMIT

Ate aqui esta tudo bem o sistema funciona perfeitamente.

Mas preciso colocar o squid para funcinar. Mas ele se recusa a trabalhar junto com esse firewall ou com o apache

Fiz um teste e parei os serviços apache e firewall.
depois dos serviços parados executei esse script
#!/bin/bash

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
echo "Transferindo pacotes para o proxy SQUID..."
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 80

Ai o squid funciona e gera todos os log.
mas mesmo colocando no meu firewall "iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 80" ele nao gera os logs.

Para nao deixar o topico muito longo nao colocar o squid.conf, mas se precisarem eu post aqui.

podem me ajudar?







  


2. Re: Squid3 + apache2 redirecionamento de pacotes

Ivo Becker
ivo.becker

(usa Debian)

Enviado em 26/06/2012 - 11:26h

Você está redicionando errado, tá mandando a 3128 para 80, é o contrário.
Aqui uso assim:
$ipt -t nat -A PREROUTING -s 192.168.x.x/24 -p tcp --dport 80 -j REDIRECT --to-port 3128


3. Re: Squid3 + apache2 redirecionamento de pacotes

Cristiano
said-dias

(usa Ubuntu)

Enviado em 26/06/2012 - 14:08h

O ivo.becker obrigado pela ajuda,

Na verdade eu postei errado ai

Mas hoje irei ver como esta, e já posto o resultado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts