Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Прозрачный прокси squid через родительский прокси провайдера  (Прочитано 2271 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн wiseserg1975

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Доброго времени суток.
Работаю в школе. Необходимо настроить контент фильтрацию на компьютерах школьной сети.
Исходный данные:
В качестве шлюза используется Ubuntu Server 16.04.2 lts, с 2-я сетевыми платами.
Контент фильтрацию предоставляет провайдер в виде непрозрачного прокси сервера.

С unix знаком слабо, вся сеть и сервер достались в наследство от предыдущего сисадмина.
1.Настроил DHCP сервер на выдачу постоянных IP по mac адресам.
2.Обновил Squid до версии 3.5.23
3.Отредактировал etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0 (смотрит в интернет)
iface eth0 inet static
   address XX.XXX.XXX.XX (выделенный IP провайдера)
   netmask 255.255.255.224
   gateway XX.XXX.XXX.XX (шлюз провайдера)
   dns-nameservers 77.88.8.7 77.88.8.3
   post-up iptables-restore < /etc/iptables.up.rules

auto eth1 (смотрит в локальную сеть)
iface eth1 inet static
   address XX.X.XX.1
   netmask 255.255.255.0
   dns-nameservers 77.88.8.7 77.88.8.3

4. Настроил etc/iptables.up.rules (часть файла)

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# Служебные мимо прокси
-A PREROUTING -p tcp -m multiport -s XX.X.XX.1 --dport 80,8080,443 -j ACCEPT
-A PREROUTING -p tcp -m multiport -s XX.X.XX.12 --dport 80,8080,443 -j ACCEPT
-A PREROUTING -p tcp -m multiport -s XX.X.XX.14 --dport 80,8080,443 -j ACCEPT
# Остальные на прокси
-A PREROUTING -p tcp -m multiport ! -d XX.X.XX.0/24 -i eth1 --dport 80,8080,443 -j DNAT  --to XX.X.XX.1:3128
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

5. Настроил Squid

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 SSL_ports port 443 # https
acl CONNECT method CONNECT

acl localnet src XX.X.XX.0/24 (локальная сеть)
never_direct allow localnet
#acl manager proto cache_object

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow localnet
http_access deny all

http_port 3128
http_port XX.X.XX.1:3128 intercept

maximum_object_size 4 MB
maximum_object_size_in_memory 512 KB
cache_mem 256 MB
cache_dir ufs /var/spool/squid 256 16 256

access_log /var/log/squid/access.log squid
logfile_rotate 5
coredump_dir /var/spool/squid
cache_swap_log /var/log/squid/swap.log
pid_filename /var/run/squid.pid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

cache_peer XX.XXX.XXX.XXX parent 3128 0 no-query default (родительский прокси предоставленный провайдером)

cache_effective_user proxy
cache_effective_group proxy

Проверяем на рабочей станции, HTTP открывается, HTTPS нет
где и что поправить дабы HTTPS тоже проходил через прокси?

Если прописать прокси провайдера непосредственно на рабочих станциях, то все работает, но одаренные школьники быстро все исправят

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
кальмар просто так прозрачным для https не умеет быть. Либо на указывать свой прокси в нстройках раб.станций, либо курить подмену сертификата кальмару

Пользователь добавил сообщение 01 Марта 2017, 09:06:38:
Но вероятно что я могу ошибаться
« Последнее редактирование: 01 Марта 2017, 09:06:38 от fisher74 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Нажал кнопку "Спасибо"

Оффлайн wiseserg1975

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Инструкция поновее https://habrahabr.ru/post/272733/

Эти инструкции читал, и создавал сертификат, прозрачный HTTPS при этом работает, но работает по HTTPS напрямую, а мне непроходимо что бы squid весь трафик пересылал на родительский прокси.

На родительском прокси от провайдера настроены все нужные фильтры

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Ну настройте парент прокси, какие проблемы?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн wiseserg1975

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Ну настройте парент прокси, какие проблемы?…

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


Оффлайн m010103

  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Доброго времени суток.
Попросили в школе настроить прокси с фильтрацией по принципу "Для всех" "Запрещено все кроме" и список разрешенных сайтов.
Читаю конфиг Сквида и не понимаю ровным счетом ничего.
Помогите с конфигом (не за даром) :)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
m010103, оффтопите

Конфиг
acl localnet src 192.168.1.0/24
acl white_list dstdom_regex -i  "/etc/squid3/whitelist"
http_access allow localnet white_list
http_access deny all

/etc/squid3/whitelist
\.google\.com
\.yandex\.ru
1. Определяете круг пользователей, например, по src IP-address
2. Определяете белый список регулярными выражениями в отдельном файле
3. Указываете на этот списов в конфиге кальмара.
4. определяете правила прохождения траффика в порядке: разрешили озозвученным пользователям доступ к ресурсам по белому списку, далее запрет всем и всям.

Как-то так
« Последнее редактирование: 20 Апреля 2018, 13:38:00 от fisher74 »

Оффлайн m010103

  • Участник
  • *
  • Сообщений: 155
    • Просмотр профиля
Как-то так

Спасибо :)
отправил на 909

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.