Форум русской поддержки ОС Fedora linux
Решил поделится настройкой авторизации в Windows proxy таких программ как wget, yum, elinks, в общем всех програм которые работают с интернетом из консоли. Недавно столкнулся с такой ситуация Windows proxy требует авторизации доменного пользователя для выхода в интернет, приложения gnome умеют работать в данной ситуации, а консольные приложения нет, но они умеют работать с прокси которая не требует авторизации. Я перерыл интернет в поисках ответа на свой вопрос, предлагалось два решения, пакет програм ntlmap и cntlm, с ntlmap у меня ничего не получилось, а вот с cntlm все заработало даже очень хорошо. Далее будет пошагово описана настройка cntlm.
Начальная ситуация, домен Windows, наш компьютерой с установленной Fedora и настроенной сетью.
Далее действия по пунктам.
1. Временно отключаем репозитории, это делается снятием галочек из программы вызываемой из системного меню "Система->Администрирование->Источники программ".
2. Открываем консоль и меняем пользователя на root
su - вводим пароль root
3. Устанавливаем следующие пакеты samba и glibc из дистрибутива Fedora (если вы пользуетесь 64 битной системой то пакет glibc нужно установить для 32 битных систем). Допустим дистрибутивные пакеты находятся по пути /media/Fedora\ 11\ leonidas/Packages.
cd /media/Fedora\ 11\ leonidas/Packages
набираем строку yum localinstall --nogpgcheck ./samba- жмем табуляцию, в итоге увидим список пакетов у которых имя начинается со слова samba
[root@asalnikov Packages]# yum localinstall --nogpgcheck ./samba- samba-3.3.2-0.33.fc11.x86_64.rpm samba-common-3.3.2-0.33.fc11.i586.rpm samba-winbind-3.3.2-0.33.fc11.i586.rpm samba-client-3.3.2-0.33.fc11.x86_64.rpm samba-common-3.3.2-0.33.fc11.x86_64.rpm samba-winbind-3.3.2-0.33.fc11.x86_64.rpm
Нам нужен пакет samba-3.3.2-0.33.fc11.x86_64.rpm, выполняем команду
yum localinstall --nogpgcheck ./samba-3.3.2-0.33.fc11.x86_64.rpm
Аналогично для пакета glibc, набираем строку yum localinstall --nogpgcheck ./glibc- жмем табуляцию, видим список пакетов
[root@asalnikov Packages]# yum localinstall --nogpgcheck ./glibc- glibc-2.10.1-2.i586.rpm glibc-2.10.1-2.x86_64.rpm glibc-devel-2.10.1-2.i586.rpm glibc-headers-2.10.1-2.x86_64.rpm glibc-2.10.1-2.i686.rpm glibc-common-2.10.1-2.x86_64.rpm glibc-devel-2.10.1-2.x86_64.rpm
Нам нужен пакет glibc-2.10.1-2.i686.rpm и если установлена 64 битная Fedora пакет glibc-2.10.1-2.x86_64.rpm, выполняем следующие команды
yum localinstall --nogpgcheck ./glibc-2.10.1-2.i686.rpm yum localinstall --nogpgcheck ./glibc-2.10.1-2.x86_64.rpm # только для 64 битных систем
4. Всеми правдами и неправдами достаем пакет cntlm (я использовал версию cntlm-0.35-1.i386) и устанавливаем его. Вот адреса по которым можно скачать cntlm http://cntlm.sourceforge.net и http://sourceforge.net/projects/cntlm.
Выполняем команду
yum localinstall --nogpgcheck /Тут должен быть полный путь к пакету/cntlm-0.35-1.i386.rpm
Всё, все необходимые пакеты установлены, теперь нужно настроить cntlm
5. Ищем файл /etc/cntlm.conf, и редактируем следующие в нем строки.
Username<------>MyUserName(Ваше имя пользователя в домене Windows)
Domain<><------>MyDomain.ru(Ваше адрес домена Windows)
Password<------>MyPassword(Пароль вашего пользователя в домене Windows)
Workstation<--->MyWorstation(Имя вашего компьютера в домене Windows)
Proxy<-><------>MyProxy:8080(Адрес прокси в домене)
Listen<><------>3128(порт для локальной прокси)
Auth<--><------>NTLM(Тип аутентификации в домене, скорее всего именон этот тип стоит у вас на proxy)
Flags<-><------>0x07820000(Соотвествующие флаги для аутентификации в домене)
И сохраняем измененный файл.
6. Запускаем cntlm.
service cntlmd start
Если мы увидели следующую строку, то значит все хорошо сделали, если нет, то нужно будет искать причину неисправности.
Starting CNTLM Authentication Proxy: [ OK ]
7. Назначим запуск cntlm со стартом системы, для этого откроем окно настройки служб "Система->Администрирование->Службы", в списке служб найдем службу cntlmd и установим ей в настройка запуск на уровнях 3,4 и 5.
8. Настроим прокси для командной строки, отредактируем файл /etc/bashrc, где в конце файла добавим строчки
http_proxy=http://127.0.0.1:3128
HTTP_PROXY=http://127.0.0.1:3128
export http_proxy HTTP_PROXY
После такой настройки большинство програм начнут работать с интернетом через прокси. но для yum в файле /etc/yum.conf, следует добавить две строчки proxy=http://127.0.0.1:3128 и proxy_use=on. для работы wget достаточно в файле /etc/wgetrc раскомментировать строчку use_proxy = on.
9. В настройках gnome "Система->Параметры->Сетевая прокси-служба", установим ручную настройку прокси, в поле "прокси для http" укажем 127.0.0.1, в поле "порт" укажем 3128, и поставим галочку "Использовать общий прокси для всех протоколов". После этой проедуры мы для всех програм среды gnome можем просто указывать использовать системные настройки прокси.
10. Перезапустите систему, что бы все настройки вступили в силу.
Возможные неисправности и методы их поиска:
а) если вы установили cntlm более поздней версии чем указанная в этом руководстве, то скорее всего пакет установился не до конца, нужно будет проверить следующие вещи.
Созданы ли пользователь cntlm и группа cntlm, если нет то создать их.
Есть ли каталог /var/run/cntlm и являеться ли пользователем cntlm его владельцем с полным доступом к каталогу.
б) Возможно ваш домен виндовс использует не ntlm аутенфикацию, тогда выполните следующую команду
cntlm -M http://google.ru
Вы увидите следующий результат
Config profile 1/11... OK (HTTP code: 301)
----------------------------[ Profile 0 ]------
Auth NTLMv2
PassNTLMv2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
------------------------------------------------
где против поля Auth стоит тип авторизации поддерживаем вашей Windows proxy, поправте соотвественно поле Auth в файле /etc/cntlm.conf, а так же поле Flags в соотвествии с таблицей ниже.
Auth Flags
NT 0x05820000
LM 0x06820000
NTLM 0x07820000
P.S. Старался написать так, что бы настроить все это смог даже новичек в linux вроде меня.
Отредактированно isha (2009-09-04 12:52:03)
Неактивен
Спасибо интересно, но помоему Вы разделом ошиблись, это надо поместить в Статьи, инструкции и How-To
Неактивен
нет, не ошибся, просто думаю что если администрация посчитает нужным переместит в инструкции. а пока просто не решился туда поместить. мало ли моет кто дополнит, и можно будет сделать нормальную инструкцию.
Неактивен