Я только что установил Ubuntu 18.4 на свой сервер. Поскольку мы находимся за брандмауэром, мне нужен прокси. Linux и прокси моей компании не работают вместе, поэтому я установил cntlm на один компьютер. Этот сервис имеет надлежащую аутентификацию на прокси наших компаний. Затем я попытался получить этот cntlm-прокси с моего сервера.
Допустим, пользователь = MyUser, пароль = MyPassword, домен - это MyDomain. 172.24.213.55 - это компьютер с сервисом cntlm.
В bash.bashrc
я добавил следующие строки:
#set proxy
function setproxy(){
export {http,https,ftp}_proxy="http://MyDomain\\MyUser:MyPassword@172.24.213.55:3128/"
}
#unset proxy
function unsetproxy() {
unset {http,https,ftp}_proxy
}
Я перезагружаюсь и затем запускаю setproxy. Но когда я запускаю sudo apt-get update,
я получаю
407 Proxy Authentification Required [IP: 172.24.213.55 3128].
Как новичок, я не могу найти причину. Я изменил /etc/profile
, /etc/environment
, /etc/apt/apt.conf
(здесь с acquire::http::proxy
), 95proxies
и т. Д.
Есть идеи?
Если вы используете прокси-сервер с аутентификацией CNTLM, вам необходимо правильно настроить демон CNTLM.
Сначала установите правильный домен и имя пользователя в файле /etc/cntlm.conf
:
#
# Cntlm Authentication Proxy Configuration
#
# NOTE: all values are parsed literally, do NOT escape spaces,
# do not quote. Use 0600 perms if you use plaintext password.
#
Username domainusername
Domain domainname
# List of parent proxies to use. More proxies can be defined
# one per line in format <proxy_ip>:<proxy_port>
Proxy 123.123.123.123:1234
Затем запустите cntlm -H
и введите пароль своего домена:
$ cntlm -H
Password:
PassLM XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNT XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNTLMv2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Only for user ' domainusername ', domain ' domainname '
Добавьте вывод ( из PassLM в PassNTLMv2) в файл /etc/cntlm.conf
и перезапустите демон CNTLM.
Затем вы можете добавить export http_proxy=http://localhost:3128
в вашу конфигурацию bash.
Большое спасибо. Без подключения к Интернету я попытался использовать службу cntlm, работающую на моем клиенте Windows и пытающуюся обратиться к этой службе с моего сервера Ubuntu. Это не сработало. Я загрузил cntlm где-то еще, а затем установил его прямо на сервере Ubuntu. Используя ваше объяснение, и после перезагрузки системы она наконец заработала.