Вверх

 
  • Комплексное ИТ обслуживание Вашего бизнеса 24 часа 7 дней в неделю!
  • IP телефония со знанием дела. Установка и настройка.
  • Поставки оборудования по выгодным ценам

24.06.2018 - TeamViewer через proxy сервер squid

Не так давно в одной из компаний в которой мы обслуживаем парк серверов установили прокси сервер squid, поставили без проблем, настроили SARG для просмотра статистики, и все довольны, все прекрасно работает. После решили внедрить авторизацию в AD пользователей, то есть создали группу allow_internet, и все юзеры которые входят в нее могут пользоваться интернетом, а все остальные соответственно не могут (как это делать - история на отдельную статью). С этой задачей тоже справились все работает на ура, но тут возникла проблема с TeamViewer он постоянно просит ввести учётные данные для авторизации на proxy.

TeamViwer не работает через squid

Стоить отметить что при работе squid без авторизации TeamViewer работает. В поля ввода имени и пароль вводить данные толку нет, введешь нажимаешь ок и он снова просить ввести их и так по кругу.

Решение проблемы

Так как TV пользуются не так много людей, нашел лишь одно решение — это разрешить сервисы TV тем ip адресам кому он нужен в обход авторизации в AD, отмечу интернет у этого пользователя по-прежнему зависит от того состоит он в группе allow_internet или нет. Ниже приведу конфиг для понимания.

#       WELCOME TO SQUID 3.5.12

# OPTIONS FOR SMP

# OPTIONS FOR AUTHENTICATION

#раскомментировать ниже строки для доступа по группам

auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -s HTTP/proxy$

auth_param negotiate children 20 startup=0 idle=1

auth_param negotiate keep_alive off

# ACCESS CONTROLS

external_acl_type allow-internet ttl=300 negative_ttl=60 %LOGIN /usr/lib/squid/ex$

acl allow-internet external allow-internet

#раскомментировать строки для доступа по группам

acl SSL_ports port 443

acl SSL_ports port 4434

acl Safe_ports port 80          # http

acl Safe_ports port 21          # ftp

acl Safe_ports port 443         # https

acl Safe_ports port 70          # gopher

acl Safe_ports port 210         # wais

acl Safe_ports port 1025-65535  # unregistered ports

acl Safe_ports port 280         # http-mgmt

acl Safe_ports port 488         # gss-http

acl Safe_ports port 591         # filemaker

acl Safe_ports port 777         # multiling http

acl CONNECT method CONNECT

#сюда писать ip которым разрешен доступ в обход групп

acl obhodgrupp src 192.168.1.179

#сюда писать ip которым разрешен доступ в обход групп

acl localnet src 192.168.0.0/22

acl social_network url_regex -i "/etc/squid/acl/social_networks"

#для работы TeamViewer через прокси

acl srcntv src 192.168.0.99

acl srcntv src 192.168.1.120

acl team_viewer dstdomain .teamviewer.com

#для работы TeamViewer через прокси

http_access allow srcntv team_viewer

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access deny filetypes

http_access deny social_network localnet

http_access allow obhodgrupp

#закомментировать строки для доступа по группам

#http_access allow localnet

#закомментировать строки для доступа по группам

#раскомментировать ниже строки для доступа по группам

http_access allow allow-internet

#раскомментировать строки для доступа по группам

http_access allow localhost manager

http_access deny manager

http_access deny all

# NETWORK OPTIONS

http_port 3128

# SSL OPTIONS

# OPTIONS RELATING TO EXTERNAL SSL_CRTD

# OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM

# MEMORY CACHE OPTIONS

cache_mem 256 MB

maximum_object_size_in_memory 512 KB

cache_dir ufs /data/var/spool/squid 1024 16 256

maximum_object_size 20 MB

# DISK CACHE OPTIONS

# LOGFILE OPTIONS

access_log daemon:/data/var/log/squid/access.log squid

logfile_rotate 31

# OPTIONS FOR TROUBLESHOOTING

coredump_dir /data/var/spool/squid

cache_log /data/var/log/squid/cache.log

# OPTIONS FOR FTP GATEWAYING

# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS

Описание конфигурации Squid

Весь конфиг описывать не буду, если у вас возникла такая проблема, думаю вы все и так поймете, опишу лишь те строки, которые отвечают за работу TV в обход групп.

acl srcntv src 192.168.0.99 – создаем ACL с именем srcntv и пишем те адреса кому нужен TV

acl srcntv src 192.168.1.120

acl team_viewer dstdomain .teamviewer.com – создаем ACL с именем team_viewer и вписываем сюда сервис TV c точкой в начале так как TV при подключении постоянно обращается к разным доменный именам типа (f434g45.teamviewer.com, 234523rf.teamviewer.com, 5785hy6.teamviewer.com) ну вы поняли. Поэтому и разрешаем сразу все возможные вариации.

http_access allow srcntv team_viewer – пишем разрешающее правило, всем кто есть в АСL srcntv разрешено ходить по адресу который указан в ACL team_viewer.

Поcле внесённых изменений обязательно проверяем конфиг на правильность командой squid -k check и если она отработала без каких-либо сообщений, то выполняем команду squid -k reconfig и проверяем работу TeamViewer.

TeamViwer работает через squid

Видим все работает. Да у этого решения есть одни недостаток, то, что нужно кроме добавления пользователя в группу еще вписать его ip в ACL если ему нужен TeamViewer. А в общем ничего сложного в этом-то и нет. Если найдете другое решение, обязательно пишите в комментариях буду рад его опробовать.

Комментарии (0)


Есть что сказать? Пишите нам ->

Новости IT рынка