суббота, 4 апреля 2015 г.

Раздаем свой корпоративный инет другим компам

  Понадобилось мне раздавать свой интернет другим по локальной сети. Т.е. на моем компе установить прокси-сервер который будет раздавать мой инет тем кому мне надо.
  Инет я получал от вышестоящего прокси по имени и паролю в Active Directory. На компе стояла Fedora Core и на нем надо развернуть раздачу инета.
  Во всем ниже написанном мне сильно помогла статья Использование Cntlm в качестве NTLM аутентифицирующего HTTP proxy.

Установка

  Все следующие команды делались от имени Root-a или с помощью команды sudo.
  Из репозиториев FedoraCore предлагалось решение - cntlm. Устанавливаю его:
"/usr/bin/yum install cntlm"

Редактирование настроек в cntml.conf

  Редактируем конфигурацию нашего прокси.
"/bin/vi /etc/cntlm.conf"
  Я здесь покажу только те настройки которые реально менял
#----- Начало cntlm.conf -----

Username  MyUserName
Domain     MyDomain
Password   12345678

Proxy        192.168.0.10:3128

Listen        9000
 

Gateway    yes

# ----- Конец cntml.conf-----
  Напомню еще раз что наш прокси берет имена пользователей из домена Active Directory. Поэтому Username и Password - имя и пароль пользователя из домена AD, Domain - имя нашего домена AD.
  Proxy - здесь пишем IP адрес вышестоящего прокси. Почему-то DNS-имя у меня не прокатило, а только IP.
  Listen - tcp порт нашей машины через который мы раздаем инет друзьям.
  Gateway - если тут поставить "no", то CNTML будет давать инет только локальной машине, а если "yes", то и компам из локальной сети.
  Есть еще параметры Allow и Deny которые определяют по IP какие компы из локалки принимать а каким отказывать. Но это я это не использовал.

Шифруем пароль в cntlm.conf

  Во всем этом есть одна деталь. В параметре Password наш пароль хранится в чистом - читабельном виде. Кого это устраивает может пропустить эту главу.
  Для прочих же сообщаем, что тут можно засунуть нечитабельный хэш пароля. Для этого от имени root-a запустил команду "/usr/sbin/cntlm -M http://ua.fm/" Она запросила пароль к учетной записи на родительском прокси.
  Небольшое примечание. С параметром -I, который упоминался в статье-источнике, не получилось. Вместо ua.fm можно указать любой сайт.
  Это команда выдала следующее:

----------------------------[ Profile 0 ]------
Auth NTLMv2
PassNTLMv2 1С9045B7855EF93E2A3A8279AE401923

------------------------------------------------
  Строка Auth показала наш протокол авторизации, а PassNTLMv2 - хэш нашего пароля. Теперь в cntlm.conf закомментируем параметр Password, и всунем в него левый пароль. Чтоб взломщик мучился. А ниже добавим строку с хэшем.
PassNTLMv2     1С9045B7855EF93E2A3A8279AE401923

Настройка запуска службы cntml.

  Для того чтобы наш прокси стартовал каждый раз при включении компа, запустить:
"/sbin/chkdsk cntlm on"
  А чтобы запустить его прямо сейчас, не перегружая компьютер:
"/sbin/service cntlm start"

Настройка клиентов - друзей

  Чтобы у друзей заработал инет надо в настройках прокси всех программ вместо имени корпоративного прокси вставить имя или IP нашего прокси и его порт. Что-то вроде того: 192.168.0.54 порт 9000. Имя и пароля для авторизации вставлять нигде не нужно. Поэтому стоит подумать о каком-то ограничении по IP.