Paulo2 escreveu:Olá doidopb , o squid.conf é montado pelo "/etc/rc.d/pkgs/rc.squid" se a opção "Desabilitar criação squid.conf" for "Não"
É isso? se a opção for "sim" não sei como fica o squiq.conf
Veja da linha "##Start auto-config squid.conf" até "### End auto-config squid.conf ###"
nesse bloco são lidos todos os arquivos preenchidos pela página do Squid no webadmin.
O arquivo dos ips não redirecionados deve ser "/usr/local/squid/etc/ipaccess.no"
já que o "/usr/local/squid/etc/ipaccess.yes" contém as redes para o squid
edit - acls por horário, veja "tipos de acl" http://www.squid-cache.org.br/index.php?option=com_content&task=view&id=82&Itemid=27
Paulo2 escreveu:/usr/local/squid/etc/transp.no
edit - não é o rc.squid
brazilfw# grep -n 'transp\.no' /etc/rc.d/pkgs/*
/etc/rc.d/pkgs/lu.squid:20: done < $ETC/transp.no
/etc/rc.d/pkgs/lu.squid:41: done < $ETC/transp.no
Espero que seja esse mesmo, se não for então não sei de onde vem o negócio
TRANSPARENT () {
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j tproxy
if [ "$SQUID_POLICY" = "ALL" ] ; then
#Treats exception list: IPs that will NOT be forwarded
while read IPAD; do
$IPTABLES -t nat -A tproxy -s $IPAD -j RETURN
echo "Not forwarding the IP $IPAD"
done < $ETC/transp.no
Paulo2 escreveu:O lu.squid insere as regras no firewall.
- Código: Selecionar todos
TRANSPARENT () {
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j tproxy
if [ "$SQUID_POLICY" = "ALL" ] ; then
#Treats exception list: IPs that will NOT be forwarded
while read IPAD; do
$IPTABLES -t nat -A tproxy -s $IPAD -j RETURN
echo "Not forwarding the IP $IPAD"
done < $ETC/transp.no
A regra do iptables pra lista de exceções no proxy autenticado é diferente, dá uma olhada lá.
O lu.squid é chamado pelo rc.squid, o negócio é ir seguindo o caminho
brazilfw# grep -n 'lu\.squid' /etc/rc.d/pkgs/*
/etc/rc.d/pkgs/lu.squid:3:# lu.squid - Adds redirect rule to allow transparent proxy for Squid
/etc/rc.d/pkgs/rc.squid:30: /etc/rc.d/pkgs/lu.squid stop
/etc/rc.d/pkgs/rc.squid:166: /etc/rc.d/pkgs/lu.squid
NOT_TRANSPARENT () {
if [ "$SQUID_POLICY" = "ALL" ] ; then
#Treats exception list: IPs that will NOT be blocking
while read IPAD; do
$IPTABLES -A aproxy -s $IPAD -j RETURN
echo "Not blocking the IP $IPAD"
done < $ETC/transp.no
#Finaly blocking everybody
while read NETAD; do
$IPTABLES -A aproxy -s $NETAD -j REJECT
echo "Blocking net $NETAD"
done < $ETC/ipaccess.yes
else
#Treats exception list: IPs that WILL be blocking
while read IPAD; do
$IPTABLES -A aproxy -s $IPAD -j REJECT
echo "Blocking the IP $IPAD"
done < $ETC/transp.yes
fi
}
RETURN all -- 10.1.1.100 anywhere
RETURN all -- 10.1.1.101 anywhere
RETURN all -- 10.1.1.102 anywhere
RETURN all -- 10.1.1.103 anywhere
RETURN all -- 10.1.1.104 anywhere
RETURN all -- 10.1.1.105 anywhere
RETURN all -- 10.1.1.106 anywhere
RETURN all -- 10.1.1.107 anywhere
RETURN all -- 10.1.1.108 anywhere
RETURN all -- 10.1.1.109 anywhere
RETURN all -- 10.1.1.110 anywhere
RETURN all -- 10.1.1.201 anywhere
#Finaly blocking everybody
while read NETAD; do
$IPTABLES -A aproxy -s $NETAD -j REJECT
echo "Blocking net $NETAD"
done < $ETC/ipaccess.yes
REJECT all -- 10.1.1.0/24 anywhere reject-with icmp-port-unreachable
echo "Flush all old rules or create the chain if it is the first time"
$IPTABLES -t nat -D PREROUTING -p tcp --dport 80 -j tproxy 2> /dev/null
$IPTABLES -t nat -F tproxy 2> /dev/null
[ $? != 0 ] && $IPTABLES -t nat -N tproxy
$IPTABLES -D FORWARD -p tcp --dport 80 -j aproxy 2> /dev/null
$IPTABLES -F aproxy 2> /dev/null
[ $? != 0 ] && $IPTABLES -N aproxy
Paulo2 escreveu:Como o Squid é manual, pelo que eu entendi a função que o lu.squid executa é essa.
- Código: Selecionar todos
NOT_TRANSPARENT () {
if [ "$SQUID_POLICY" = "ALL" ] ; then
#Treats exception list: IPs that will NOT be blocking
while read IPAD; do
$IPTABLES -A aproxy -s $IPAD -j RETURN
echo "Not blocking the IP $IPAD"
done < $ETC/transp.no
#Finaly blocking everybody
while read NETAD; do
$IPTABLES -A aproxy -s $NETAD -j REJECT
echo "Blocking net $NETAD"
done < $ETC/ipaccess.yes
else
#Treats exception list: IPs that WILL be blocking
while read IPAD; do
$IPTABLES -A aproxy -s $IPAD -j REJECT
echo "Blocking the IP $IPAD"
done < $ETC/transp.yes
fi
}
Abaixo dessa linha "#Treats exception list: IPs that will NOT be blocking" ,
o while lê as linhas do transp.no e aplica a regra $IPTABLES -A aproxy -s $IPAD -j RETURN
essas regras no teu caso são esses ips que não precisam configurar o proxy no navegador,
é isso mesmo? Pergunto porque não tenho certeza se é isso que acontece
- Código: Selecionar todos
RETURN all -- 10.1.1.100 anywhere
RETURN all -- 10.1.1.101 anywhere
RETURN all -- 10.1.1.102 anywhere
RETURN all -- 10.1.1.103 anywhere
RETURN all -- 10.1.1.104 anywhere
RETURN all -- 10.1.1.105 anywhere
RETURN all -- 10.1.1.106 anywhere
RETURN all -- 10.1.1.107 anywhere
RETURN all -- 10.1.1.108 anywhere
RETURN all -- 10.1.1.109 anywhere
RETURN all -- 10.1.1.110 anywhere
RETURN all -- 10.1.1.201 anywhere
e esse while aplica a regra que faz passar a rede no Squid. Qualquer ip dessa rede
que não estiver nas regras acima precisam configurar o proxy no navegador, é isso mesmo?
- Código: Selecionar todos
#Finaly blocking everybody
while read NETAD; do
$IPTABLES -A aproxy -s $NETAD -j REJECT
echo "Blocking net $NETAD"
done < $ETC/ipaccess.yes
- Código: Selecionar todos
REJECT all -- 10.1.1.0/24 anywhere reject-with icmp-port-unreachable
Essas chains do usuário são criadas nesse bloco do lu.squid
- Código: Selecionar todos
echo "Flush all old rules or create the chain if it is the first time"
$IPTABLES -t nat -D PREROUTING -p tcp --dport 80 -j tproxy 2> /dev/null
$IPTABLES -t nat -F tproxy 2> /dev/null
[ $? != 0 ] && $IPTABLES -t nat -N tproxy
$IPTABLES -D FORWARD -p tcp --dport 80 -j aproxy 2> /dev/null
$IPTABLES -F aproxy 2> /dev/null
[ $? != 0 ] && $IPTABLES -N aproxy
tproxy (na tabela nat) se for transparente e aproxy (na tabela filter) se for manual ou algum tipo de autenticado.
Acho que é isso tem o rc.squid também, tem que ver o que ele faz.
Mas não entendi a tua dúvida, se vc quer enquadrar a rede toda no Squid manual e os ips da diretoria
são aqueles com RETURN então a tua configuração está certa, ou não está funcionando como esperado?
Os ips RETURN não precisam configurar proxy no navegador, todos os outros da rede 10.1.1.0/24 precisam.
doidopb escreveu:Falai Paulo, blz??? Antes de mais nada, quero te agradecer cara, pois você tá sempre ai a disposição.
doidopb escreveu:3º - A minha dúvida é a seguinte: mandei a minha saída do iptables, qual a linha do mesmo que diz que o ip, por exemplo, 10.1.1.100 não deve passar pelo squid???
doidopb escreveu:Meu proxy é manual, portanto não existe o redirecionamento para o squid.
Paulo2 escreveu:doidopb escreveu:Falai Paulo, blz??? Antes de mais nada, quero te agradecer cara, pois você tá sempre ai a disposição.
Estamos aí pra isso na medida do possíveldoidopb escreveu:3º - A minha dúvida é a seguinte: mandei a minha saída do iptables, qual a linha do mesmo que diz que o ip, por exemplo, 10.1.1.100 não deve passar pelo squid???
Essa linha "RETURN all -- 10.1.1.100 anywhere"doidopb escreveu:Meu proxy é manual, portanto não existe o redirecionamento para o squid.
Não é melhor vc usar o modo transparente? Assim não precisa configurar nada nas estações.
O modo manual e autenticado acho que tem o problema de o cara dar uma de esperto e mudar a configuração
do navegador, daí não passa mais pelo Squid.
doidopb escreveu:Aqui para mim é melhor manual, pois no modo manual ocorre o bloqueio das páginas seguras (https), e pelo transparente tenho que fazer isso no iptables.
doidopb escreveu:Quanto ao cara dar uma de esperto, se ele fizer isso ele não navega, lembra?!?!? Nós mesmos concordamos com isso e como bem me mostrou a seguinte linha o impede:
REJECT all -- 10.1.1.0/24 anywhere reject-with icmp-port-unreachable
doidopb escreveu:Agora para fecharmos com chave de outro, como te falei eu estou "fraco" no iptables. Gostaria que me ajudasse a decifrar tais linhas. Por exemplo, a linha acima como falou, obriga o resto da rede a usar o squid, na minha tradução seria o seguinte:
target prot opt source destination
REJECT all -- 10.1.1.0/24 anywhere reject-with icmp-port-unreachable
Tradução: Rejeitar todos os protocolos de origem da rede 10.1.1.0/24 com qualquer destino retornando a mensagem de erro icmp-port-unreachable. Dessa forma tenho que usar o proxy para fazer a comunicação nesses ips que não estão livres do mesmo. Seria isso??? Se sim, qual a linha que libera o próprio PROXY a se comunicar e fazer essa ponte????
target prot opt source destination
RETURN all -- 10.1.1.100 anywhere
Quanto a essa linha, como seria a tradução da mesma, similar a que fiz lá em cima??? Não lembro qual a função desse alvo RETURN
Abraços amigo
Paulo2 escreveu:doidopb escreveu:Aqui para mim é melhor manual, pois no modo manual ocorre o bloqueio das páginas seguras (https), e pelo transparente tenho que fazer isso no iptables.
Entendi, realmente o transparente não pega https, tem que fazer o esquema de lista branca de https no iptables.doidopb escreveu:Quanto ao cara dar uma de esperto, se ele fizer isso ele não navega, lembra?!?!? Nós mesmos concordamos com isso e como bem me mostrou a seguinte linha o impede:
REJECT all -- 10.1.1.0/24 anywhere reject-with icmp-port-unreachable
Deveria impedir mas não sei se impede totalmente.
Aqui no meu BFW os navegadores passam fora do Squid se mudar a configuração de proxy,
mas pode ter alguma regra esquecida no meu firewall aqui interagindo com o Squid.
Até o autenticado local navega fora do Squid, as páginas não ficam perfeitas, mas dá
pra navegar.
Tem essa explicação no tutorial do Squid também, diz que é possível burlar o proxy
http://www.brazilfw.com.br/forum/viewtopic.php?f=39&t=67300&start=0&st=0&sk=t&sd=a#p158200
"Modo Manual
Este método, algumas vezes torna-se um tanto que trabalhoso, pois há a necessidade de também configurar as máquinas dos usuários que deverão passar pelo proxy... então quanto mais máquinas de usuários, maior o trabalho. A configuração nos usuários é feita no browser e a contra-partida é que usuários mais experientes (aquele safadinho mais esperto) pode desabilitar o proxy da maquina, ficando livre do controle do proxy."doidopb escreveu:Agora para fecharmos com chave de outro, como te falei eu estou "fraco" no iptables. Gostaria que me ajudasse a decifrar tais linhas. Por exemplo, a linha acima como falou, obriga o resto da rede a usar o squid, na minha tradução seria o seguinte:
target prot opt source destination
REJECT all -- 10.1.1.0/24 anywhere reject-with icmp-port-unreachable
Tradução: Rejeitar todos os protocolos de origem da rede 10.1.1.0/24 com qualquer destino retornando a mensagem de erro icmp-port-unreachable. Dessa forma tenho que usar o proxy para fazer a comunicação nesses ips que não estão livres do mesmo. Seria isso??? Se sim, qual a linha que libera o próprio PROXY a se comunicar e fazer essa ponte????
target prot opt source destination
RETURN all -- 10.1.1.100 anywhere
Quanto a essa linha, como seria a tradução da mesma, similar a que fiz lá em cima??? Não lembro qual a função desse alvo RETURN
Abraços amigo
É isso mesmo, traduziu certo na verdade meu iptables também é fraco o RETURN ainda não entendi direito como funciona.
Acho que a chain aproxy por si só não faz nada, mas ela é incluída na chain FORWARD, daí fica efetiva.
Abraços
Voltar para BrazilFW 2.x - Ajuda em Geral (Todas as Línguas)
Usuários navegando neste fórum: Nenhum usuário registrado e 30 visitantes