Squid + proxy transparente + autentificação + SSL

Se você já tentou configurar seu Squid como proxy transparente e com autenticação ao mesmo tempo e nunca conseguiu, chegou a solução! NatACL, um pequeno software, porém muito útil, que faz ambos funcionarem ao mesmo tempo no Squid e que ainda trafega os dados com criptografia SSL, aumentando a segurança na autenticação.

[ Hits: 211.995 ]

Por: Leandro Totino Pereira em 18/09/2006


Introdução



O NatACL é um pequeno software que trabalha junto com o Squid e Iptables para fazer funcionar o método de transparência e autenticação do Squid. Ele opera do seguinte modo:

Ao receber pacotes na porta 80, ele redireciona para a porta do serviço NatACL (porta que você define no arquivo de configuração dele), depois disso o programa faz tudo em conjunto com iptables com dados todos criptografados.

Tudo muito simples e fácil!

Instalação


Para fazemos isso vamos precisar do seguintes softwares:
  • Iptables ou ipfw;
  • MySQL;
  • Squid;
  • NatACL;

Não vou explicar a instalação dos programas iptables, MySQL e Squid, pois no VOL não faltam artigos sobre isso.

Vamos a instalação do NatACL:

Baixe o programa no site:
Se quiser baixar a documentação:
Após baixar o programa, vamos extraí-lo:

# tar -zxvf NatACL.20050311.tar.gz

Depois de extraí-lo entre na pasta e use o comando make:

# cd NatACL.20050311
# make


Quando for executado o comando "make", vem as perguntas para gerar a chave RSA e os certificados. Primeiramente ele vai gerar a chave RSA. Em caso de sucesso aparecerá a seguinte mensagem:

Generating a 1024 bit RSA private key
.................++++++
..............++++++
writing new private key to '/var/NatACL/cert_server.pem'

Agora vamos à pergunta para gerarmos os certificados:

Aqui ele pergunta a sigla de seu país, no meu caso BR. No caso de querer deixar em branco coloque um ".".

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: BR


Aqui ele pergunta seu estado:

State or Province Name (full name) [Some-State]: São Paulo

Aqui ele pergunta sua cidade:

Locality Name (eg, city) []: São Paulo

Aqui ele pergunta Nome da organização:

Organization Name (eg, company) [Internet Widgits Pty Ltd]: Consultoria Datacom

Aqui ele pergunta o nome da unidade da organização:

Organizational Unit Name (eg, section) []: Segurança

Aqui ele pergunta seu nome e e-mail:

Common Name (eg, YOUR name) []: Leandro Totino Pereira
Email Address []: tatototino@hotmail.com

Se nenhum erro ocorrer, vamos mover o banco de dados Mysql.DUMP para a pasta do mysql. Para isso:

# mv Mysql.DUMP /var/lib/mysql

(isso na minha distribuição Slackware)

Agora vamos criar a "database" do NatACL no MySQL:

# mysql -u <usuário administrador do mysql> -p < Mysql.DUMP

Ele vai pedir a senha do usuário do MySQL.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configuração
   3. Dicas
Outros artigos deste autor

Montando e desvendando redes no Linux

SSH completo (passo a passo)

Enganando invasores com Honeyperl

Instalando e configurando o VNC

Leitura recomendada

Instalando e configurando o Squid no Slackware

Servidor Ubuntu 8.04 com proxy autenticado + SARG + Samba + CUPS

Instalando o Videocache no Debian Lenny

Autenticando Squid utilizando MySQL

Tutorial de instalação do Squid no CentOS

  
Comentários
[1] Comentário enviado por erhnamdjinm em 18/09/2006 - 09:00h

Estive procurando na internet mais informações sobre o NatACL, mas não achei nada falando sobre proxy transparente para https. O NatACL faz proxy transparente para páginas https???

[2] Comentário enviado por tatototino em 18/09/2006 - 10:02h

Boa pergunta, dá sim =)

É só adionar uma linha no arquivo de configuração dele, por exemplo como essa:

IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 443 -j DNAT --to-destination [WAN_ADDRESS]:5121"

IPTABLES_PROXY GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 443 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

A primeira regra redireciona para a autentificação.

A segunda regra libera para o endereço do seu gateway.

[3] Comentário enviado por tatototino em 18/09/2006 - 10:07h

Esqueci de explicar como colocar o squid como proxy transparente, para isso adicione essas linhas no seu arquivo de configuração do Squid "squid.conf":

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Peço desculpas a todos que leram esse Artigo.

[4] Comentário enviado por edimilson.gomes em 18/09/2006 - 13:36h

Aki OK...

[5] Comentário enviado por y2h4ck em 18/09/2006 - 20:23h

Muito legal o artigo, parabens :)

[6] Comentário enviado por herloncamargo em 18/09/2006 - 21:17h

Gostaria de saber dos colegas que já usaram o NatACL duas coisas:

1 - quantas máquinas vocês já colocaram simultaneamente sob o NatACL? Quando eu coloco umas 4 ou 5 o processador do roteador vai a 100 %. É um Pentium III 800 MHz com 1 GB de ram.

2 - cohecem algum fórum sobre o NatACL?

[7] Comentário enviado por tatototino em 19/09/2006 - 07:38h

Estranho!
Pois ele só é usado quando alguem tenta acessar a porta 80 sem ter sido autentificado, caso haja a autentificação ele libera a conexão depois disso ele não influi mas em nada.
Será que não é problema no seu servidor proxy, ou no próprio roteador?
Também pode o caso de você não desabilita a Opção de DNS do NatACL, toda a requisição que te m como destino a porta 53, irá para o seu roteador.

[8] Comentário enviado por pcnmota em 19/09/2006 - 09:41h

Caro Tatotino,
Configurei aqui o NatACL normalmente sem maiores problemas, mas ao quando tento acessar ele nao me mostra nem a tela de login. O q pode estar errado?, segue abaixo meu NatACL.conf, lembrando q ja desabilitei o firewall:

# NETWORK CONFIGURATION
#************************************************************************

# LAN_INTERFACE
# Set the network who will have access to this program
# LAN_INTERFACE [interface] [network/class]
# If you have only one lan interface, you may remove one line.
LAN_INTERFACE eth1 192.168.10.0

# WAN_INTERFACE
# Set the output internet address
# WAN_INTERFACE [interface] [local address]
WAN_INTERFACE eth1 192.168.10.1

# NAT_TYPE
# Configure the type of your network nat/firewall
# You can create you own type, just add the respective configuration to the RULE section.
# Default existing configuration:
#IPTABLES_NAT
#IPTABLES_PROXY
#IPFW_NAT
#IPFW_PROXY

NAT_TYPE: IPTABLES_PROXY

#define if you will allow simultaneous users at the same tame
SIMULTANEOUS_LOGON: NO

#If you use Freebsd and IPFW/NATD You must set the NATD port
#NATD_PORT: 31000

#If you use Proxy instead NAT, you must define the PROXY PORT
PROXY_PORT: 301
# MODULE CONFIGURATION
#************************************************************************

# AUTH_UNIX
# Set the expire time and expire method for users using the unix password

# Args: EXPIRE_TIME <Time to live in seconds>
# EXPIRE_PING
# EXPIRE_PINGTIME <Time to live in seconds>
# EXPIRE_POPUP
#
# Ex;
# AUTH_UNIX TYPE EXPIRE_TIME 3600
# or
# AUTH_UNIX TYPE EXPIRE_POPUP
# or
# AUTH_UNIX TYPE EXPIRE_PING
# or both ( ping + time )
# AUTH_UNIX TYPE EXPIRE_PINGTIME 3600

# WARNING: If you use Expire_POPUP, make sure that you have an anti-popup browser disabled.

#AUTH_UNIX TYPE EXPIRE_TIME 3600

#
# AUTH_MYSQL
# Set the configuration to the mysql database
# Args: Mysql_Host Mysql_db Mysql_user Mysql_password
# Ex. AUTH_MYSQL 127.0.0.1 NatACL User "password"
AUTH_MYSQL 127.0.0.1 NatACL root senha

# RULE SECTION
#************************************************************************
# You dont have to alter this part, unless you know what are you doing.
# You can have multiples configuration, even if you dont have a specific firewall. It will not matter.
# Set the NAT_TYPE to your specific rule.

# START RULE - Is executed only once, when NatACL is run.
# INIT RULE - Is executed one time for each LAN_INTERFACE, when NatACL is run.
# GRANT RULE - Is executed when a user logon.
# REVOKE RULE - Is executed when a user expires.


# Rules for Linux IPTABLES_NAT
IPTABLES_NAT START "/sbin/iptables -t nat -F"
IPTABLES_NAT INIT "/sbin/iptables -t nat -I PREROUTING -i eth1 -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"
IPTABLES_NAT INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_NAT GRANT "/sbin/iptables -t nat -I PREROUTING -i eth1 -p tcp -s [CLIENT_ADDRESS] -d 0/0 --dport 80 -j ACCEPT"
IPTABLES_NAT GRANT "/sbin/iptables -t nat -I POSTROUTING -p tcp -s [CLIENT_ADDRESS] -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_NAT REVOKE "/sbin/iptables -t nat -D PREROUTING -i eth1 -p tcp -s [CLIENT_ADDRESS] -d 0/0 --dport 80 -j ACCEPT"
IPTABLES_NAT REVOKE "/sbin/iptables -t nat -D POSTROUTING -p tcp -s [CLIENT_ADDRESS] -j SNAT --to-source [WAN_ADDRESS]"

# Rules for Linux IPTABLES_PROXY
IPTABLES_PROXY START "/sbin/iptables -t nat -F"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i eth1 -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_PROXY GRANT "/sbin/iptables -t nat -I PREROUTING -i eth1 -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"
IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i eth1 -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

# Rules for Freebsd IPFW_NAT
#IPFW_NAT START "ipfw del 8"
#IPFW_NAT START "ipfw del 9"
#IPFW_NAT START "ipfw del 10"
#IPFW_NAT INIT "ipfw add 10 fwd 127.0.0.1,5121 tcp from [LAN_INTERFACE] to any 80"
#IPFW_NAT INIT "ipfw add 10 fwd 127.0.0.1,5122 tcp from [LAN_INTERFACE] to any 5122"
#IPFW_NAT GRANT "ipfw add 8 divert [NATD_PORT] ip from [CLIENT_ADDRESS] to any out xmit [WAN_INTERFACE] "
#IPFW_NAT GRANT "ipfw add 9 skipto 11 all from [CLIENT_ADDRESS] to any"
#IPFW_NAT REVOKE "ipfw del 8 divert [NATD_PORT] ip from [CLIENT_ADDRESS] to any out xmit [WAN_INTERFACE] "
#IPFW_NAT REVOKE "ipfw del 9 skipto 11 all from [CLIENT_ADDRESS] to any"

# Rules for Freebsd IPFW_PROXY - PROXY PORT
#IPFW_PROXY START "ipfw del 8"
#IPFW_PROXY START "ipfw del 9"
#IPFW_PROXY START "ipfw del 10"
#IPFW_PROXY INIT "ipfw add 10 fwd 127.0.0.1,5121 tcp from [LAN_INTERFACE] to any 80"
#IPFW_PROXY INIT "ipfw add 10 fwd 127.0.0.1,5122 tcp from [LAN_INTERFACE] to any 5122"
#IPFW_PROXY GRANT "ipfw add 8 fwd 127.0.0.1:[PROXY_PORT] tcp from [CLIENT_ADDRESS] to any 80"
#IPFW_PROXY GRANT "ipfw add 9 skipto 11 all from [CLIENT_ADDRESS] to any"
#IPFW_PROXY REVOKE "ipfw del 8 fwd 127.0.0.1:[PROXY_PORT] tcp from [CLIENT_ADDRESS] to any 80"
#IPFW_PROXY REVOKE "ipfw del 9 skipto 11 all from [CLIENT_ADDRESS] to any"

Lembrando q meu squid roda na porta 301 e tentei usando regra de redirecionamento e sem ela tambem e nada..

Obrigado!!!

[9] Comentário enviado por tatototino em 19/09/2006 - 10:53h

Tente colocar na variável LAN_INTERFACE a mascara de sua rede, por exemplo:

192.168.10.0/24 ou 192.168.10.0/255.255.255.0

Verifique na variavel AUTH_MYSQL se se usuario e senha do mysql estão certos

AUTH_MYSQL 127.0.0.1 NatACL root senha

Pelo que vi na sua configuração você não trocou!

Caso não seja isso, verifique nos arquivos de logs do seu sistema se aparece alguma mensagem!

[10] Comentário enviado por pcnmota em 19/09/2006 - 11:26h

Amigo, eu vou tentar o lance da LAN_INTERFACE, mas so para exclarecer no AUTH_MYSQL 127.0.0.1 NatACL root senha, eu coloquei assim so pra exemplo no meu arquivo aqui esta com a senha .

Valew..tentarei.

[11] Comentário enviado por tianguapontocom em 21/09/2006 - 03:57h

