Instalar ISA Proxy Client (ntlmaps) no Ubuntu Server 8.10 [Dica]

Iniciado por Renato Krause, 30 de Janeiro de 2009, 12:50

tópico anterior - próximo tópico

Renato Krause

Gostaria de compartilhar com todos essa dica. Notei que em muitos lugares na internet os usuários do Linux em geral tem essa dificuldade mas não encontrei material satisfatório para o Ubuntu 8.10 porém a partir de informações encontradas montei essa dica.
Essa dica dependeu muito da ajuda de clcampos no tópico:
http://ubuntuforum-br.org/index.php/topic,45760.0.html

A grande dificuldade inicial que temos ao instalar o ntlmaps é que seria simples instalar caso tivéssemos acesso à internet. Bastaria executar:
sudo apt-get install ntlmaps
Porém precisamos configurar o ntlmaps para podemos acessar a internet. Logo, teremos que baixar o arquivo do ntlmaps em outro computador e colocarmos no servidor Ubuntu. Aconselho realizar isso via CD conferindo o md5.

A versão do ntlmaps que utilizo nessa dica é a ntlmaps_0.9.9.0.1-10_all.deb, porém a sua pode ser diferente.
O arquivo está disponível para download em:
http://packages.ubuntu.com/intrepid/all/ntlmaps/download

O ntlmaps cria um proxy local no seu servidor que estabelece conexão com o proxy ISA encaminhando assim o trafego ao ISA e por sua vez a internet.

INSTALANDO O NTLMAPS
Após ter copiado o arquivontlmaps_0.9.9.0.1-10_all.deb para a sua pasta de usuário e execute os seguintes comandos:
cd ~
sudo dpkg -i ntlmaps_0.9.9.0.1-10_all.deb

A instalação lhe pedirá que complete algumas informações. Responda do seguinte modo:
CitarPorta de escuta: 8080
Proxy Pai: [nome servidor isa]
Nome de utilizador do windows nt: [usuário com permissão no isa]
Selecione ok e informe a senha para a conta informada acima.

CONFIGURANDO O NTLMAPS

Infelizmente as informações passadas na instalação geralmente não são suficientes para estabelecer a conexão com o ISA por conta desse estar em um domínio (configuração não solicitada). Vamos configurar através da edição do arquivo:
sudo nano /etc/ntlmaps/server.cfg

Vamos alterar as seguintes configurações:
CitarPARENT_PROXY_PORT: 8080 (substitua 8080 pela porta utilizada pelo seu ISA)
NT_DOMAIN: [domínio]

Altere o proprietário do arquivo (Tive alguns problemas de "connection refused" difíceis de detectar, a solução foi alterar as permissões):
sudo chown [usuário Ubuntu] /etc/ntlmaps/server.cfg

Salve, feche o arquivo e reinicie o ntlmaps:
/etc/init.d/ntlmaps restart

Pronto, o seu proxy local está criado e redirecionando o tráfego para o ISA nesse ponto. Agora vamos configurar o sistema e o APT para utilizar o proxy local para acessar a internet:
sudo nano /etc/profile

Acrescente ao final do arquivo:
Citarhttp_proxy="http://localhost:8080"
ftp_proxy="http://localhost:8080"
export http_proxy ftp_proxy

Execute:
sudo nano /etc/apt/apt.conf.d/02proxy

E coloque o seguinte conteúdo no arquivo:
CitarAcquire {
HTTP::PROXY=localhost:8080;
FTP::PROXY=localhost:8080;
}

REALIZANDO TESTES
Agora executaremos um teste simples:
sudo apt-get update

OBS.: O jeito que eu encontrei de verificar possíveis erros que possam estar ocorrendo com o nmaps é chamando ele manualmente. Deixo para possíveis problemas não esperados que você possa encontrar.
/etc/init.d/ntlmaps stop
python /usr/share/ntlmaps/main.py -c /etc/ntlmaps/server.cfg


Espero que isso de algum modo possa ser útil para a comunidade e desculpem-me qualquer erro: fiz essa dica na corrida.

rogerio.alcantara

#1
Olá Renato, boa tarde, tudo bem?

Eu demorei para escrever pq estava tentando viver sem o apt-get. Mas é impossível! Qualquer pacote que eu quero instalar ficar um parto baixar um-a-um as suas dependências..

Bom, eu iniciei tudo do zero, removi o pacote do ntlmaps com "purge" (-P), baixei o pacote novamente e segui passo-a-passo o tutorial.

