cntlm
предоставляет решение вместе с некоторой конфигурацией.
Основные шаги, которые необходимо выполнить:
- Установите cntlm.
- Отредактируйте его файл конфигурации по адресу /etc/cntlm.conf, комментарии к нему делают это достаточно просто.
- Добавьте прокси-сервер (или два).
- Укажите свое имя пользователя и имя домена NT в соответствующих местах и удалите ввод пароля.
Запустите службу cntlm, например, через
$ sudo /etc/init.d/cntlm start
cntlm предоставляет способ протестировать прокси и сгенерировать хеш из вашего пароля - например, с помощью команды (как root)
$ cntlm -I -M http://www.test.com
cntlm запросит пароль вашего домена. Затем он проверит различные механизмы аутентификации на настроенном прокси-сервере. Когда рабочий метод найден, он печатает две строки, которые должны войти в его файл конфигурации.
- Остановите сервер cntlm и добавьте строки, полученные на шаге 6 выше, в
/etc/cntlm.conf
.
- Перезапустить cntlm
Сейчас cntlm
работает и готов к использованию. Ряд мест может быть использован для настройки различных программ для его использования. cntlm
Затем прозрачно добавит токены аутентификации домена NT в исходящие пакеты и перенаправит их на настроенный прокси-сервер.
Использование Qt / KDE
Для собственных приложений Qt / KDE укажите «Использовать вручную настроенный прокси-сервер» в Системных настройках KDE -> Сетевые настройки -> Настройки прокси . Прокси указан как http://localhost
порт 3128 (по умолчанию, cntlm
если вы его не меняли). Эти приложения обновляются динамически с новыми настройками, и для их обновления не требуется перезапуск или выход из системы / вход в систему.
Dropbox & Google клиенты
Многие приложения могут использовать переменные среды оболочки. Заслуживают внимания клиенты Dropbox и Google Earth. Для этих приложений используйте переменные среды оболочки, подобные этим:
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, & wget
Примечание. Некоторые приложения будут использовать только имена в нижнем регистре, другие - только имена в верхнем регистре, некоторые сначала попробуют одно, а затем другое.
s3cmd
(Клиент Amazon S3), curl
и wget
может быть дополнительно настроен через свои собственные файлы конфигурации при желании. Это удобно, потому что они читают свои собственные файлы конфигурации при каждом вызове. Поскольку эти программы обычно недолговечны (после завершения загрузки существует один вызов), это очень полезно.
Формат для s3cmd
в ~/.s3cfg
это:
proxy_host = localhost
proxy_port = 3128
Формат для Wget в ~/.wgetrc
это:
https_proxy = http://localhost:3128
http_proxy = http://localhost:3128
ftp_proxy = http://localhost:3128
Формат для curl
в ~/.curlrc
это:
proxy = localhost:3128
С другой стороны, редактирование профиля оболочки или других файлов конфигурации среды обычно требует перезагрузки, выхода из системы и повторного входа или чего-либо подобного. Это стоит исследовать /etc/environment
и т. Д. ~/.pam_environment
, ~/.kde/env/proxy.sh
Поскольку это стандартные места для настройки параметров прокси-сервера, настроенных с помощью переменных среды оболочки, особенно для воздействия на всех пользователей и служб в системе.
Я также понимаю, что можно изменить настройки среды для каждого приложения, используя соответствующие .desktop
файлы, но еще не попробовал (успешно).
VirtualBox
VirtualBox может быть настроен для использования прокси (например, для проверки и загрузки обновлений программного обеспечения) с помощью его графического интерфейса или с помощью команды:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyEnabled,localhost,3128,authDisabled,,"
Для полноты, чтобы отключить его, используйте:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyDisabled,,,authDisabled,,"
Fire Fox
Для Firefox я использую аддон QuickProxy. Сам Firefox, если настроен вручную для использования прокси-сервера на локальном компьютере, поэтому QuickProxy просто включает / отключает настройку.
APT
APT (используется в фоновом режиме synaptic, muon и friends) использует файл конфигурации в /etc/apt/apt.conf.d/
, например, 00proxy
Включение прокси для APT выполняется с помощью таких строк:
Acquire::http::Proxy "http://localhost:3128";
#Acquire::ftp::proxy "ftp://localhost:3128/";
#Acquire::https::proxy "https://localhost:3128/";
Примечание: add-apt-repository использует корневой профиль, или вы можете настроить sudo, чтобы разрешить сброс всех настроек http * _proxy.
Скрипт, чтобы управлять ими всеми
FWIW Я сейчас нахожусь в процессе написания модульного скрипта для включения / отключения прокси для многочисленных программ. До сих пор я написал следующие модули:
$ 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*
А также контрольное приложение. Надеемся, что скоро они будут перемещены в GitHub или другой онлайн-дом.