meu fire tem muita coisa, e nao queria deixar ele de mao, teria como eu usar esse sistema sem deixar de usar meu fire?
como posso fazer isso?
desde ja grato

[12] Comentário enviado por tatototino em 21/09/2006 - 06:36h

Tem que saber se seu firewall vai bloquear o NatACL, se seu firewall não ter nehuma regra bloqueando o NatACL irá funcionar perfeitamente, se houver alguma regra bloqueando é só arrumar a regra para aceitar o NatACL que só usa uma porta para gerenciar, a porta do seu servidor proxy e a porta 80 para liberar a conexão!

[13] Comentário enviado por balani em 21/09/2006 - 17:05h

Legal e bem util seu artigo, vlw

[14] Comentário enviado por leo_mineiro em 21/09/2006 - 17:48h

Boa tarde pessoal

Por favor, alguém sabe como faço para deslogar uma seção iniciada com o NatACL?

Pra ser mais claro: segui o tutorial e funcionou bem (parabéns ao tatototino), o problema é que uma vez autenticado, só faz logout assim que reinicio o servidor.

Eu gostaria de saber, por favor, se alguém já teve esse problema e se tem como resolver. Seria legal se ficasse como a atenticação do nsca_auth, que ao fechar o navegador, expira a seção.

Valeu galera

[15] Comentário enviado por tatototino em 21/09/2006 - 21:08h

Tem vários métodos de expiração de sessão, não vou ficar falando como funciona cada um deles, vou deixar o link para vocês saberem melhor os métodos, o link é esse:

http://natacl.sourceforge.net/README.pt.html#NatACL_web

As linhas estão comentadas no arquivo de configuração do NatACL, acho que você não viu ou não sabia(mas como você poderia adivinhar).

Poderia explicar melhor essa parte, peço desculpas a todos outra vez! Fiquei chateado por te esquecido isso! :(

E Obrigado por me alertar!


[16] Comentário enviado por tianguapontocom em 22/09/2006 - 00:15h

no caso meu firewall so libera o nat com porta 80 e tudo se os ip e mac estiver na lista.
no caso oq deveria fazer?

[17] Comentário enviado por leo_mineiro em 22/09/2006 - 11:43h

Valeu tatototino... deu certo! Usei o ping pra matar a seção. Somente tive que pedir pro pessoal reiniciar o pc após o uso.

Valeu pela dica e parabéns pelo artigo

[18] Comentário enviado por tatototino em 22/09/2006 - 12:37h

tianguapontocom não entendi muito bem como funciona seu firewall, mas o NatACL não vai mudar a porta do seu NAT nem o IP nem o endereço MAC da sua placa de rede, vou explicar resumidamente como ele funciona aqui, para você enteder seu funcionamento para implementar ele a sua rede.

1- Caso você não tenha se autenticado ainda, ele vai redirecionar a conexão dos seus clientes de redes para a porta do NatACL;

2- Se seu login e senha estiver correto ele vai liberar a conexão para a porta do seu NAT( a porta 80);

3- Quando expirar a sessão ele vai tirar a regra que ele fez para bloquear a conexão.

Por isso ele não vai mudar nada no seu firewall, ele só vai adicionar mais algumas regras.

Espero que isso ajude.

[19] Comentário enviado por h_pesserl em 22/09/2006 - 16:46h

Gostaria de saber se tem como usar este squid + proxy transparente + autenticação em conjunto com o meu pdc Windows. Na verdade o que quero saber é se posso usar minha autenticação do windows para autenticar ja no squid, sem ter que ficar digitando usuario e senha toda vez, ou seja, quando me logo no terminal com a minha senha do PDC windows no dominio, se ele ja pode se logar no squid tambem. acho que e isso. muito obrigado

[20] Comentário enviado por tatototino em 22/09/2006 - 18:58h

Dúvida muito legal h_pesserl, olhe esse link:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=255&pagina=3

Depois disso, você terá uma base para resolver seu problema, lembrando que para resolver esse problema você terá que saber o funcionamento do NAtACL.



[21] Comentário enviado por dejahbrasil em 28/09/2006 - 22:29h

Utilizo proxy transparente (squid) e dansguardian. Dá pra fazer funcionar NatACL + proxy transparente + dansguardian?

[22] Comentário enviado por tatototino em 30/09/2006 - 16:11h

Dá sim! =)

É só mudar a váriavel "PROXY_PORT" no arquivo de configuração do NatACL para a porta do DansGuardian que geralmente é a porta 8080, ficando assin:

PROXY_PORT: 8080

Lembrando que para fazer isso, você terá que configurar o DansGuardian para que funcione com o Squid e vice-versa!

[23] Comentário enviado por helizonaldo em 03/10/2006 - 18:29h

olá alguem ja instaou o NatACL no FreeBSD?

[24] Comentário enviado por tatototino em 03/10/2006 - 19:07h

O NatACL dá suporte ao *BSDs!
Para configurar o NatACL no *BSD basta editar o arquivo de configuração do NatACL, para usar o firewall do *BSD que geralmente é o IPFW:

NAT_TYPE: IPFW_PROXY


[25] Comentário enviado por helizonaldo em 04/10/2006 - 16:31h

Quando fiz o make no FreeBSD tive esse erro:

Searching...
[Include: mysql.h] [NOT FOUND - CRITICAL]

Alguma ideia?

[26] Comentário enviado por tatototino em 05/10/2006 - 01:03h

Você tem instalado o mysql, caso tenha, tente procurar essa header!

[27] Comentário enviado por helizonaldo em 05/10/2006 - 16:21h

tenho ele instalado! eu auterei o make.xml
"<system><includes><path>" colocando o caminho de onde se encontra o mysql.h

mas agora eu to recebendo outro erro:

Searching...