Apenas confirmando (no meu caso)
Porta: 8080
Proxy Pai: 192.168.0.1
Usuário: ralcantara
Senha: minha-senha-de-rede-no-windows

Depois editei o arquivo "server.cfg". A porta já estava correta (8080), e adicionei o dominio ("TSOIT" no meu caso).

Em seguida, editei o profile e criei o 02proxy, conforme descrito.

Ainda conferi que o "Sistema > Preferência > Proxy da Rede" e no "Sistema > Admnistração > Gerenciador de Pacotes Synaptic > Configurações > Preferências > Rede" estão setados como "Conexão Direta a Internet".

Depois da configuração, no terminal eu consigo pingar normalmente o google por exemplo

ping google.com.br

e consigo pingar o meu endereço interno do proxy, que no meu caso é 192.168.0.1.

Porém quando eu dou o comando

sudo apt-get update

o resultado que tenho um é

0% [Aguardando por cabeçalhos] [Aguardando por cabeçalhos]

eterno..

Já parei o serviço do ntlmaps e o "rodei na mão", como vc comentou e tentei dar um sudo apt-get update, mas ele não apresenta nada. Nem erro nem sucesso nada. Fica apenas no eterno:


python /usr/share/ntlmaps/main.py -c /etc/ntlmaps/server.cfg
NTLM authorization Proxy Server v0.9.9.0.1
Copyright (C) 2001-2004 by Dmitry Rozmanov and others.
Now listening at comp042 on port 8080


O engraçado, é que a configuração do proxy no ff3 funciona perfeito. Com os mesmos parametros..

Tem alguma idéia do que eu posso ter errado?

--editado

Deixei o apt-get rolando no terminal e o resultado que retornou, depois de bastante tempo, foi:


Err http://br.archive.ubuntu.com intrepid/restricted Translation-pt_BR
  Não foi possível conectar em localhost:8080 (127.0.0.1). - connect (111 Conexão recusada)


..para cada pacote que o apt-get tentou baixar.

..tentei dar um telnet para localhost 8080 e também deu conexão recusada. Bom, na verdade, não sei se é possível dar um telnet para localhost (sou iniciante, desculpe a ignorância..)

alguma luz?

Muito obrigado.

rogerio.alcantara

#2
Olá Renato,

Algumas coisas que eu tentei:

- Desinstalei o ntlmaps usando -P novamente.

- Dessa vez deixei a porta sugerida, a 5865.

- Configurei o server.cfg

- Mudei as configurações do profile e do 02proxy para a nova porta.

- Configurei o ff3 para o proxy localhost:5865
Quando fui acessar uma página, ele pediu usuário e senha.
Forneci o meu usuário e senha da rede do windows e funcionou. Ele conseguiu acessar a net.

- Fui pro terminal

- Parei e iniciei o serviço ntlmaps "na mão".

- Abri outra aba do terminal e fiz um "apt-get update"

agora ele não demora mais, porém para cada pacote, ele exibe:

W: Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/dists/intrepid-updates/multiverse/binary-i386/Packages.gz ; 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )

E na aba do terminal onde o ntlmaps estava rodando na mão, não apresentou nenhum problema.

Também segui algumas dicas desse post: http://ubuntuforums.org/archive/index.php/t-537651.html, mas continuo na mesma.. =/

Alguma sugestão?

Muito obrigado.

Renato Krause

Por gentileza, poste os arquivos:

/etc/ntlmaps/server.cfg
/etc/profile

Renato Krause

Colegas,
Vou colocar uma pequena observação. Estava instando um server Ubuntu agora e começou a ocorrer o mesmo problema com vocês. Pensei, pensei e reparei que estamos mexendo com o arquivo /etc/profile. Depois da configuração desloguei e loguei novamente e estava tudo funcionando. Peço que testem algo a respeito e vamos ver se o problema de vocês soluciona-se. Caso contrario vamos continuar em comunicação para resolver essas questões.

Black Sunshine

Ressuscitando o tópico, não se deve esquecer de inserir o nome do domínio no arquivo server.cfg. Tive problemas com isso. Prefiram reiniciar o micro ao invés de reiniciar o serviço. Comigo só funcionou assim.

Outra coisa, essa dica só funciona no Ubuntu, por incrível que pareça. Tentei em várias distribuições baseadas em Debian e em nenhuma outra funcionou. Nem no Kubuntu.
"Só existem duas coisas infinitas: o universo e a burrice humana. E ainda tenho dúvidas quanto à primeira." - Albert Einstein.