cntlm
fornece uma solução, juntamente com algumas configurações.
Os passos básicos a seguir são:
- Instale o cntlm.
- Edite seu arquivo de configuração em /etc/cntlm.conf, os comentários incluídos facilitam bastante.
- Adicione um servidor proxy (ou dois).
- Especifique seu nome de usuário e nome de domínio NT nos locais apropriados e remova a entrada da senha.
Inicie o serviço cntlm, por exemplo, via
$ sudo /etc/init.d/cntlm start
O cntlm fornece uma maneira de testar o proxy e gerar um hash a partir da sua senha - por exemplo, pelo comando (como root)
$ cntlm -I -M http://www.test.com
O cntlm solicitará sua senha de domínio. Em seguida, ele testará diferentes mecanismos de autenticação no servidor proxy configurado. Quando um método de trabalho é encontrado, ele imprime duas linhas que precisam ser inseridas no arquivo de configuração.
- Pare o servidor cntlm e adicione as linhas obtidas na etapa 6 acima a
/etc/cntlm.conf
.
- Reinicie o cntlm
Agora cntlm
está em execução e pronto para ser usado. Vários locais podem ser usados para configurar vários programas para usá-lo. cntlm
adicionará transparentemente tokens de autenticação de domínio NT aos pacotes enviados e os encaminhará para o servidor proxy configurado.
Usando o Qt / KDE
Para aplicativos nativos do Qt / KDE, especifique "Usar servidor proxy configurado manualmente" em Configurações do sistema KDE -> Configurações de rede -> Configurações de proxy . O proxy é especificado como http://localhost
na porta 3128 (o padrão é, a cntlm
menos que você o tenha alterado). Esses aplicativos são atualizados dinamicamente com novas configurações e não é necessário reiniciar ou fazer logout / login para atualizar as configurações.
Dropbox e clientes do Google
Muitos aplicativos podem usar variáveis de ambiente do shell. Digno de nota aqui são os clientes do Dropbox e do Google Earth. Para esses aplicativos, use variáveis de ambiente do shell como estas:
no_proxy=localhost,127.0.0.0/8,*.local
NO_PROXY=localhost,127.0.0.0/8,*.local
all_proxy=socks://localhost:3128/
ALL_PROXY=socks://localhost:3128
http_proxy=http://localhost:3128
HTTP_PROXY=http://localhost:3128
ftp_proxy=http://localhost:3128
FTP_PROXY=http://localhost:3128
https_proxy=http://localhost:3128
HTTPS_PROXY=http://localhost:3128
s3cmd, curl e wget
Nota: Alguns aplicativos usarão apenas os nomes em minúsculas, outros apenas os nomes em maiúsculas, alguns tentarão primeiro um e depois o outro.
s3cmd
(O cliente Amazon S3) curl
e , wget
adicionalmente , podem ser configurados por meio de seus próprios arquivos de configuração. Isso é útil porque eles lêem seus próprios arquivos de configuração em cada chamada. Como esses programas geralmente têm vida curta (existe uma única chamada após a conclusão do download), isso é muito útil.
O formato para s3cmd
in ~/.s3cfg
é:
proxy_host = localhost
proxy_port = 3128
O formato para o wget in ~/.wgetrc
é:
https_proxy = http://localhost:3128
http_proxy = http://localhost:3128
ftp_proxy = http://localhost:3128
O formato para curl
in ~/.curlrc
é:
proxy = localhost:3128
Por outro lado, a edição do perfil do shell ou de outros arquivos de configuração do ambiente geralmente requer reinicialização, logoff e logon ou similar. Vale a pena investigar /etc/environment
, etc ~/.pam_environment
, ~/.kde/env/proxy.sh
pois esses são locais padrão para definir configurações de proxy configuradas por meio de variáveis de ambiente do shell, principalmente para afetar todos os usuários e serviços no sistema.
Também entendo que é possível alterar as configurações do ambiente por aplicativo usando seus respectivos .desktop
arquivos, mas ainda não o tentei (com sucesso).
VirtualBox
O VirtualBox pode ser configurado para usar um proxy (por exemplo, para verificar e baixar atualizações de software) usando sua GUI ou usando o comando:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyEnabled,localhost,3128,authDisabled,,"
Para completar, para desativá-lo, use:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyDisabled,,,authDisabled,,"
Raposa de fogo
Para o Firefox, eu uso o complemento QuickProxy. O próprio Firefox se configurado manualmente para usar o servidor proxy na máquina local, portanto, o QuickProxy simplesmente ativa / desativa a configuração.
APT
O APT (usado em segundo plano por synaptic, múon e amigos) usa um arquivo de configuração /etc/apt/apt.conf.d/
, por exemplo, a 00proxy
ativação do proxy para o APT é feita usando linhas como:
Acquire::http::Proxy "http://localhost:3128";
#Acquire::ftp::proxy "ftp://localhost:3128/";
#Acquire::https::proxy "https://localhost:3128/";
Nota: O add-apt-repository usa o perfil raiz, ou você pode configurar o sudo para permitir que todas as configurações http * _proxy sejam aprovadas.
Um script para governar todos eles
FWIW No momento, estou escrevendo um script modular para ativar / desativar o proxy para vários programas. Até agora escrevi os seguintes módulos:
$ ls -lF proxymanager/modules/
total 60
-rwxr-xr-x 1 root root 919 Oct 8 17:27 apt*
-rwxr-xr-x 1 root root 1037 Oct 8 13:10 bashrc*
-rwxr-xr-x 1 root root 391 Oct 8 12:18 cntlm*
-rwxr-xr-x 1 root root 684 Oct 8 12:58 curl*
-rwxr-xr-x 1 root root 609 Oct 8 13:02 dropbox*
-rwxr-xr-x 1 root root 672 Oct 8 12:18 gnome*
-rwxr-xr-x 1 root root 691 Oct 8 12:18 kde*
-rwxr-xr-x 1 root root 689 Oct 8 13:03 root_bashrc*
-rwxr-xr-x 1 root root 691 Oct 8 13:03 root_curl*
-rwxr-xr-x 1 root root 827 Oct 8 13:03 s3cmd*
-rwxr-xr-x 1 root root 454 Oct 8 13:03 survive_reboot*
-rwxr-xr-x 1 root root 860 Oct 8 13:06 suse-sysproxy*
-rwxr-xr-x 1 root root 653 Oct 8 12:46 sysenvironment*
-rwxr-xr-x 1 root root 465 Oct 8 13:04 virtualbox*
-rwxr-xr-x 1 root root 573 Oct 8 13:04 wgetrc*
Bem como um aplicativo de controle. Esperamos que em breve eles sejam transferidos para um github ou outra casa on-line.