[Include: NatACL.h] [FOUND]: src/NatACL
[Library: crypt] [FOUND]: /usr/lib
[Library: dl] [NOT FOUND - NON-CRITICAL

Compiling...

Build main.c

src/modules/auth_unix/main.c:11:20: shadow.h: No such file or directory
src/modules/auth_unix/main.c: In function `run_module':
src/modules/auth_unix/main.c:50: warning: assignment makes pointer from integer without a cast
src/modules/auth_unix/main.c:53: error: dereferencing pointer to incomplete type
src/modules/auth_unix/main.c:55: error: dereferencing pointer to incomplete type

[28] Comentário enviado por tatototino em 06/10/2006 - 03:11h

O programa não esta achando os headers do seu sistema!
De novo ocorreu o mesmo erro anterior, não está achando "shadow.h"!

[29] Comentário enviado por marcosantiago em 20/10/2006 - 00:25h

Não instalei ainda...
Mas ja foi pros favoritos !
Parabens mesmo !

[30] Comentário enviado por cleison em 03/11/2006 - 17:33h

Essa versão já é antiga. Provavelmente leu algo ou viu algo sobre o projeto no site do canal linuxajuda: http://www.linuxajuda.org/site/node/102
ou no squid-cache: http://www.squid-cache.org.br/index.php?option=com_content&task=view&id=97&Itemid=27

O próprio dono do projeto um Brasileiro chamado Fabio Yasusi comenta sobre o tutorial e da nova versão do NatACL com controle por mac, dhcp e outas melhorias.

[31] Comentário enviado por jacksonsantos em 14/11/2006 - 13:52h

Artigo muito bom, porém tenho certas dúvidas

Configurei tudo como especificado, mas quando tento acessar digitando login e senha, ele me responde com Invalid Password. Onde está op problema ?
Como posso implementar outro meio de autenticação ?
O squid vai identificar os logins autenticados pelo NatACL ?

Realmente preciso desta solução funcionando,
Atenciosamente,
Jackson

[32] Comentário enviado por tatototino em 15/11/2006 - 13:08h

Caro cleison, usei essa versão do NatACL por causa de dependencias da nova versão do NatACL, outro motivo é que a nova versão usa um gerenciador de banco de dados (SQLite) que não é muito utilizado.


Jacksonsantos,todas as suas perguntas poderão ser respondidas lendo a documentação do programa, deixei o link no artigo.


Desculpe por não ter ajudar agora, pois não estou com ele intalado no momento. Mesmo assim vou tentar ajuda-lo!

A primeira pergunta, você pode verificar a senha no MySQL. Verificar se o Daemon do NatACL está rodando, pode fazer isso usando qualquer scaneador.
A segunda pergunta, Há 3 métodos de autenticação, pelo MySQL, pelo usuários do sistema, você pode conferir tudo isso na documentação.
A terceira pergunta já expliquei acima como o NatACL funciona.

[33] Comentário enviado por aazevedo1984 em 19/11/2006 - 08:36h

Posso estar enganado, mas não me parece uma boa idéia ter a senha do root colocada em um arquivo texto desta forma sem criptografia, isso vai contra toda a idéia de segurança do arquivo shadow, ad ídeia é boa, mas precisa melhorar um pouco...

[34] Comentário enviado por tatototino em 19/11/2006 - 14:13h

# aqui você especifica o usuário e a senha para acessar o mysql
AUTH_MYSQL 127.0.0.1 NatACL root <senha>

Aqui você define a senha do MySQL, coloquei o usuário root por que é o meu administrador do MySQL, não tem nada ver com o usuários do sistema.
Mas mesmo assim, no MySQL você pode criar um usuário só para administrar a tabela que o NatACL usa.
Mas não entendi muito bem o que você quiz dizer com isso "idéia de segurança do arquivo shadow", que eu saiba com um simples programa dá para decifrar todo esse arquivo.

[35] Comentário enviado por amendes em 23/11/2006 - 13:36h

O usuário e senha do NATACL pode ser transferido automaticamente para o Squid? Estou perguntando, pois atualmente tenho um servidor squid rodando com autenticação, mas de forma precária.

[36] Comentário enviado por tatototino em 27/11/2006 - 03:03h

amendes, não entendi muito bem sua pergunta, o que você quer não é o contrário, transferir os usuário do Squid para o NatACL?

Ou você quer mesmo transferir os usuários do NatACL para o Squid?

Me explique melhor!

[37] Comentário enviado por pmsinfo em 28/11/2006 - 08:49h

Bom dia,

Estou com problemas no NatACL, consegui estatar o mesmo, inclusive funciona o iptables dele interno, mas quando uso o equipamento externo para conexao ele nao me joga na pagina de login. Preciso de alguma configuracao no apache para que a tela apareca automaticamente? como por exemplo, necessito configurar a porta 51.. que ele usa para ler o diretorio de autenticacao? Quando digito no browser do equipamento da rede o ip do servidor ele me joga dentro da autenticacao, gostaria de saber o que preciso fazer para a autenticacao funcionar pois mesmo colocando o ip gera erro de cgi. O que necessito configurar no apache para que esta solucao funcione, pois mesmo com erro de cgi, apos logar ele liber o uso.
Carlos Ribeiro
pmsinfo@sacranet.com.br

[38] Comentário enviado por tatototino em 30/11/2006 - 03:18h

Caro pmsinfo, vou começar esclarecendo uma coisa, o NatACL não usa nehum servidor Web, então descate a configuração do Apache para resolver seu problema. Você deve ter feito alguma coisa errada na configuração do NatACL, verifique se seu MySQL está rondando perfeitamente, você pode usar algumas ferramentas para você resolver seu problema como o netcat "nc" para ver se está recebendo pacotes nas portas do daemons utilizados nesse processo de autentificação.


[39] Comentário enviado por pmsinfo em 30/11/2006 - 17:26h

O mysql esta funcional inclusive com o phpmyadmin funcionando, acrescentando e removendo usuarios. O problema é que não esta ocorrendo redirecionamento dos equipamentos da rede para o natacl que inclusive esta no ar, verificado pelo comando ps -aux. Gostaria de informações sobre possíveis modificações para o firewall que inclusive não adicionei nenhuma regra e o problema continua.
Obrigado pela ajuda,
Carlos Ribeiro
pmsinfo@sacranet.com.br

[40] Comentário enviado por tatototino em 01/12/2006 - 03:25h

Verifique as variávieis e as regras de iptables no arquivo de configuração do NatACL, caso consiga resolver poste aqui, para ajudar os outros que talvez terão os mesmo erros que você.
Obrigado!

[41] Comentário enviado por walison.augusto em 06/12/2006 - 12:41h

Parabens tatototino, valeu pelas dicas dessa semana. vou fazer esse teste essa semana. qualquer coisa te falo ai.
Um abraco

[42] Comentário enviado por walison.augusto em 11/12/2006 - 08:20h

Senhores, quando tento instalar o NATACL da o seguinte erro. qual dependencia a mais tenho de instalar???

Searching...

[Include: "mysql.h"
] [NOT FOUND - CRITICAL]

[43] Comentário enviado por tatototino em 12/12/2006 - 00:25h

Coloquei as depedências no artigo. Pelo erro que está acontecendo, não está localizando a header "mysql.h", verifique se seu sistema tem essa header, se você tem o MySQL instalado deve estar no diretório "include" que é definida na instalação do MySQL.

[44] Comentário enviado por jacksonsan em 16/12/2006 - 01:40h

Caro tatototino,
Estou usando o slack11, o mysql5, o ultimo squid e apache2
Quando compilo o NatACL ele dá um erro que não encontrou o mysqlclient
Já tentei de tudo e pesquisei na internet, mas sem sucesso.
Você poderia me ajudar a resolver esse problema ?

[45] Comentário enviado por tatototino em 16/12/2006 - 07:07h

O "libmysqlclient.so" é uma biblioteca do MySQL, ele age na conexão com MySQL Server, é a principal biblioteca do MySQL cliente.

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Para os que teve o problema de encontrar a biblioteca "libmysqlclient.so":
#find /usr/ -name libmysql*
/usr/share/mysql/lib/mysql/libmysqlclient.a
/usr/share/mysql/lib/mysql/libmysqlclient.la
/usr/share/mysql/lib/mysql/libmysqlclient.so
/usr/share/mysql/lib/mysql/libmysqlclient.so.15
/usr/share/mysql/lib/mysql/libmysqlclient.so.15.0.0
----------------------------------------------------------------------------------------------------------------------------------------------------------------

O "mysql.h" é um header mais usado pelo MySQL em seu código, é preciso ter ele para que o MySQL funcione perfeitamente. Pois seus executáveis precisam dele.

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Para os que teve esse para encontrar boblioteca "mysql.h":

#find /usr/ -name mysql.h
/usr/share/mysql/include/mysql/mysql.h
----------------------------------------------------------------------------------------------------------------------------------------------------------------

A maioira dos erros aqui não é relacionado ao programa principal do Artigo, é mais dos requerimentos dele como o MySQL que não abordei sua instalação e configuração.

[46] Comentário enviado por lavoie em 18/12/2006 - 10:28h

estou com problemas na instalaçãop
debian 3.1 , se alguem puder ajudar

cc build_make.c -o .fastmake/build_fast_make.bin
./.fastmake/build_fast_make.bin
Searching Library: [ xml2] FOUND: /usr/lib
Searching Include: [ iconv.h] FOUND: /usr/include
Searching Include: [ libxml/xmlversion.h] FOUND: /usr/include/libxml2
./install.bin make.xml
Building project: NatACL

- Build Program: NatACL -----------------
[System Include path: src/NatACL]
[System Include path: /usr/local/include]
[System Include path: /usr/include]
[System library path: /usr/local/lib]
[System library path: /usr/lib]

-------------------------------------------------------
Searching...

[Include: ssl.h] [NOT FOUND - CRITICAL]

[47] Comentário enviado por jacksonsan em 18/12/2006 - 23:14h

caro tatototino,
quando ao erro do mysql consegui resolver graças a sua dica. Instalei o mysql do pacote original do mysql e deu certo.
Mas agora outros erros ocorrem.
1)Não direciona para a página de login
2) Quando acesso http://192.168.0.1/ aparece a tela para aceitar o certificado
3)Ponho o login e a senha e aí aparece o erro:
while trying to retriev the url: http://192.168.0.1:3128
4)A conexão do meu servidor cai

Está assim o NatACL.conf
LAN_INTERFACE eth1 192.168.0.0/24
WAN_INTERFACE eth1 192.168.0.1
NAT_TYPE: IPTABLES_PROXY

SIMULTANEOUS_LOGON: NO
PROXY_PORT: 3128

AUTH_UNIX TYPE EXPIRE_POPUP # tentei com EXPIRE_PING_TIME também

AUTH_MYSQL localhost NatACL root senha # a senha foi posta corretamente
# Rules for Linux IPTABLES_PROXY
# IPTABLES_PROXY START "/sbin/iptables -t nat -F"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_PROXY GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"
IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

O NatACL.log está assim:
[Mon Dec 18 22:04:30] [IPTABLES_PROXY] Init
[Mon Dec 18 22:04:30] [IPTABLES_PROXY] Added interface [eth1]
[Mon Dec 18 22:04:30] [IPTABLES_PROXY] Added interface [eth1]
[Mon Dec 18 22:04:30] [IPTABLES_PROXY] /sbin/iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 -d 0/0 --dport 80 -j DNAT --to-destination 192.168.0.1:5121
[Mon Dec 18 22:04:30] [IPTABLES_PROXY] /sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source 192.168.0.1
[Mon Dec 18 22:05:13] [AUTH] [ 192.168.0.30] [ fabio] User Logged
[Mon Dec 18 22:05:13] [GRANT] Added granted rule to [192.168.0.30]
[Mon Dec 18 22:05:13] [NatACL] GRANT: fabio 1166490313 1 0 192.168.0.30

E o arquivo messages está assim
Dec 18 21:56:15 hotel dhcpd: DHCPREQUEST for 192.168.0.30 from 00:13:46:65:d1:0a (fortaleza) via eth1
Dec 18 21:56:15 hotel dhcpd: DHCPACK on 192.168.0.30 to 00:13:46:65:d1:0a (fortaleza) via eth1
Dec 18 22:01:15 hotel dhcpd: DHCPREQUEST for 192.168.0.30 from 00:13:46:65:d1:0a (fortaleza) via eth1
Dec 18 22:01:15 hotel dhcpd: DHCPACK on 192.168.0.30 to 00:13:46:65:d1:0a (fortaleza) via eth1
Dec 18 22:06:15 hotel dhcpd: DHCPREQUEST for 192.168.0.30 from 00:13:46:65:d1:0a (fortaleza) via eth1
Dec 18 22:06:15 hotel dhcpd: DHCPACK on 192.168.0.30 to 00:13:46:65:d1:0a (fortaleza) via eth1
Dec 18 22:11:15 hotel dhcpd: DHCPREQUEST for 192.168.0.30 from 00:13:46:65:d1:0a (fortaleza) via eth1
Dec 18 22:11:15 hotel dhcpd: DHCPACK on 192.168.0.30 to 00:13:46:65:d1:0a (fortaleza) via eth1

Colega, você poderia me dar mais uma dica de como resolver esse problema ?

[48] Comentário enviado por jacksonsan em 18/12/2006 - 23:28h

tatototino

retire a linha

AUTH_UNIX TYPE EXPIRE_POPUP # tentei com EXPIRE_PING_TIME também

e deixei essa
AUTH_MYSQL localhost NatACL root senha # a senha foi posta corretamente

aí no console do servidor aparece
Missing [AUTH_UNIX] in /usr/local/etc/NatACL.conf
E a conexão não deixa nem mais pingar

help, help

[49] Comentário enviado por tatototino em 19/12/2006 - 03:38h

Pelo erro que deu deve ser erro na configuração do Squid, porta "3128". O erro está dizendo que não é possível acessar a porta do Squid.
Verifique suas configurações do Squid, veja se você colocou o Squid como proxy transparente. Esse erro não é de fato do NatACL, pois está logando o usuário e está liberando a porta do Squid para ser usada, que está dando erro ao ser acessada.

[50] Comentário enviado por tatototino em 19/12/2006 - 04:57h

Olá lavoie, o seu erro deve se o fato de não encontra essa header "ssl.h", verifique se você tem o pacote "OpenSSL" instalado, ou procure essa header com o comando find.

[51] Comentário enviado por lavoie em 19/12/2006 - 17:16h

Obrigado pela resposta tatototino

consegui instalar porem quando executo o comando NatACL & , aparece :

# NatACL &
-bash: NatACL: command not found
[1] 3488
[1] Exit 127 NatACL


se puder ajudar!

[52] Comentário enviado por lavoie em 20/12/2006 - 18:20h

entaum consegui !! instalar ufa !! porem
nao abre tela de login, na verdade quando chamo o NatACL ele bloquei a conexão da internet com o servidor.
Se alguem pude ajudar, nao abre a tela de autenticação , tem que alterar alguma coisa dentro do squid.conf ?

[53] Comentário enviado por tatototino em 20/12/2006 - 20:26h

Você ativou o Squid como proxy transparente?

Verifique os seus arquivos de log, e veja se tem alguma saída do NatACL ou do Squid.

[54] Comentário enviado por jacksonsan em 20/12/2006 - 23:11h

Caro colega,
Ainda não consegui fazer funcionar
O meu squid está funcionando corretamente
A tela de login ainda não aprece automaticamente

Segue a configuração do natacl
# LAN_INTERFACE
LAN_INTERFACE eth1 192.168.0.0/24
WAN_INTERFACE eth1 192.168.0.1

NAT_TYPE: IPTABLES_PROXY
SIMULTANEOUS_LOGON: NO
PROXY_PORT: 3128

AUTH_MYSQL localhost NatACL root "1234"

# Rules for Linux IPTABLES_PROXY
IPTABLES_PROXY START "/sbin/iptables -t nat -F"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_PROXY GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"
IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

Quando acesso o browser do cliente digito:
http://192.168.0.1
Aí aparece a tela de login
digito fabio e senha teste
Aí aparece no browser
http://192.68.0.1:3128 dizendo qu não pode acessar a página

e no console do meu servidor aparece:
Missing [AUTH_UNIX] in /usr/local/etc/NatACL.conf

Nos logs não aparece nada

Creio que ainda consigo
Aguardo help

[55] Comentário enviado por lavoie em 21/12/2006 - 18:39h

aparece a tela de autenticação ,
so que quando eu logo , aparece que a pagina nao pode ser exibida

no console aparece

Impossivel conectar ao servidor mysql
Unknown database 'NatACL'


mysql -u root -p > Mysql.DUMP
Enter password:

quando digito a senha nao sai disso, nao pula para o console

please help


[56] Comentário enviado por tatototino em 22/12/2006 - 01:27h

Lavoie, olhe essa parte do artigo:

Agora vamos criar a "database" do NatACL no MySQL:

# mysql -u <usuário administrador do mysql> -p < Mysql.DUMP

Ele vai pedir a senha do usuário do MySQL.

Acho que você trocou o sinal:

#mysql -u root -p < Mysql.DUMP

Talvez seja isso!

[57] Comentário enviado por tatototino em 22/12/2006 - 01:31h

jacksonsan, coloque aqui o erros que aparece na página.
Tente colocar outro site como "www.google.com.br", talvez seja que seu servidor não tem um Servidor Web rodando. Caso aconteça o mesmo erro poste aqui os erros que aparecem no browser.

[58] Comentário enviado por jacksonsan em 23/12/2006 - 12:28h

Log do squid access.log
1166883652.253 12 192.168.0.1 TCP_DENIED/403 1352 GET http://192.168.0.1:3128/">http://192.168.0.1:3128/ - NONE/- text/html
1166883652.275 58 192.168.0.30 TCP_MISS/403 1414 GET http://192.168.0.1:3128/">http://192.168.0.1:3128/ - DIRECT/192.168.0.1 text/html

Log do squid cache.log
2006/12/23 11:20:52| WARNING: Forwarding loop detected for:
Client: 192.168.0.1 http_port: 192.168.0.1:3128
GET http://192.168.0.1:3128/">http://192.168.0.1:3128/ HTTP/1.0
Host: 192.168.0.1:3128
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Via: 1.1 hotel:3128 (squid/2.6.STABLE4)
X-Forwarded-For: 192.168.0.30
Cache-Control: max-age=136800
Connection: keep-alive

Log do NatACL
[Sat Dec 23 11:20:13] [NatACL] Init
[Sat Dec 23 11:20:13] [INFO] LAN ADDRESS [eth1:192.168.0.0/24]

[Sat Dec 23 11:20:13] [INFO] WAN ADDRESS [eth1:192.168.0.1]

[Sat Dec 23 11:20:13] [IPTABLES_PROXY] Init
[Sat Dec 23 11:20:13] [IPTABLES_PROXY] Added interface [eth1]
[Sat Dec 23 11:20:13] [IPTABLES_PROXY] /sbin/iptables -t nat -F
[Sat Dec 23 11:20:13] [IPTABLES_PROXY] Added interface [eth1]
[Sat Dec 23 11:20:13] [IPTABLES_PROXY] /sbin/iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 -d 0/0 --dport 80 -j DNAT --to-destination 192.168.0.1:5121
[Sat Dec 23 11:20:13] [IPTABLES_PROXY] /sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source 192.168.0.1
[Sat Dec 23 11:20:51] [AUTH] [ 192.168.0.30] [ fabio] User Logged
[Sat Dec 23 11:20:51] [GRANT] Added granted rule to [192.168.0.30]
[Sat Dec 23 11:20:51] [NatACL] GRANT: fabio 1166883651 1 0 192.168.0.30

rc.local
dhcpcd eth0

####### Ativar eth1 em 192.168.0.1 e servidor dhc na rede
ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up
dhcpd eth1
ifconfig eth0 0.0.0.0
adsl-start

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat

# Compartilhamento de Conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT

# Proxy transparente
iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dport 3128,80 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT

/usr/local/squid/sbin/squid &

Erro que aparece no cliente
acesso negado
http://192.168.0.1:3128

Acessei www.google.com.br com vc pediu e deu
Servidor não encontrado

help

[59] Comentário enviado por tatototino em 23/12/2006 - 15:15h

Olhe os access.log:

http://192.168.0.1:3128/ - NONE/- text/html 1166883652.275 58 192.168.0.30 TCP_MISS/403 1414 GET http://192.168.0.1:3128/">http://192.168.0.1:3128/ - DIRECT/192.168.0.1 text/html

Erro 403: significa "Acesso negado/proibido".

Verifique suas regras de permissões no arquivo de configuração do Squid, talvez seja isso.

[60] Comentário enviado por lavoie em 23/12/2006 - 19:59h

puts , to quase lá , aparece a tela de login so que não navega, nao aparece mensagem de erro, nao consigo mais conectar na net nem no servidor, acho que agora deve ser alguma coisa com as regras do iptables no arquivo de configuração NatACL.conf. vou postar meu arquivo , da uma olhada please.


# NETWORK CONFIGURATION
#************************************************************************

# LAN_INTERFACE
# Set the network who will have access to this program
# LAN_INTERFACE [interface] [network/class]
# If you have only one lan interface, you may remove one line.
LAN_INTERFACE eth1 192.168.0.0/24

# WAN_INTERFACE
# Set the output internet address
# WAN_INTERFACE [interface] [local address]
WAN_INTERFACE eth1 192.168.0.1

# NAT_TYPE
# Configure the type of your network nat/firewall
# You can create you own type, just add the respective configuration to the RULE section.
# Default existing configuration:
#IPTABLES_NAT
#IPTABLES_PROXY
#IPFW_NAT
#IPFW_PROXY
NAT_TYPE: IPTABLES_NAT

#define if you will allow simultaneous users at the same tame
SIMULTANEOUS_LOGON: NO

#If you use Freebsd and IPFW/NATD You must set the NATD port
NATD_PORT: 31000

#If you use Proxy instead NAT, you must define the PROXY PORT
PROXY_PORT: 3128

# MODULE CONFIGURATION
#************************************************************************

# AUTH_UNIX
# Set the expire time and expire method for users using the unix password

# Args: EXPIRE_TIME <Time to live in seconds>
# EXPIRE_PING
# EXPIRE_PINGTIME <Time to live in seconds>
# EXPIRE_POPUP
#
# Ex;

# Ex;
# AUTH_UNIX TYPE EXPIRE_TIME 3600
# or
# AUTH_UNIX TYPE EXPIRE_POPUP
# or
# AUTH_UNIX TYPE EXPIRE_PING
# or both ( ping + time )
# AUTH_UNIX TYPE EXPIRE_PINGTIME 3600

# WARNING: If you use Expire_POPUP, make sure that you have an anti-popup browser disabled.

AUTH_UNIX TYPE EXPIRE_TIME 3600

#
# AUTH_MYSQL
# Set the configuration to the mysql database
# Args: Mysql_Host Mysql_db Mysql_user Mysql_password
# Ex. AUTH_MYSQL 127.0.0.1 NatACL User "password"
AUTH_MYSQL localhost NatACL root teste
# RULE SECTION
#************************************************************************
# You dont have to alter this part, unless you know what are you doing.
# You can have multiples configuration, even if you dont have a specific firewall. It will not matter.
# Set the NAT_TYPE to your specific rule.

# START RULE - Is executed only once, when NatACL is run.
# INIT RULE - Is executed one time for each LAN_INTERFACE, when NatACL is run.# GRANT RULE - Is executed when a user logon.
# REVOKE RULE - Is executed when a user expires.


# Rules for Linux IPTABLES_NAT

IPTABLES_NAT START "/sbin/iptables -t nat -F"
IPTABLES_NAT INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"IPTABLES_NAT INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_NAT GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -d 0/0 --dport 80 -j ACCEPT"
IPTABLES_NAT REVOKE "/sbin/iptables -t nat -D POSTROUTING -p tcp -s [CLIENT_ADDRESS] -j SNAT --to-source [WAN_ADDRESS]"

# Rules for Linu IPTABLES_PROXY
#IPTABLES_PROXY START "/sbin/iptables -t nat -F"
#IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"
#IPTABLES_PROXY INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
#IPTABLES_PROXY GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"
#IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"


valeu




[61] Comentário enviado por tatototino em 24/12/2006 - 18:28h

lavoie, troque a diretiva:

NAT_TYPE: IPTABLES_NAT

para:

NAT_TYPE: IPTABLES_PROXY

Habilite as linhas de regras para a função de "IPTABLES_PROXY" tirando as sharps "#" no começo da linha:

# Rules for Linu IPTABLES_PROXY
IPTABLES_PROXY START "/sbin/iptables -t nat -F"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_PROXY GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"
IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"


[62] Comentário enviado por lavoie em 25/12/2006 - 11:32h

ja tinha feito isso, valeu
na verdade agora esta conectando mas ta para logar com o mesmo usuario em duas maquinas mesmo com a opção

SIMULTANEOUS_LOGON: NO

valeu pela resp.
ta froid viu

[63] Comentário enviado por lavoie em 26/12/2006 - 11:13h

consegiu! , oh gloria!!!
Valeu tatototino

[64] Comentário enviado por lavoie em 26/12/2006 - 11:15h

so mais uma coisa se puder ,
ha alguma forma dos usuarios alterarem a senha pelo navegador ?

valeu

[65] Comentário enviado por tatototino em 27/12/2006 - 00:35h

Dá sim, mas é preciso que você saiba um pouco da linguagem PHP.
Faça o PHP interligar ao MySQL, buscando as informações do banco de dados do NatACL e alterando-a.
Além disso você pode colocar vários argumentos na tabela do NatACL, como o nome completo do usuário, endereço, etc, para implemetar seu sistema.

[66] Comentário enviado por lavoie em 27/12/2006 - 09:22h

ok, valeu !!
pela ajuda

[67] Comentário enviado por jacksonsan em 27/12/2006 - 22:00h

Caro tatototino, já não sei mais o q fazer. Aí vai ois arquivos de configuração

1.rc.local
dhcpcd eth0

####### Ativar eth1 em 192.168.0.1 e servidor dhc na rede
ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up
dhcpd eth1

ifconfig eth0 0.0.0.0
adsl-start

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat

# Compartilhamento de Conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT

# Proxy transparente
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dport 3128,80 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT

/usr/local/squid/sbin/squid &

2.cache.log
2006/12/27 20:52:59| The request GET http://192.168.0.1:3128/ is ALLOWED, because it matched 'redelocal'
2006/12/27 20:52:59| The request GET http://192.168.0.1:3128/ is ALLOWED, because it matched 'redelocal'
2006/12/27 20:52:59| WARNING: Forwarding loop detected for:
Client: 192.168.0.1 http_port: 192.168.0.1:3128
GET http://192.168.0.1:3128/ HTTP/1.0
Host: 192.168.0.1:3128
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Via: 1.1 hotel:3128 (squid/2.6.STABLE4)
X-Forwarded-For: 192.168.0.30
Cache-Control: max-age=136800
Connection: keep-alive

2006/12/27 20:52:59| The reply for GET http://192.168.0.1:3128/ is ALLOWED, because it matched 'redelocal'
2006/12/27 20:52:59| The reply for GET http://192.168.0.1:3128/ is ALLOWED, because it matched 'all'

3.access.log
1167263579.873 0 192.168.0.1 TCP_DENIED/403 1352 GET http://192.168.0.1:3128/ - NONE/- text/html
1167263579.874 59 192.168.0.30 TCP_MISS/403 1414 GET http://192.168.0.1:3128/ - DIRECT/192.168.0.1 text/html

NatACL.log
[Wed Dec 27 20:52:59] [AUTH] [ 192.168.0.30] [ fabio] User Logged
[Wed Dec 27 20:52:59] [GRANT] Added granted rule to [192.168.0.30]
[Wed Dec 27 20:52:59] [NatACL] GRANT: fabio 1167263579 1 0 192.168.0.30

Colega, como já deve ter percebido, não sou especialista em linux. Estou meio frustrado poreque alguns colegas estão conseguindo e eu ainda nada.
Será que com esses arquivos, a gente poderia achar a solução do meu problema

heeelllpppp !!!!!!!!!
Atenciosamente

[68] Comentário enviado por tatototino em 28/12/2006 - 01:49h

Poste o seu arquivo de configuração de seu squid o "squid.conf", para ver o que está broqueando em sua rede.

[69] Comentário enviado por marceloespindola em 28/12/2006 - 21:24h

pessoal estou tentando instalar o NatAcl e está apresentando o seguinte erro
shownet-serveproxy:~/NatACL.20050311# make
cc build_make.c -o .fastmake/build_fast_make.bin
./.fastmake/build_fast_make.bin
Searching Library: [ xml2] NOT FOUND
Missing library: xml2
Exiting
make: ** [all] Erro 255
shownet-serveproxy:~/NatACL.20050311#
já tentei procurar o que é e não encontrei o pacote que ele necessita

[70] Comentário enviado por jacksonsan em 28/12/2006 - 22:07h

Caro tatototino, a seu pedido aí vai os arquivos de configuração
Ainda não aparece a tela de login automaticamente e quando acesso o ip do servidor para autenticar e entro com o login e senha, ele retorna a página "Access Denied http://192.168.0.1:3128"

1. squid.conf
http_port 3128 transparent

visible_hostname casa

cache_mem 32 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /usr/local/squid/var/cache 2048 16 256
cache_access_log /usr/local/squid/var/logs/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0

# acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255
acl redelocal src 192.168.0.0/24

http_access allow localhost
http_access allow redelocal

#http_access allow all

debug_options ALL,1 33,2

2. rc.local

dhcpcd eth0

####### Ativar eth1 em 192.168.0.1 e servidor dhc na rede
ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up
dhcpd eth1

ifconfig eth0 0.0.0.0
adsl-start
sleep 1

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat

# Compartilhamento de Conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT

# Proxy transparente
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dport 3128,80 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT

/usr/local/squid/sbin/squid &

3. cache.log "após tentar logar"

2006/12/28 21:03:24| The reply for GET http://192.168.0.1:3128/ is ALLOWED, because it matched 'redelocal'
2006/12/28 21:03:24| The reply for GET http://192.168.0.1:3128/ is ALLOWED, because it matched 'all'

4. access.log

1167350604.660 0 192.168.0.1 TCP_DENIED/403 1352 GET http://192.168.0.1:3128/ - NONE/- text/html
1167350604.661 25 192.168.0.30 TCP_MISS/403 1414 GET http://192.168.0.1:3128/ - DIRECT/192.168.0.1 text/html

5. NatACl.log

[Thu Dec 28 21:03:24] [AUTH] [ 192.168.0.30] [ fabio] User Logged
[Thu Dec 28 21:03:24] [GRANT] Added granted rule to [192.168.0.30]
[Thu Dec 28 21:03:24] [NatACL] GRANT: fabio 1167350604 1 0 192.168.0.30

Agradeço muito sua atenção.

Atenciosamente

[71] Comentário enviado por tatototino em 29/12/2006 - 02:12h

jacksonsan,tire essa regra do iptables e tente de novo:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


[72] Comentário enviado por tatototino em 29/12/2006 - 07:42h

marceloespindola, baixe e instale esse pacote:

ftp://xmlsoft.org/libxml2/libxml2-2.6.26.tar.gz

[73] Comentário enviado por jacksonsan em 29/12/2006 - 17:58h

Caro tatototino,

fiz como vc pediu, retirei a linha
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

e o mesmo erro continua ocorrendo

E agroa ?

[74] Comentário enviado por marceloespindola em 29/12/2006 - 18:35h

encontrei algumas das dependências do natacl e elas são as seguintes

libxml12-dev
libssl14-dev
libmysqlclient14-dev

a primeira tem que baixar neste link: ftp://xmlsoft.org/libxml2/libxml2-2.6.26.tar.gz como sugeriu o nosso amigo tatotino
a última podemos instalar atraves do comando apt-get install libmysqlclient14-dev

mas até agora não pode encontrar o segundo pacote, alguém pode me ajudar na empreitada?

[75] Comentário enviado por marceloespindola em 29/12/2006 - 19:09h

pessoal encontrei o correto pacote apt-get install libssl-dev, ok?

[76] Comentário enviado por tatototino em 29/12/2006 - 20:46h

Tente isso:
# apt-get install openssl

Não sou muito fã desse gerenciador de pacotes! :)

[77] Comentário enviado por tatototino em 29/12/2006 - 20:51h

jacksonsan, não sei por qual motivo mas o seu squid está bloqueando suas conexões. O Squid funciona perfeitamente sem o NatACL?

[78] Comentário enviado por jacksonsan em 30/12/2006 - 13:02h

Caro tatototino,

reinstalei o squid e agora ocorre o seguinte erro quando logo:
while trying retrieve the url: http://192.168.0.1

Unable to forward this request at this time
Os arquivos de configuração estão assim

1. rc.local
dhcpcd eth0

####### Ativar eth1 em 192.168.0.1 e servidor dhc na rede
ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up
dhcpd eth1

ifconfig eth0 0.0.0.0
adsl-start
sleep 1

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat

# Compartilhamento de Conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT

# Proxy transparente
# Linha de teste
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.1:3128

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dport 3128,80 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT

squid start

2. squid.conf
http_port 3128 transparent

visible_hostname hotel

cache_mem 32 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95

cache_log /var/log/squid/cache.log
cache_dir ufs /var/log/squid/cache 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0

acl localhost src 127.0.0.1/255.255.255.255
acl redelocal src 192.168.0.0/24

http_access allow localhost
http_access allow redelocal

http_access allow all

debug_options ALL,1 33,2

3. cache.log
2006/12/30 11:54:23| Accepting ICP messages at 0.0.0.0, port 3130, FD 10.
2006/12/30 11:54:23| Accepting SNMP messages on port 3401, FD 11.
2006/12/30 11:54:23| Pinger socket opened on FD 12
2006/12/30 11:54:23| Loaded Icons.
2006/12/30 11:54:23| eventCleanup
2006/12/30 11:54:23| Ready to serve requests.
2006/12/30 11:54:23| storeLateRelease: released 0 objects
2006/12/30 11:56:31| WARNING: transparent proxying not supported
2006/12/30 11:56:31| The request GET http://192.168.0.1/ is ALLOWED, because it matched 'redelocal'
2006/12/30 11:56:31| Failed to select source for 'http://192.168.0.1/'
2006/12/30 11:56:31| always_direct = 0
2006/12/30 11:56:31| never_direct = 0
2006/12/30 11:56:31| timedout = 0
2006/12/30 11:56:31| The reply for GET http://192.168.0.1/ is ALLOWED, because it matched 'all'

4. access.log
1167490591.129 34 192.168.0.30 TCP_MISS/503 1578 GET http://192.168.0.1/ - NONE/- text/html

5. natacl.log
[Sat Dec 30 11:55:23] [IPTABLES_PROXY] /sbin/iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 -d 0/0 --dport 80 -j DNAT --to-destination 192.168.0.1:5121
[Sat Dec 30 11:55:23] [IPTABLES_PROXY] /sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source 192.168.0.1
[Sat Dec 30 11:56:30] [AUTH] [ 192.168.0.30] [ fabio] User Logged
[Sat Dec 30 11:56:30] [GRANT] Added granted rule to [192.168.0.30]
[Sat Dec 30 11:56:30] [NatACL] GRANT: fabio 1167490590 1 0 192.168.0.30

Acredito que agora está mais fácil

Aguardo help

[79] Comentário enviado por tatototino em 30/12/2006 - 22:15h

Isso na verdade é um bug no pacote do squid!

Tente colocar essas diretivas, talvez der certo:

always_direct allow all
never_direct allow all

Senão funcionar com as diretivas acimas, será necessário instalar um patch para esse bug.

Olhe isso:
http://www.squid-cache.org/bugs/show_bug.cgi?id=1650


[80] Comentário enviado por jacksonsan em 31/12/2006 - 01:57h

caro tatototino,

instalei o squid 2.5 e resolvi um pequeno problema de bios., ehehheh. Consegui fazer a captura da tela de login e navegar no meu cliente. Mais tarde testarei mais. Valeu pelas dicas e paciência.
Mas deixo aqui uma pergunta:
Tem como gerar relatório pelo sarg com o nome do usuário ?
Tem como armazenar em banco de dados o tempo que o usuário passou logado ?

Atenciosamente,
Jacksonsan

[81] Comentário enviado por tatototino em 02/01/2007 - 02:02h

Ainda não tentei fazer isso, mas vou testar qualquer dia! :P

[82] Comentário enviado por marceloespindola em 02/01/2007 - 09:10h

Esta solução por acaso funciona no Debian sarge?

[83] Comentário enviado por jacksonsan em 02/01/2007 - 12:05h

Caro tatototino,

Estava testando o NatACL e percebi alguns problemas de robustez, como:
Enquanto o usuário se logar, antes de autenticar ele clica em cancelar, aí quando tenta novamente não consegue mais. Isso realmente acontece, e se acontece como resolver ?

Atenciosamente,

[84] Comentário enviado por tatototino em 03/01/2007 - 21:02h

jacksonsan, no meu NatACL não acontece isso, talvez você tenha que colocar o método de expiração da conta!

[85] Comentário enviado por tatototino em 03/01/2007 - 21:04h

marceloespindola, acho que funciona sim, não tem o porque de não funcionar!:P

[86] Comentário enviado por jacksonsan em 04/01/2007 - 15:49h

tatototino

Estou usando a versão NatACL.20050311.tar.gz.
Lah no arquivo de configuração o método de expiração é aplicado quando uso AUTH_UNIX EXPIRE_TYPE 3600, por exemplo.
Quando uso AUTH_MYSQL, como faço ?
Uso uma linha com EXPIRE_TYPE [tipo] ...

Atenciosamente,
Jackson

[87] Comentário enviado por tatototino em 08/01/2007 - 00:52h

Desculpe a demora, coloque com o AUTH_UNIX mesmo, a diretiva AUTH_MYSQL desativa esse tipo de autentificação só deixando o modo de expiração!

[88] Comentário enviado por bohrer em 10/01/2007 - 16:25h

Caro tatototino, boa tarde.

Muito bom o artigo! Realmente resolve o problema dos administradores no sentido de proxy transparente com autenticação.

Estou com um problema no seguinte:

A página de autenticação do NatACL aparece... porém o squid não autentica e não navega..

Dê uma olhada no log do squid:

1168452793.229 17 192.168.0.50 TCP_DENIED/403 1372 GET http://www.google.com/search? - NONE/- text/html

Percebe-se que ao invés do usuário constar no log, aparece a entrada "NONE", o que, para mim, indicaria que o NatACL, por algum motivo não esta verificando / lendo o usuário no arquivo da autenticação.

Pergunto: Já vivenciou alguma coisa parecida? Tens idéia de como resolver?

Desde já agradeço

Bohrer

[89] Comentário enviado por tatototino em 13/01/2007 - 14:01h

Não é o Squid que faz a autentificação é o NatACL.

Erro de configuração do Squid, está bloqueando a página "TCP_DENIED/403".


[90] Comentário enviado por lavoie em 16/01/2007 - 12:44h

[ERROR] [EXPIRE] [ user]Invalid expire method,
esta aparecendo esse erro o log.

somente consigo logar novamente, reiniciando o serviço

AUTH_UNIX TYPE EXPIRE_TIME 3600


[91] Comentário enviado por tatototino em 16/01/2007 - 14:36h

lavoie, eu não entendi muito bem, você poderia explicar melhor?

[92] Comentário enviado por lavoie em 16/01/2007 - 21:59h

quando logo , somente consigo dar logout reiniciando o NatACL, posso desligar o micro que ele continua com acesso.
quando vou verificar o log aparece " [ERROR] [EXPIRE] [ user]Invalid expire method"
pelo que pude perceber eh quando realizo o acesso pelo mysql " AUTH_MYSQL localhost NatACL root llllolo ", se eu comento essa linha nao aparece o erro,

[93] Comentário enviado por tatototino em 17/01/2007 - 00:10h

lavoie, o seu Mysql está funcionando?

[94] Comentário enviado por tatototino em 17/01/2007 - 00:17h

jacksonsan, esqueci de te falar uma coisa :P

Os tipos de expiração de conta com a autentificação feita no MySQL são definidas no banco de dados do NatACL na tabela users, no campo expire_type, segue as opções:

1- EXPIRE_PING
2- EXPIRE_TIME
3- EXPIRE_TRAFFIC
4- EXPIRE_POPUP
5- EXPIRE_PINGTIME

O Tipo de expiração do usuário padrão "fabio" é 1.

EXPIRE_PING - Envia um ping constantemente a estacao, quando o ping falhar. A autenticacao é desfeita.

EXPIRE_TIME - Fica autenticado por um intervalo de tempo.

EXPIRE_POPUP - Abre um popup no browser, a autenticacao só sera desfeita caso o POPUP seja fechado.

EXPIRE_PINGTIME- A mesma coisa que a "EXPIRE_PING" mas por intervalo de tempo definido por você.

EXPIRE_TRAFFIC - Nem imagino para que seja, não encontrei ele no código fonte do programa :P

[95] Comentário enviado por lavoie em 17/01/2007 - 14:13h

opa deu quase certo com essa dica ai em cima , agora esta aparecendo a seguinte mensagem :
"iptables: Bad rule (does a matching rule exist in that chain?)"

[96] Comentário enviado por lavoie em 17/01/2007 - 17:47h

consegui !

[97] Comentário enviado por lavoie em 17/01/2007 - 17:49h

da para ter controle de outlook e messenger, emule, kazaa ...?

[98] Comentário enviado por tatototino em 18/01/2007 - 13:07h

lavoie, eu nunca tentei!
Mas tente mudar as regras do NatACL.conf e adicione as portas desses serviços talvez de certo!

[99] Comentário enviado por lavoie em 18/01/2007 - 13:23h

entaum tatototino, como as regras redirecionam a porta 80 para a porta 5122 as outras portas ficam livres de autenticação, mas vou mudar as regras,
valeu !

[100] Comentário enviado por jacksonsan em 20/01/2007 - 12:36h

caro tatototino,
eu denovo
Quando executo o natacl e tento conectar no cliente ele não conecta, responde página não encontrada.
Então, faço o seguinte: executo o compartilhamento de conexão e o proxy transparente e tento conectar no meu cliente e funciona. Depois disso, executo o natacl e vou tentar conectar novamente no meu cliente, aí pede a página de login e funciona. Esquisito esse funcionamento. Fechei o browser do cliente e aparentemente a sessão expirou, então não consegui mais conectar no cliente e nem no servidor. O que ocorreu ?
A configuração do natacl está assim

# LAN_INTERFACE
LAN_INTERFACE eth1 192.168.0.0/24
# WAN_INTERFACE
WAN_INTERFACE eth1 192.168.0.1
NAT_TYPE: IPTABLES_PROXY
SIMULTANEOUS_LOGON: YES
PROXY_PORT: 3128
AUTH_UNIX TYPE EXPIRE_POPUP
AUTH_MYSQL localhost NatACL root "1234"

Pus o método de expiração com vc havia dito, mas aparentemente não funcionou

O arquivo rc.local está assim:
dhcpcd eth0
ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up
dhcpd eth1
ifconfig eth0 0.0.0.0
adsl-start
sleep 2
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# Proxy transparente
iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
squid start

[101] Comentário enviado por tatototino em 20/01/2007 - 13:57h

jacksonsan, você leu meu penúltimo comentário?

[102] Comentário enviado por jacksonsan em 22/01/2007 - 12:34h

tatototino, desculpe. Realmente não havia lido.
Vou pôr pra funcionar, e se der certo posto aqui.

Valeu

[103] Comentário enviado por lavoie em 22/01/2007 - 14:56h

fala Tatotoino.
cara sei que vc nao eh o meu suporte, mas se vc ou alguem puder ajudar,
o que eu preciso eh o seguinte , somente apos a autenticação que o usuario tera acesso a internet, messenger, outlook, emule, kazaa , antivirus .... enfim.
seria como se fosse aquela autenticação que o IG faz .

[104] Comentário enviado por jacksonsan em 23/01/2007 - 09:53h

caro tatototino,

O popup funcionou, legal. Mas o funcionamento continua estraho.
1.A tela de captura de login só funciona se eu fizer uma conexão antes usando proxy transparente, sem ativar o natacl.
2.Depois que eu ativo o natacl aí a tela de captura funciona.
3.Está aparecendo no console a seguinte mensagem: "iptables: no target/chain/match by that name", o que isso significa ?
4.Pus expiração por popup, fechei o popup mas não expirou

Atenciosamente

[105] Comentário enviado por exercitobr em 23/01/2007 - 11:21h

Moçada... segui o tutorial... resolvi todas as dependencias, mas qd executo o comando: "NatACL &" ele retorna a seguinte mensagem: " bind:Address already in use" e qd vou nas máquinas clientes navega normalmente sem pedir login e senha, Oque significa essa mensagem e como resolvo?

Uso Suse 10.2, apache 2.0

[106] Comentário enviado por tatototino em 25/01/2007 - 01:43h

lavoie, como eu te falei. Adicione as portas desses serviços nas regras de iptables no arquivo de configuração do NatACL. Não sei se vai dar certo porque nunca tentei mas na minha humilde opinião, acho que dá para fazer isso :).
Qunado acaba meus downloads vou tentar fazer isso também :P.

[107] Comentário enviado por tatototino em 25/01/2007 - 02:13h

jacksonsan, tem alguma coisa errada na sua configuração, verifique a regra "IPTABLES_PROXY GRANT" e veja se está tudo certo com ela. Veja se nos logs do NatACL aparece alguma coisa. Defina melhor "conexão antes usando proxy transparente"?

As duas últimas perguntas estão relacionada, o seguinte erro:

iptables: no target/chain/match by that name

Está dizendo que não tem nehuma regra para deletar com as informações que você definiu no arquivo de configuração do NatACL quando a sessão acaba. Por isso que a expiração não termina porque essa regra é responsável pelo fechamento da sessão.

Solução:

Troque a seguinte linha no seu arquivo de configuração do NatACL "/usr/local/etc/NatACL.conf":

IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

Para:

IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

[108] Comentário enviado por tatototino em 25/01/2007 - 02:38h

exercitobr, o erro "bind:Address already in use" (saída de erro "stderr" do comando bind) está dizendo que a porta já está em uso (bons tempos de programação :P).

Verifique se o NatACL já está sendo executado com o comando:

ps auxw | grep -i natacl

Verifique se as portas usadas pelo NatACL estão abertas:

netstat -an | grep -i "listen"

Veja se a porta 5121 e 5122 estão abertas.

Só para confirmar se as portas estão mesmo abertas ou fechadas:

nmap -sS localhost -p 5121-5122

[109] Comentário enviado por exercitobr em 25/01/2007 - 09:00h

Obrigado pelo apoio tatotino, mas não consegui ainda resolver. Vou colocar o que esta retornado em meu terminal com os comandos que vc me passou:

servidor:/home/servidor # NatACL &
[1] 8102
servidor:/home/servidor # bind: Address already in use

[1]+ Done NatACL
servidor:/home/servidor # ps auxw | grep -i natacl
root 7611 0.3 0.0 3184 452 ? S 08:30 0:06 NatACL
root 8074 0.5 1.9 34128 19816 ? S 08:51 0:02 kwrite [kdeinit] /usr/local/etc/NatACL.conf
root 8104 0.0 0.0 2880 764 pts/4 R+ 08:58 0:00 grep -i natacl
servidor:/home/servidor # netstat -an | grep -i "listen"
servidor:/home/servidor # nmap -sS localhost -p 5121-5122
bash: nmap: command not found
servidor:/home/servidor # nmap
bash: nmap: command not found


Aguardo sua ajuda companheiro.

[110] Comentário enviado por exercitobr em 25/01/2007 - 09:14h

Tatototino coloquei o netstat, segue abaixo:

servidor:/home/servidor # nmap -sS localhost -p 5121-5122

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-01-25 09:15 BRST
Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE
5121/tcp open unknown
5122/tcp open unknown

Nmap finished: 1 IP address (1 host up) scanned in 0.069 seconds
servidor:/home/servidor # netstat -an | grep -i "listen"
servidor:/home/servidor #

[111] Comentário enviado por tatototino em 25/01/2007 - 13:30h

exercitobr, seu NatACL já está rodando. Basta saber se sua configuração do NatACL, Squid e da sua rede está correta.

[112] Comentário enviado por exercitobr em 26/01/2007 - 08:15h

Tatototino, resovi alterando essa linha no natacl.conf :
LAN_INTERFACE eth1 192.168.0.1/24
para
LAN_INTERFACE eth1 192.168.0.0/24

Tá tudo funcionando, obrigado meu amigo!

[113] Comentário enviado por exercitobr em 26/01/2007 - 08:34h

Tatototino, agora que está funcionando, gostaria de postar duas dúvidas com vc. A primeira, é possivel gerar relatórios de acesso com o sarg, utilizando o natacl, caso negativo, há outra forma de exbir um relatório com os acessos dos usuários autenticados pelo NatACL?
segundo: como insiro novos usuários?

Agradeço e aguardo.

[114] Comentário enviado por snoop em 30/01/2007 - 14:41h

Onde fica o MYSQL.DUMP

[115] Comentário enviado por exercitobr em 31/01/2007 - 10:33h

Snoop, em minha distro, Suse, fica aqui: /usr/lib/mysql
Ou use esse comando no terminal como root para achar: whereis mysql

Boa sorte.

[116] Comentário enviado por tatototino em 31/01/2007 - 16:01h

exercitobr, nunca implementei o sarg com o NatACL, mas para criar usuários você pode criar uma página em PHP adicionando os dados nas tabelas do NatACL.

[117] Comentário enviado por biano_dias em 23/02/2007 - 21:19h

Por favor, alguém pode me ajudar estou com o seguinte problema na instalação do NatACL.20050311 :

servidor_pdc:/etc/NatACL.20050311# make
cc build_make.c -o .fastmake/build_fast_make.bin
./.fastmake/build_fast_make.bin
Searching Library: [ xml2] NOT FOUND
Missing library: xml2
Exiting
make: ** [all] Erro 255

Estou usando o Debian e ja instalei através do apt-get a biblioteca solicitada, mas o erro persiste.

[118] Comentário enviado por tatototino em 26/02/2007 - 01:27h

Veja se o pacote foi instalado corretamente, pois o erro é que não está encontrando os arquivos que pertence ao xml2.

[119] Comentário enviado por aps167 em 01/03/2007 - 14:18h

Amigão Tenho dúvidas

Trabalho em uma empresa que usa VOIP, os equipamentos usam as portas 5060 TCP e 5004 UDP e a interfaçe WEB do equipamento responde na porta 80, então quando quero configura-lo digito o http://192.168.0.200 e acesso o equipamento.

Duvidas:

1 - já que estou usando proxy como faço para que seja liberado a internet para os voips, como faço para que eles ignore o proxy?

2 - Como faço para acessar a interface web, já que estou redirecionando todo o trafico da 80 para 3128?

Help-me , pois estou iniciando.



[120] Comentário enviado por tatototino em 04/03/2007 - 04:17h

aps167, vou resumi tudo em uma resposta simples "Firewall".

[121] Comentário enviado por brunoalmeidam em 31/03/2007 - 20:06h

Ola amigos, eu possuo 3 links de 4 megas e queria saber como e faco para utilizar o NatAcl com esses 3 links, os 3 sao links adsl autenticado no modem route onde
eth0 = 192.168.254.1 4 megas
eth1 = 192.168.254.2 4 megas
eth2 = 192.168.254.3 4 megas
eth3 = é a porta de saida para os meus clientes
se alguem puder por gentileza me informar como fazer ficarei muito agradecido

[122] Comentário enviado por hookdigao em 17/04/2007 - 15:37h

Tatototino, parabens pelo artigo, deu tudo certo no meu, só umas headers que ficaram faltando mas eu dei um jeito nisso, mas estou com uma duvida. Voce conseguiu fazer aparecer o usuario nos relatorios do sarg usando o natacl? no meu so aparece o ip da maquina, tem como fazer isso?

[123] Comentário enviado por vladijr em 17/04/2007 - 20:23h

tatotino muito bom o seu artigo mas estou com um problema instalei o natacl sem nenhum erro ja configurei o squid mas quando digito o comando NatACL & ele me retorna comando não encontrado o q pode estar ocorrendo?

[124] Comentário enviado por hookdigao em 18/04/2007 - 08:22h

Vladijr é bem provavel que tenha dado um erro la no começo, comigo aconteceu a mesma coisa, estava faltando a header pcap.h, mas mesmo faltando essa header a instalaçao é completada, instale a libpcap-dev e depois make novamente e tente denovo

[125] Comentário enviado por vladijr em 18/04/2007 - 09:22h

consegui fazer a instalação agora quando eu abro o navegador do cliente ele não pede nem usuario nem senha e aparece um erro (111) connection refused o q pode estar acontecendo o NatACL ta rodando e o proxy tambem

[126] Comentário enviado por hookdigao em 18/04/2007 - 11:15h

deve ser alguma coisa com o banco, ve se o mysql ta rodando, tenta acessar a o DB NatACL manualmente pelo mysql, se prefirir instale o phpmyadim e acesse o banco pelo browser

[127] Comentário enviado por vladijr em 18/04/2007 - 12:40h

desculpe a pergunta mas qual o comando q eu uso para verificar se o DB NatACL está rodando? sou iniciante e ainda ando apanhado um pouco

[128] Comentário enviado por hookdigao em 18/04/2007 - 16:45h


[129] Comentário enviado por maxwsilva em 19/04/2007 - 23:45h

tatototino, muito bom seu artigo, fiz a configuracao e ficou muito bom, parabens!
Meu unico problema agora eh que ele tah deixando mais de um usuario entrar com o memo login, mesmo com o parametro SIMULTANEOUS_LOGON: NO
Jah testei todos os modos do AUTH_UNIX TYPE EXPIRE_TIME
Como resolvo isso ? Segue abaixo o meu NatACL.conf:

# NETWORK CONFIGURATION
#************************************************************************

# LAN_INTERFACE
# Set the network who will have access to this program
# LAN_INTERFACE [interface] [network/class]
# If you have only one lan interface, you may remove one line.
LAN_INTERFACE eth1 192.168.2.0/24

# WAN_INTERFACE
# Set the output internet address
# WAN_INTERFACE [interface] [local address]
WAN_INTERFACE eth2 192.168.254.1

# NAT_TYPE
# Configure the type of your network nat/firewall
# You can create you own type, just add the respective configuration to the RULE section.
# Default existing configuration:
#IPTABLES_NAT
#IPTABLES_PROXY
#IPFW_NAT
#IPFW_PROXY

NAT_TYPE: IPTABLES_PROXY

#define if you will allow simultaneous users at the same tame
SIMULTANEOUS_LOGON: NO

#If you use Freebsd and IPFW/NATD You must set the NATD port
#NATD_PORT: 31000

#If you use Proxy instead NAT, you must define the PROXY PORT
PROXY_PORT: 3128

# MODULE CONFIGURATION
#************************************************************************

# AUTH_UNIX
# Set the expire time and expire method for users using the unix password

# Args: EXPIRE_TIME <Time to live in seconds>
# EXPIRE_PING
# EXPIRE_PINGTIME <Time to live in seconds>

# WARNING: If you use Expire_POPUP, make sure that you have an anti-popup browser disabled.

AUTH_UNIX TYPE EXPIRE_PINGTIME 600

#
# AUTH_MYSQL
# Set the configuration to the mysql database
# Args: Mysql_Host Mysql_db Mysql_user Mysql_password
# Ex. AUTH_MYSQL 127.0.0.1 NatACL User "password"
AUTH_MYSQL 127.0.0.1 NatACL root senha



# RULE SECTION
#************************************************************************
# You dont have to alter this part, unless you know what are you doing.
# You can have multiples configuration, even if you dont have a specific firewall. It will not matter.
# Set the NAT_TYPE to your specific rule.

# START RULE - Is executed only once, when NatACL is run.
# INIT RULE - Is executed one time for each LAN_INTERFACE, when NatACL is run.
# GRANT RULE - Is executed when a user logon.
# REVOKE RULE - Is executed when a user expires.


# Rules for Linux IPTABLES_NAT
#IPTABLES_NAT START "/sbin/iptables -t nat -F"
IPTABLES_NAT INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT
--to-destination [WAN_ADDRESS]:5121"
IPTABLES_NAT INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_NAT GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -d 0/0 --dport 80 -j ACC
EPT"
IPTABLES_NAT GRANT "/sbin/iptables -t nat -I POSTROUTING -p tcp -s [CLIENT_ADDRESS] -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_NAT REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -d 0/0 --dport 80 -j ACC
EPT"
IPTABLES_NAT REVOKE "/sbin/iptables -t nat -D POSTROUTING -p tcp -s [CLIENT_ADDRESS] -j SNAT --to-source [WAN_ADDRESS]"

# Rules for Linux IPTABLES_PROXY
#IPTABLES_PROXY START "/sbin/iptables -t nat -F"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"
IPTABLES_PROXY INIT "/sbin/iptables -t nat -I POSTROUTING -p udp --dport 53 -j SNAT --to-source [WAN_ADDRESS]"
IPTABLES_PROXY GRANT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"
IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

# Rules for Freebsd IPFW_NAT
#IPFW_NAT START "ipfw del 8"
#IPFW_NAT START "ipfw del 9"
#IPFW_NAT START "ipfw del 10"
#IPFW_NAT INIT "ipfw add 10 fwd 127.0.0.1,5121 tcp from [LAN_INTERFACE] to any 80"
#IPFW_NAT INIT "ipfw add 10 fwd 127.0.0.1,5122 tcp from [LAN_INTERFACE] to any 5122"
#IPFW_NAT GRANT "ipfw add 8 divert [NATD_PORT] ip from [CLIENT_ADDRESS] to any out xmit [WAN_INTERFACE] "
#IPFW_NAT GRANT "ipfw add 9 skipto 11 all from [CLIENT_ADDRESS] to any"
#IPFW_NAT REVOKE "ipfw del 8 divert [NATD_PORT] ip from [CLIENT_ADDRESS] to any out xmit [WAN_INTERFACE] "
#IPFW_NAT REVOKE "ipfw del 9 skipto 11 all from [CLIENT_ADDRESS] to any"

# Rules for Freebsd IPFW_PROXY - PROXY PORT
#IPFW_PROXY START "ipfw del 8"
#IPFW_PROXY START "ipfw del 9"
#IPFW_PROXY START "ipfw del 10"
#IPFW_PROXY INIT "ipfw add 10 fwd 127.0.0.1,5121 tcp from [LAN_INTERFACE] to any 80"
#IPFW_PROXY INIT "ipfw add 10 fwd 127.0.0.1,5122 tcp from [LAN_INTERFACE] to any 5122"
#IPFW_PROXY GRANT "ipfw add 8 fwd 127.0.0.1:[PROXY_PORT] tcp from [CLIENT_ADDRESS] to any 80"
#IPFW_PROXY GRANT "ipfw add 9 skipto 11 all from [CLIENT_ADDRESS] to any"
#IPFW_PROXY REVOKE "ipfw del 8 fwd 127.0.0.1:[PROXY_PORT] tcp from [CLIENT_ADDRESS] to any 80"
#IPFW_PROXY REVOKE "ipfw del 9 skipto 11 all from [CLIENT_ADDRESS] to any"

[130] Comentário enviado por bobbyjr em 01/05/2007 - 09:25h

Para quem teve problemas no debian ao instalar com o erro "Missing library: xml2", é só instalar o pacote libxml2-dev

ótimo artigo, vlw

[131] Comentário enviado por maxwsilva em 06/05/2007 - 12:08h

Resolvi o problema da autenticação simultânea:
1) A chave ssl tava com erro (cert_server.pem), usei a padrão ao invés de usar a gerada pelo make.
2) Usei este método de expiração no NatACL.conf: AUTH_UNIX TYPE EXPIRE_PINGTIME 600 # (dez minutos sem ping, cai fora)

Agora tah tudo 100% =)

[132] Comentário enviado por rideick em 31/05/2007 - 13:10h

Aqui compilei todo direitinho... mas não encontro o NatACL pra executar..... o q faço?

[133] Comentário enviado por galinaceo em 31/05/2007 - 18:30h

browwwww

parabens pelo artigo!

instalei e configurei no mandriva 2006, mas ao dar o comando

# NatACL &

retorna isso

bash: NatACL: command not found
[1] 10367
[1] Exit 127 NatACL


vc sabe como corrigir?

[134] Comentário enviado por marceloleite em 03/07/2007 - 13:01h

Olá Amigos.
Sou novato em Linux, estou tentando fazer funcionar o NatAcl mas estou tendo um pouco de dificuldades, por falta de conhecimento da minha parte.
Estou usando o Kubunto e instalei quase todas as bibliotecas que o natacl foi me pedindo. Porem falta alguma que eu não consigo descobrir.
Se puderem ajudar, segue o erro de instalação logo abaixo.
Obrigado.
root@proxy-plithy:/home/admin/NatACL.3.0.Beta15# make
cc build_make.c -o .fastmake/build_fast_make.bin
./.fastmake/build_fast_make.bin
Searching Library: [ xml2] FOUND: /usr/lib
Searching Include: [ iconv.h] FOUND: /usr/include
Searching Include: [ libxml/xmlversion.h] FOUND: /usr/include/libxml2
./install.bin make.xml build
Building project: NatACL

- Build Program: NatACL_config -----------------
[System Include path: src/includes]
[System Include path: src/common]
[System Include path: /usr/local/include]
[System Include path: /usr/include]
[System library path: /usr/local/lib]
[System library path: /usr/lib]

-------------------------------------------------------
Searching...

[Include: sqlite3.h] [FOUND]: /usr/include
[Include: socket_tools.h] [FOUND]: src/common
[Library: sqlite3] [FOUND]: /usr/lib
[Library: iptc] [NOT FOUND - NON-CRITICAL
[Library: ssl] [NOT FOUND - NON-CRITICAL

Compiling...

Build NatACL_config.c OK - NOT CHANGED
Build ../common/db.c OK - NOT CHANGED
Build ../common/conversion.c OK - NOT CHANGED
Build ../common/socket_tools.c

src/NatACL_config/../common/socket_tools.c:34:25: error: openssl/ssl.h: No such file or directory
In file included from src/NatACL_config/../common/socket_tools.c:36:
src/NatACL_config/../common/../common/socket_tools.h:23: error: syntax error before 'SSL'
cc1: warnings being treated as errors
src/NatACL_config/../common/../common/socket_tools.h:23: warning: no semicolon at end of struct or union
src/NatACL_config/../common/../common/socket_tools.h:25: error: syntax error before 'SSL'
src/NatACL_config/../common/../common/socket_tools.h:31: error: syntax error before 'SSL'
src/NatACL_config/../common/../common/socket_tools.h:33: error: syntax error before 'SSL'
src/NatACL_config/../common/socket_tools.c:39: error: syntax error before 'SSL'
src/NatACL_config/../common/socket_tools.c: In function 'sock_buf_init':
src/NatACL_config/../common/socket_tools.c:43: error: invalid application of 'sizeof' to incomplete type 'struct s_buf_hdr'
src/NatACL_config/../common/socket_tools.c:48: error: invalid application of 'sizeof' to incomplete type 'struct s_buf_hdr'
src/NatACL_config/../common/socket_tools.c:50: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:50: error: 'fd' undeclared (first use in this function)
src/NatACL_config/../common/socket_tools.c:50: error: (Each undeclared identifier is reported only once
src/NatACL_config/../common/socket_tools.c:50: error: for each function it appears in.)
src/NatACL_config/../common/socket_tools.c:52: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:52: error: 'ssl_client' undeclared (first use in this function)
src/NatACL_config/../common/socket_tools.c: In function 'sock_buf_read':
src/NatACL_config/../common/socket_tools.c:71: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:72: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:75: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:75: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:75: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:77: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:77: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:78: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:80: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:81: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:82: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:84: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:84: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:84: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:88: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:89: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:90: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:90: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:91: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:91: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:91: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:92: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:92: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:93: error: dereferencing pointer to incomplete type
src/NatACL_config/../common/socket_tools.c:95: error: dereferencing pointer to inc

FAILED

[135] Comentário enviado por tatototino em 04/07/2007 - 14:38h

tente instalar o openssl e o iptc, deu erro na seguinte linha:

[Library: iptc] [NOT FOUND - NON-CRITICAL
[Library: ssl] [NOT FOUND - NON-CRITICAL

depois tente de novo

[136] Comentário enviado por marceloleite em 04/07/2007 - 19:08h

Opá blz.
Obrigado pela dica.
Mas o pior é que o Openssl já está instalado. Nesse caso vou ver se existe alguma atualização.
No caso do iptc, eu não consigo acha esse pacote somente como iptc, existe iptc com um monte de combinação, só não tem ele sozinho. Ou o pacote que tenho que instalar é iptc+alguma_coisa.
Vlw.

[137] Comentário enviado por removido em 21/07/2007 - 11:43h

marceloleite, vc tem que instalar o pacote iptables-devel e o openssl-devel... valeu ;-)

[138] Comentário enviado por iosimura em 06/08/2007 - 16:48h

Comentário enviado por tatototino em 19/12/2006 - 04:57h:

Olá lavoie, o seu erro deve se o fato de não encontra essa header "ssl.h", verifique se você tem o pacote "OpenSSL" instalado, ou procure essa header com o comando find.



##############################################
#### ATENÇÃO ###################################

PARA RESOLVER ESTA QUESTÃO DA LIB SSL.H PROCEDA:

apt-get install libssl-dev

Pronto ai sim ele acha a Lib e compila !!!

[139] Comentário enviado por iosimura em 06/08/2007 - 17:18h

E também colocar mysql.h assim:

apt-get install libmysqlclient15-dev

[140] Comentário enviado por cheopsmalta em 07/08/2007 - 00:49h

Pessoal, estou com o mesmo problema do amigo

# NatACL &

retorna
bash: NatACL: command not found

Como corrigir...

Abraços,
Cheops

[141] Comentário enviado por cheopsmalta em 08/08/2007 - 22:54h

Pessoal consegui resolver o problema acima do comand not found, agora estou com outro problema, quando executo o programa ele apresenta as seguintes mensagens de erro.

Bad argument `:5121'
Try `iptables -h' or 'iptables --help' for more information.
Starting Daemon

Será que alguem pode me ajudar??

Grato,
Cheops

[142] Comentário enviado por rfulan em 02/09/2007 - 12:57h

É possível alterar a mensagem do popup para este modo de expiração?
Já editei o arquivo do NatACL, mas depois dah erro e nao funciona.
Obrigado!

[143] Comentário enviado por fenix_se em 09/11/2007 - 18:42h

Olá !
há dias venho tentando rodar o rapaz em um fedora 4 e sem sucesso. Voce poderia me dizer o que sgnifica a mensagem UNKNOWN DATA quando starto o NatACL ? Ele roda mas esta mensagem fica constante na tela uma abaixo da outra sem parar.

desta forma:

[root@ns1 etc]#NatACL (enter)
UNKNOWN DATA
UNKNOWN DATA
UNKNOWN DATA

[144] Comentário enviado por reginaldoluiz em 20/12/2007 - 09:58h

Olá galera td bem?
Estou usando o Debian 4r, meu NatACL está funcionando com expiração por POP UP, porém quando eu fecho a POP UP dá o seguinte erro:

iptables: no chain/target/match by that name.

E depois que fecho a pop up, o certo seria o micro não acessar mais a net, pois a regra que concede a conexão é removida, através de [REVOKE] remove granted rule to... Correto? Mas isso não acontece, o micro continua acessando normalmente a net.

Olhei no NatACL.conf, não achei nenhum erro nas regras, procurei em vários lugares e não consegui solucionar, não sei mais o que faço, se alguém puder me ajudar agradeço muito.
Valeu!

[145] Comentário enviado por tatototino em 28/12/2007 - 21:26h

iptables: no target/chain/match by that name

Está dizendo que não tem nehuma regra para deletar com as informações que você definiu no arquivo de configuração do NatACL quando a sessão acaba. Por isso que a expiração não termina porque essa regra é responsável pelo fechamento da sessão.

Solução:

Troque a seguinte linha no seu arquivo de configuração do NatACL "/usr/local/etc/NatACL.conf":

IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

Para:

IPTABLES_PROXY REVOKE "/sbin/iptables -t nat -D PREROUTING -i [INTERFACE] -p tcp -s [CLIENT_ADDRESS] --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:[PROXY_PORT]"

Esse erro já foi mencionado no artigo.

[146] Comentário enviado por reginaldoluiz em 02/01/2008 - 16:42h

Muito obrigado pelo esclarecimento tatotino, deu certinho...
Mas andei reparando que as vezes alguns sites, como o gmail e o yahoo as vezes não entram, quando ocorre isso eu rodo o script de bootmisc.sh do Debian que é onde estam minhas regras do iptables que compartilham a Internet, depois de rodar esse script o gmail e o yahoo entram, mas depois de um tempo deixam de entrar novamente e tenho que rodar o script denovo, sendo que este script está colocado para iniciar automaticamente, já viu algo parecido acontecer?
As regras que estão no script sao as seguintes:

(eth1: placa de rede com IP fixo ligada ao modem do speedy bussiness.)
(eth0: placa de rede com IP fixo ligado ao switch da LAN.)

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eht1 -j SNAT --to 189.47.130.206

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A FORWARD -p tcp --tcp-flags SYN, RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

Obrigado mais uma vez.

[147] Comentário enviado por reginaldoluiz em 13/01/2008 - 18:07h

Consegui resolver o problema acima, coloquei as regras do iptables no arquivo /etc/init.d/rc.local, depois disso não tive mais problemas.
Valeu!

[148] Comentário enviado por reginaldoluiz em 18/01/2008 - 08:29h

Agora estou com o mesmo problema do fenix_se, UNKNOWN DATA!
Estava rodando tudo certinho, mas de repente começou a aparecer UNKNOWN DATA várias vezes na tela, quando abro o navegador, fico esperando e esperando e ele não redireciona pro NatACL nem faz nada, e aparece essa mensagem ai no shell do linux.
Fiz testes no MySQL, no Squid, no NatACL, está tudo rodando certinho, mas parou de redirecionar e acessar a net e aparece essa mensagem UNKNOWN DATA, alguém sabe o que significa isso??? Estou precisando urgente!
Obrigado.

[149] Comentário enviado por reginaldoluiz em 29/01/2008 - 10:36h

Alguém sabe de algum analisador de relatórios (tipo o SARG) que eu possa usar juntamente com essa solução de Squid+NatACL+MySQL aqui, que me mostre os relatórios com os nomes de usuários e não por IP?????
Já tentei o SARG e o MySAR, não consegui com nenhum dos dois!
Obrigado.

[150] Comentário enviado por reginaldoluiz em 22/02/2008 - 14:51h

O galera será que ninguém mais lê esse tutorial???
Estou precisando de ajuda com o NatACL, implementei esta solução de acordo com o tutorial e o servidor está instável.
Todos os dias, pelo menos uma vez no dia quando o usuário vai logar, digita usuario, senha e clica em submit, ele nao é redirecionado pra Net, permanece na mesma página de autenticação do NatACL, reinicio os serviços, reinicio o servidor e volta tudo ao normal, mas depois de um tempo, nem reiniciando o servidor 200 vezes não volta ao normal, ele simplesmente não sai da tela de autenticação, daí ele fica desligado durante um tempo e depois eu ligo ele e volta tudo ao normal.
O estranho é que nos logs nao aparece nenhum erro, os servicos estão todos rodando corretamente, suspeitei de problemas nos access points, mas todos estão operando normalmente também, pensei no hardware da máquina, mas está normal também.
Alguém já passou por situação semelhante ou sabe me esclarecer isso????
Obrigado!

[151] Comentário enviado por luciobarreto em 05/03/2008 - 11:12h

Olá! Também estou em busca de uma ferramenta para gerar os relatórios com os usuários do NatACL! Alguém conseguiu alguma coisa?

[152] Comentário enviado por carlosleonardo em 25/03/2008 - 14:08h

erro
comando make
cc build_make.c -o .fastmake/build_fast_make.bin
make: cc: comando nao encontrato
make: ** [all] erro 127

por favor o q fiz de errado pra acontecer isso ja baixei o coamndo make mas nao funfa anoa aparece pra colocar as coisas..

[153] Comentário enviado por fabiorvs em 10/04/2008 - 17:53h

Ola,

Gostaria de saber se tem como usar HTTP em vez de HTTPS na pagina de login.

Muito grato

[154] Comentário enviado por brunokino em 19/04/2008 - 17:24h

Caro tatototino,

eu estou usando atualmente a autenticação por ncsa_auth. e não é compativel com proxy transparente. achei o NatACL a solução ideial, mas o que eu queria saber é o seguinte.

Tem como eu criar ACL por usuário dentro do squid usando os usuário do NatACL?

Obrigado!

[155] Comentário enviado por tavinho em 06/08/2008 - 16:14h


Olá Tatotino

quando rodo o make da a seguinte mensagem.

Poderia me auxiliar..

/usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory
make: *** [all] Error 1

Muito grato

[156] Comentário enviado por maumauns em 07/08/2008 - 00:49h

Estou tendo a seguinte mensagem quando crio o usuario no Mysql.DUMP

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)

[157] Comentário enviado por kernelzinhu em 05/09/2008 - 14:17h

me parece que esse projeto ta abandonado... comecei a mexer, mas a última versão é de 2006

[158] Comentário enviado por shirleymsa em 22/02/2009 - 23:31h

Quando tento executar o comando NatACL & aprensenta a seguinte mensagem:
-bash: NatACL: command not found
Já vi aqui nos comentários alguns com o mesmo problema porém a solução não postaram, apenas disseram que conseguiram resover. peço que me ajudem. Obrigada!

[159] Comentário enviado por j.gimenes em 17/03/2009 - 20:57h

Boa noite All.

Resolvi testar o NatACL hoje, instalei no Debian Lenny autenticando no MySQL e quase tudo funcionou perfeitamente, porem quando quanto tento acessar a Internet com um usuário que não está está cadastrado no banco o seguinte erro é exbido:

Missing [AUTH_UNIX] in /usr/local/etc/NatACL.conf

Após o erro é necessário iniciar o NatACL novamente.

Alguem aqui tem alguma ídeia de como corrigir este problema?

Tentei tambem instalar a versão 3.0 - beta 15, porem sem sucesso !!!

Tatototino, parabés pelo seu artigo.








[160] Comentário enviado por j.gimenes em 17/03/2009 - 21:57h

Resolvi o problema citato acima (Missing [AUTH_UNIX] in /usr/local/etc/NatACL.conf) retirando o comentário da linha "AUTH_UNIX TYPE EXPIRE_PINGTIME 3600" do arquivo /etc/NatACL.
Mantive a autenticação no MySQL com sucesso.

[161] Comentário enviado por vinicius.campelo em 15/04/2009 - 16:24h

Boa Tarde, instalei o NatACl, mas antes de redirecionar pra tela de login entra a
mensagem de erro de certificado de segurança.

Alguem sabe resolver esse problema de https? Ou passar o NatACL para http?


[162] Comentário enviado por eleandrofox em 01/05/2009 - 18:31h

Socorro fiz tudo que o tuto manda mas num consegui fazer rodar ele num carrega o login, onde posso ter errado? O Mysqle ta importado olhei pelo phpmyadmin, conferi os dados de acesso ip e tal e nada.
Se algume puder ma ajudar uso o UBUTU meu msn eleandro@foxsolucoes.com.br, desde ja agradeço

[163] Comentário enviado por djuluca em 22/05/2009 - 09:17h

oi pessoal, tou com um probleminha tambem no NatACL. quando dou o make ele retorna o seguinte ero:

[Include: sqlite3.h] [FOUND]: /usr/include
[Include: socket_tools.h] [FOUND]: src/common
[Library: sqlite3] [FOUND]: /usr/lib
[Library: iptc] [NOT FOUND - NON-CRITICAL
[Library: ssl] [FOUND]: /usr/lib

Compiling...

Build NatACL_config.c

cc1: warnings being treated as errors
src/NatACL_config/NatACL_config.c: In function ‘get_natacl_dhcp_pid’:
src/NatACL_config/NatACL_config.c:57: error: ignoring return value of ‘fread’, declared with attribute warn_unused_result
src/NatACL_config/NatACL_config.c: In function ‘get_natacl_web_pid’:
src/NatACL_config/NatACL_config.c:73: error: ignoring return value of ‘fread’, declared with attribute warn_unused_result


FAILED

:
como posso resolver iso.
desde ja fico grato

[164] Comentário enviado por alexalves100 em 28/07/2009 - 13:25h

ola pessoal, eu segui o tutorial e isntalei tudo ok, mas não sei como criar os usuários e grupos no natacl, se alguém puder em ajudar, e dar uma dica ou indicar algun tópico, ficarei feliz....

[165] Comentário enviado por mcsba em 07/08/2009 - 14:48h

Uso debian.
Estou com esse problema pra instalar.
Já instalei a biblioteca xml2 e mesmo assim continua o erro. Alguém pode me auxiliar?

cc build_make.c -o .fastmake/build_fast_make.bin
./.fastmake/build_fast_make.bin
Searching Library: [ xml2] NOT FOUND
Missing library: xml2
Exiting
make: *** [all] Error 255

[166] Comentário enviado por info24hs em 10/08/2009 - 16:27h

Aqui esta a resposta para alguns erros de library.. http://www.vivaolinux.com.br/topico/vivaolinux/NatAcl

[167] Comentário enviado por mcsba em 12/08/2009 - 10:51h

Uso debian.


Não consegui rodar o comando NatACL &
Command not found.
É preciso fazer alguma configuração específica no squid.conf?

[168] Comentário enviado por minduim em 13/08/2009 - 00:09h

mcsba, eu estava com o mesmo probleba e resolvi assim:
# apt-get install xml2 libxml2 libxml2-dev

Boa sorte e até mais.

[169] Comentário enviado por hugo.andrade em 17/11/2009 - 10:39h

Segui o tutorial e deu tudo certinho... porem nao consegui rodar o comando NatACL &
Só da command not Found

Alguem pode me ajudar??? Por favor...
Desde ja agradeço a quem possa ajudar...

[170] Comentário enviado por rideick em 17/11/2009 - 10:45h

Olã garoto!

Com certeza o NatACL não foi compilado corretamente. Reveja a compilação do mesmo, fique atento as mensagens de erro.

Abraço.

[171] Comentário enviado por hawk_braz em 16/12/2009 - 14:39h

Bom, a instalação foi bem, porém quando vou tentar iniciar o NatACL me retorna o seguinte erro:

root@app:/# NatACL &
[1] 13124
root@app:/# -bash: NatACL: comando não encontrado

[1]+ Exit 127 NatACL
root@app:/#

Já tentei todas as soluções citadas acima mas não resolveu nada.

Uso o Squid 2.7 Stable 3 no Ubuntu 9.04

Alguem por favor me ajude ????

[172] Comentário enviado por ClerisonSantos em 13/01/2010 - 11:07h


Ole pessoal , estou tentando implementar o NatACL aqui na minha rede mas ao carregar a linha abaixo. ocorre o erro no iptables

IPTABLES_PROXY INIT "/sbin/iptables -t nat -I PREROUTING -i [INTERFACE] -p tcp -s [LAN_INTERFACE] -d 0/0 --dport 80 -j DNAT --to-destination [WAN_ADDRESS]:5121"

# NatACL &
#Bad argument ':5121'
Try 'iptables -h' or 'iptables --help' for more infomation

[173] Comentário enviado por MiquieasReale em 05/04/2010 - 13:26h

Boa tarde, gostei do artigo, só tenho uma duvida, hoje tenho regras no meu squid.conf com grupos de usuario que tem acesso a internet com nivel diferente, e utilzo metodo de autenticação children 5 este NatACL vai respeitar as regras existentes ou terei que fazer chamadas especificas para os usuarios do mysql?

[174] Comentário enviado por luivilella em 26/04/2010 - 13:19h

tatototino, parebens pelo artigo nota 10. porem esto com problemas aqui:
ServerDebian:/# NatACL &
[1] 2802
ServerDebian:/# bind: Address already in use

[1]+ Done NatACL


Dei uma olhada nas suas dicas e :


ServerDebian:~# ps auxw | grep -i natacl
root 2608 0.2 0.1 3536 344 pts/0 S 10:17 0:00 NatACL
root 2610 0.0 0.3 3140 824 pts/0 S+ 10:18 0:00 grep -i natacl

ServerDebian:~# netstat -an | grep -i "listen"

ServerDebian:~# nmap -sS localhost -p 5121-5122

Starting Nmap 4.62 ( http://nmap.org ) at 2010-04-26 10:18 BRT
Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE
5121/tcp open unknown
5122/tcp open unknown

Nmap done: 1 IP address (1 host up) scanned in 0.108 seconds

Se Puder Ajudar Agrade;o. ah abri um topico http://www.vivaolinux.com.br/topico/Redes/NatACL-2

[175] Comentário enviado por luivilella em 26/04/2010 - 13:49h

Uma outra duvida.. Eu tenho em minha rede varias subnetes e claro varios alias para gateway da minha rede em:

# Aqui você define quem vai ser o gateway de sua rede
WAN_INTERFACE eth0 192.168.162.1

minha rede eh 192.168.100.0/24 e o gateway desta rede eh o 254

coloco esse gateway ou gateway principal do servidor que este eh ond chega a net.

[176] Comentário enviado por otaviorme em 12/07/2010 - 21:12h

Segui seu artigo está tudo funcionando no entanto se eu criar um usuário esse mesmo usuário pode logar em quantas maquinas quizer e ficar navegando eu gostaria que ao se logar em outra máquina derrubasse a sesão aberta em outro terminal. É possível?

Obrigado

[177] Comentário enviado por id01 em 08/12/2010 - 12:32h

Bom Dia a todos,

Estou apanhando muito para configurar o NatACL,
ja tenho o squid transparente rodando a anos, ai fui colocar o NatACL

segui o tutorial e tive que acrecentar mais algumas coisas tipo:

- mysql pelo sistena
- apt-get install openssl
- apt-get install libssl-dev
- apt-get install libxml2-dev
- apt-get install libmysql++-dev
- apt-get install libpcap-dev

porem tudo nave tranquilo, mas quando executo o NatACL &,

para a navegacao inclusive do hospedeiro ( servidor )
alguem pode me dar uma luz ?

ADD no msn se possivel fico on o dia todo,

id01@id01.com.br

abraço

[178] Comentário enviado por klissmann em 25/10/2011 - 17:44h

QUANDO EU DOU O COMANDO:
MAKE

[Library: iptc] [NOT FOUND - NON-CRITICAL

DA ESTE ERRO, COMO POSSO RESOLVER

[179] Comentário enviado por virgiliomax em 30/11/2011 - 09:07h

Alguém já conseguiu configurar com êxito, outros meios de autenticação. Por exemplo, o ntlm_auth ou algo similar?!

[180] Comentário enviado por robsonsbrasil em 17/02/2012 - 08:21h

Estou com problema com o IPTC (NOT FOUND), estou passando pelo mesmo problema. Gostaria de saber se você solucionou o mesmo e como fez isso. Onde consigo esse pacote para debia squeeze
Se possível mande seus contatos.
Obrigado.

Searching...

[Include: sqlite3.h] [FOUND]: /usr/include
[Include: socket_tools.h] [FOUND]: src/common
[Library: sqlite3] [FOUND]: /usr/lib
[Library: iptc] [NOT FOUND - NON-CRITICAL
[Library: ssl] [FOUND]: /usr/lib


ROBSON SILVA
msn: robsonsbrasil@hotmail.com

[181] Comentário enviado por mthlima em 09/10/2012 - 12:57h

Olá amigos!

Consegui instalar corretamente o NatACL.

Quando ele está parado o Squid funciona corretamente, todo os bloqueios etc..

Uma vez q eu inicio o serviço, as regras do Squid se perdem ou nenhuma das regras funciona, todos os acessos são permitidos inclusive os sites que deveriam ser negados.

Alguém faz ideia do que possa ser?

Grato


[182] Comentário enviado por rafamb em 06/12/2012 - 13:43h

Pena que o NatACL não está mais disponível no site, mas é um baita projeto!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts