Маршрутизация с использованием удалённого Прокси
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Маршрутизация с использованием удалённого Прокси
Искал подобную тему, но ничего конкретного не нашёл. А хотелось бы без лишней воды. Итак, смотрим;
Имеем;
1. Внутренняя сеть
192.168.48.0/24
10.0.0.0/24 (alias)
2. Внешняя сеть обращённая к провайдеру. Статический адрес;
10.200.2.68 netmask 255.255.255.192
Шлюз 10.200.2.65 (internet)
Задача сделать так, что бы сеть 192.168.48.0/24 ходила через удалённый прокси 10.253.9.8:3131
---------------------
Обычным способом IPFW или NATD создать проброс возможно лишь в рамках локальной сети. Но удалённый прокси находится за пределами маршрутизации.
Нельзя пробросить маршрут на удалённую машину если её адрес не в зоне локальной сети сервера. Требуется тунелирование, или что-то в этом роде.
Прошу помощи. Устал уже плавать в тонне разной информации по этому вопросу. Всё слишком запутанно, а моя задача проста по-сути. - Но как мне осуществить этот проброс маршрута?
Имеем;
1. Внутренняя сеть
192.168.48.0/24
10.0.0.0/24 (alias)
2. Внешняя сеть обращённая к провайдеру. Статический адрес;
10.200.2.68 netmask 255.255.255.192
Шлюз 10.200.2.65 (internet)
Задача сделать так, что бы сеть 192.168.48.0/24 ходила через удалённый прокси 10.253.9.8:3131
---------------------
Обычным способом IPFW или NATD создать проброс возможно лишь в рамках локальной сети. Но удалённый прокси находится за пределами маршрутизации.
Нельзя пробросить маршрут на удалённую машину если её адрес не в зоне локальной сети сервера. Требуется тунелирование, или что-то в этом роде.
Прошу помощи. Устал уже плавать в тонне разной информации по этому вопросу. Всё слишком запутанно, а моя задача проста по-сути. - Но как мне осуществить этот проброс маршрута?
Последний раз редактировалось f_andrey 2012-02-09 17:54:02, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
В зависимости от того что подразумевается под словом "ходила" -вариантов 2
1) Поднимаем впн, разруливаем маршруты через тунель, немного пилим фаервол и вуаля (весь трафик)
2) В локальном проксике указываем парента (проксирование)
1) Поднимаем впн, разруливаем маршруты через тунель, немного пилим фаервол и вуаля (весь трафик)
2) В локальном проксике указываем парента (проксирование)
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Верните пожалуйста тему в раздел FreeBSD Проблемы установки, настройки и работы Правильной Операционной Системыf_andrey писал(а):Последний раз редактировалось f_andrey 2012-02-09 22:54:02, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.
Если вы найдёте где-нибудь решение по данному вопросу среди начинающих, можете вернуть тему обратно.
1) Я описал выше схему сети, мне нужно выложить все конфиги? - Или зачем вам ещё vpn понадобился?? это дополниетльных маршрутов не хватает?mak_v_ писал(а):В зависимости от того что подразумевается под словом "ходила" -вариантов 2
1) Поднимаем впн, разруливаем маршруты через тунель, немного пилим фаервол и вуаля (весь трафик)
2) В локальном проксике указываем парента (проксирование)
2) cache_peer - не подходит. Ещё примеры есть? - я остановился пока на переписывании заголовка, но прямых решений пока не нашёл.
Нужно что бы пользователи сети проходили через удалённый прокси, как если бы у него в настройках браузреа был прописан этот удалённый прокси.
1. В локальном прокси Squid не нашёл нужной опции. В нём просто подключается кэшь удалённого прокси, но требуется не это. Возможно не все варианты рассмотрел внимательно. Но пока не располагаю нужными данными.
2. Файрвол делает редиректы только в диапазоне доступной ему локальной сети. Вобще конечно не понятно почему он так делает, но в мануалах об этом упоминается тоже.
Остаётся тунелирование, но тогда непонятно каким образом на удалённом прокси будут распознаваться эти пакеты.
Задача-то простенькая может показаться на первый взгляд и как бы обыденной, и повседневной. Однако, - решений пока нет, ибо они спрятаны так глубоко, что на поверку пришлось избороздить всё, что было возможно в интернете. И везде отписки - "локальная сеть", в рамаках локальной сети...
Можно было бы просто - закрыть 80 порт. А кто хочет ходить в интернет, прописывал бы нужную проксю. Но, это делается для школы, то бишь, - это мне придётся на каждом компьютере ставить и каждый раз проверять эти настройки. Либо грамотно прописать настройки у себя на сервере.
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
Код: Выделить всё
gatway_enable="YES"
Код: Выделить всё
#TRANSPARENT PROXY
nat on $ext_if from $int_lan to !$remote_proxy -> $ext_if
rdr on $int_if proto { tcp } from $int_lan to any port { 80 563 5149 } -> 10.253.9.8 port 3131
соответственно промаршрутив этот трафик (не нат, а именно моаршрутизация)
Или вариант 2 - промаршрутить весть трафик от локалки на удалённый прокси, а уже там его прозрачно завернуть в прокси.
Я тут своё время трачу на помощь Вам, а Вы грубите?
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
"я грублю?" ??mak_v_ писал(а):в rc.confКод: Выделить всё
gatway_enable="YES"
Конфигов хватает (их просто нет), а вот понимание как и что у вас есть и что вы хотите, так и не пришло.Код: Выделить всё
#TRANSPARENT PROXY nat on $ext_if from $int_lan to !$remote_proxy -> $ext_if rdr on $int_if proto { tcp } from $int_lan to any port { 80 563 5149 } -> 10.253.9.8 port 3131
соответственно промаршрутив этот трафик (не нат, а именно моаршрутизация)
Или вариант 2 - промаршрутить весть трафик от локалки на удалённый прокси, а уже там его прозрачно завернуть в прокси.
Я тут своё время трачу на помощь Вам, а Вы грубите?
Извините, но вопрос был задан - не о том, как сконфигурировать локальную сеть. Сеть работает и -- gatway_enable="YES" - это что?
Мне важно узнать -> возможности или метод. В принципе, как это можно осуществить. А уж потом я подумаю (как и любой другой, кто будет после вас читать эту тему) - как использовать ваш метод.
Итак, вы ссылаетесь на IPNAT
Я уже использовал все эти методы и смотрел много статей - теоретически решения находятся, но практически они все не работают на практике.
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
Я не ссылаюсь на ipnat, я использую pf и IPFW
Если вам нужна исключительно теория:
1) Доставить пакеты от клиентов с неизменными заголовками до машины с "удалённым прокси", с помощью фаервола "удалённого прокси" изменить адрес и порт получателя на локальный порт прокси. Ответные пакеты от прокси сервера доставить с неизменными заголовками до клиентов
Если вам нужна практика:
1) средствами маршрутизации доставляем пакеты на "удалённый прокси", редиректим на прокси
Если вам нужна исключительно теория:
1) Доставить пакеты от клиентов с неизменными заголовками до машины с "удалённым прокси", с помощью фаервола "удалённого прокси" изменить адрес и порт получателя на локальный порт прокси. Ответные пакеты от прокси сервера доставить с неизменными заголовками до клиентов
Если вам нужна практика:
1) средствами маршрутизации доставляем пакеты на "удалённый прокси", редиректим на прокси
Если вы задаете подобные вопросы..........gatway_enable="YES" это что?
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
ЭЭЭ, поправлюсь..вы исправили топик в начале.
Теперь более менее ясно, забудьте ...
надо отредиректить пакеты, а потом занатить...., но вопрос, поддерживает ли провайдерская "прокся" прозрачный режим?
в синтаксисе pf
А вообще "изящнее" было бы поднять локальный прозрачный прокси, указав в настройках вышестояший провайдерский.
Теперь более менее ясно, забудьте ...
надо отредиректить пакеты, а потом занатить...., но вопрос, поддерживает ли провайдерская "прокся" прозрачный режим?
в синтаксисе pf
Код: Выделить всё
rdr on $int_if proto { tcp } from $int_lan to any port { 80 563 5149 } -> 10.253.9.8 port 3131
nat on $ext_if from any to $remote_proxy -> $ext_if
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Да все эти методы уже протопал.
Работает сеть через маршрутизатор с прозрачным прокси. IPFW + IPNAT + SQUID + SquidGuoard named dhcpd и тп...
Прокси не перенаправляет запросы на удалёный прокси, а только использует кэшированную базу удалённого прокси, так как изначально "прокси-сервер" задуман для кэширования страниц интернета с целью экономии трафика. В нём нет ничего, что бы можно было бы применить для редиректа на другой прокси с целью использования его правил фильтрации. (пересмотрел все опции и ничего дельного не нашёл - там нет редиректов. это всё не то)
Мы используем правила фильтрации, а сам кэш нам ни к чему. Фильтрацию нам предоставляет другая организация, это их прокси. Мы не можем влиять на них никаким образом. Эта организация обслуживает школы. Они настраивают для школ только глючный и ужасный UserGyte. Каждый год Управление образрования проводит проверки по фильтрации + инвентаризацию и лицензирование, - если мы создаём правила фильтрации, то отвечаем мы. А если другая организация, то отвечают они. До недавнего времени отвечали мы. Но эта обязанность постоянно возвращает нас к этому вопросу.
Вначале темы я указал два диапазона внутренней локальной сети - один для классов "с фильтрацией", второй служебный для секретарей и директора и т.п. без ограничений полноценный доступ.
Старая схема подразумевает выбивание из бюджета Школы лицензии на Windows + UserGyte + сопутствующие программы, + гимор на обслуживание с нюансами работы всей этой системы и разные ограничения, - неполноценный доступ в интернет по ряду протоколов не работает вообще.
Новая схема уже отработана давно. Осталось только настроить удалённый прокси, ну и заодно предложить эту схему в любую другую школу коллегам.
FreeBSD - неприхотливая система, в связи с её высокой надёжностью и высокой работоспособностью было решено подстраховаться и оставить её. Даже создали управление через web-морду написаную полностью на Perl, со справочным материалом для будущих работников по обслюживанию системы и ответственных лиц. До этого пробовали IPCop, но как-то не особо... запилинная настройками через web-морду система, многое не перестроишь (а жаль!) + те же ограничения по фильтрации (как и любой другой диструбутив).
--------------
Вот и всё.
Меня интересует сугубо теоретическая сторона - возможность перенаправления на другой удалённый прокси за пределами локальной сети через второй маршрутизатор.
С помощью IPWF пробовал, но может быть недостаточно глубоко и умело. Если бы IPWF справлялся с этой задачей, это было бы просто фантастика. Но в широком интернете нет ничего. Всё ограничивается только лишь - диапазоном локальной сети. Все отписки приводят к этому заключению.
Работает сеть через маршрутизатор с прозрачным прокси. IPFW + IPNAT + SQUID + SquidGuoard named dhcpd и тп...
Прокси не перенаправляет запросы на удалёный прокси, а только использует кэшированную базу удалённого прокси, так как изначально "прокси-сервер" задуман для кэширования страниц интернета с целью экономии трафика. В нём нет ничего, что бы можно было бы применить для редиректа на другой прокси с целью использования его правил фильтрации. (пересмотрел все опции и ничего дельного не нашёл - там нет редиректов. это всё не то)
Мы используем правила фильтрации, а сам кэш нам ни к чему. Фильтрацию нам предоставляет другая организация, это их прокси. Мы не можем влиять на них никаким образом. Эта организация обслуживает школы. Они настраивают для школ только глючный и ужасный UserGyte. Каждый год Управление образрования проводит проверки по фильтрации + инвентаризацию и лицензирование, - если мы создаём правила фильтрации, то отвечаем мы. А если другая организация, то отвечают они. До недавнего времени отвечали мы. Но эта обязанность постоянно возвращает нас к этому вопросу.
Вначале темы я указал два диапазона внутренней локальной сети - один для классов "с фильтрацией", второй служебный для секретарей и директора и т.п. без ограничений полноценный доступ.
Старая схема подразумевает выбивание из бюджета Школы лицензии на Windows + UserGyte + сопутствующие программы, + гимор на обслуживание с нюансами работы всей этой системы и разные ограничения, - неполноценный доступ в интернет по ряду протоколов не работает вообще.
Новая схема уже отработана давно. Осталось только настроить удалённый прокси, ну и заодно предложить эту схему в любую другую школу коллегам.
FreeBSD - неприхотливая система, в связи с её высокой надёжностью и высокой работоспособностью было решено подстраховаться и оставить её. Даже создали управление через web-морду написаную полностью на Perl, со справочным материалом для будущих работников по обслюживанию системы и ответственных лиц. До этого пробовали IPCop, но как-то не особо... запилинная настройками через web-морду система, многое не перестроишь (а жаль!) + те же ограничения по фильтрации (как и любой другой диструбутив).
--------------
Вот и всё.
Меня интересует сугубо теоретическая сторона - возможность перенаправления на другой удалённый прокси за пределами локальной сети через второй маршрутизатор.
С помощью IPWF пробовал, но может быть недостаточно глубоко и умело. Если бы IPWF справлялся с этой задачей, это было бы просто фантастика. Но в широком интернете нет ничего. Всё ограничивается только лишь - диапазоном локальной сети. Все отписки приводят к этому заключению.
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
Вот такая сквида должна работать
Код: Выделить всё
users src 192.168.48.0/255.255.255.0
acl super src 192.168.48.0/255.255.255.252
acl all src 0.0.0.0/0.0.0.0
cache_peer 10.253.9.8 parent 3131 no-query
never_direct allow super
icp_access deny all
cache_peer_access 10.253.9.8 allow users
cache_peer_access 10.253.9.8 deny all
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Как жаль что я сам до такого не додумался
Ну выглядит многообещающе) интересная конструкция. Спасибо!
Там перед "users" пропущен тег acl
Нужно ещё протестить. Очень интересно, всё должно получиться. Благодарю!
Протестирую, отвечу

Ну выглядит многообещающе) интересная конструкция. Спасибо!
Там перед "users" пропущен тег acl
Нужно ещё протестить. Очень интересно, всё должно получиться. Благодарю!
Протестирую, отвечу
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Чё-то укольчик не работает.. Может чего лишнего у меня в конфиге?
В IPFW всего 2 правила;
Интерфейс lo0 как бы везде по-умолчанию. Это правило работает, - сквид подхватывает всё что проходит по 8080 порту.
Код: Выделить всё
http_port 8080 transparent
coredump_dir /var/squid/cache
cache_access_log /var/squid/logs/access.log
cache_store_log /var/squid/logs/store.log
cache_log /dev/null
error_directory /usr/local/etc/squid/errors/Russian-koi8-r
visible_hostname fbsd
acl users src 192.168.48.0/255.255.255.0
acl super src 192.168.48.0/255.255.255.252
acl all src all
cache_peer 10.253.9.8 parent 3131 0 no-query default
never_direct allow super
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl slowa url_regex -i "/usr/local/etc/squid/word-utf8"
acl slowa url_regex -i "/usr/local/etc/squid/word-koi8-r"
acl slowa url_regex -i "/usr/local/etc/squid/word-cp1251"
acl Sex_zone url_regex -i ^http://.*\.(eu/|nu/|za/|co/|cg/|vu/|de/|yu/|ws/|tv/)(\?|$)
acl FTP proto FTP
always_direct allow FTP
always_direct allow all
acl CONNECT method CONNECT
http_access deny Sex_zone
http_access deny slowa
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
icp_access deny localnet
icp_access deny all
cache_peer_access 10.253.9.8 allow users
cache_peer_access 10.253.9.8 deny all
hierarchy_stoplist cgi-bin ?
access_log /var/squid/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
Код: Выделить всё
00100 fwd 127.0.0.1,8080 tcp from 192.168.48.0/24 to any dst-port 80 in via rl0
00200 fwd 10.0.0.1 ip from 10.0.0.1 to any in via rl0
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
Правила в сквиде срабатывают "сверху-вниз" у вас http_access allow localnet стоит выше парента
лог сквида (вырезку небольшую)
Ну и глянуть на наличие трафика на наружном интерфейсе
лог сквида (вырезку небольшую)
Ну и глянуть на наличие трафика на наружном интерфейсе
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
Код: Выделить всё
http_port 8080 transparent
coredump_dir /var/squid/cache
cache_access_log /var/squid/logs/access.log
cache_store_log /var/squid/logs/store.log
cache_log /dev/null
error_directory /usr/local/etc/squid/errors/Russian-koi8-r
visible_hostname fbsd
acl users src 192.168.48.0/255.255.255.0
acl super src 192.168.48.0/255.255.255.252
acl all src all
cache_peer 10.253.9.8 parent 3131 0 no-query default
never_direct allow super
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl slowa url_regex -i "/usr/local/etc/squid/word-utf8"
acl slowa url_regex -i "/usr/local/etc/squid/word-koi8-r"
acl slowa url_regex -i "/usr/local/etc/squid/word-cp1251"
acl Sex_zone url_regex -i ^http://.*\.(eu/|nu/|za/|co/|cg/|vu/|de/|yu/|ws/|tv/)(\?|$)
acl FTP proto FTP
always_direct allow FTP
always_direct allow all
acl CONNECT method CONNECT
http_access deny Sex_zone
http_access deny slowa
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#ЭТО ВРЕМЕННЫЙ КОМЕНТАРИЙ (ПРОСТАВЬТЕ)
#http_access allow localnet
http_access deny all
icp_access deny localnet
icp_access deny all
cache_peer_access 10.253.9.8 allow users
cache_peer_access 10.253.9.8 deny all
hierarchy_stoplist cgi-bin ?
access_log /var/squid/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Я намерено убрал все коменты. С правилами поспешил.mak_v_ писал(а):Правила в сквиде срабатывают "сверху-вниз" у вас http_access allow localnet стоит выше парента
лог сквида (вырезку небольшую)
Ну и глянуть на наличие трафика на наружном интерфейсе
Пробовал уже эту опцию в сквиде. Надеялся что получится. Однако, мне всё-таки кажится что cache_peer используется просто для заимствования кеша с удалённого сервера.
never_direct - ограничивает доступ, хотя направление мысли правильное. Но нифига не работает.
Тупо - 401 и всё.
Может просто что-то не так.
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Всё! Габотает!
Но мне для этого пришлось на габоту топать в воскресенье.
В конфиге нужно было немного подправить (вы наверное мне специально так всё подстроили, так ведь? )))
И сам конфиг вот;
Благодарю!
- Тему можно определить куда-нибудь на самое видное место. Ибо в интернете ничего подобного не нашлось. А здесь целое открытое решение.

Но мне для этого пришлось на габоту топать в воскресенье.

В конфиге нужно было немного подправить (вы наверное мне специально так всё подстроили, так ведь? )))
Код: Выделить всё
cache_peer_access 10.253.9.8 deny all
cache_peer_access 10.253.9.8 allow users
Код: Выделить всё
http_port 3128 transparent
coredump_dir /var/squid/cache
cache_access_log /dev/null
cache_store_log /dev/null
cache_log /dev/null
error_directory /usr/local/etc/squid/errors/Russian-koi8-r
visible_hostname fbsd
acl users src 192.168.48.0/255.255.255.0
acl super src 192.168.48.0/255.255.255.252
acl all src all
cache_peer 10.253.9.8 parent 3131 0 no-query default
never_direct allow super
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl slowa url_regex -i "/usr/local/etc/squid/word-utf8"
acl slowa url_regex -i "/usr/local/etc/squid/word-koi8-r"
acl slowa url_regex -i "/usr/local/etc/squid/word-cp1251"
acl Sex_zone url_regex -i ^http://.*\.(eu/|nu/|za/|co/|cg/|vu/|de/|yu/|ws/|tv/)(\?|$)
acl FTP proto FTP
always_direct allow FTP
always_direct allow all
acl CONNECT method CONNECT
http_access deny Sex_zone
http_access deny slowa
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#http_access allow localnet
http_access deny all
icp_access deny localnet
icp_access deny all
cache_peer_access 10.253.9.8 deny all
cache_peer_access 10.253.9.8 allow users
hierarchy_stoplist cgi-bin ?
access_log /var/squid/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
- Тему можно определить куда-нибудь на самое видное место. Ибо в интернете ничего подобного не нашлось. А здесь целое открытое решение.
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
ну вот, а вы боялись.
1) Не имейте привычки грубить
2) Излагайте полные исходные данные (что есть, как настроено, что надо, что уже сделано)
С вас пиво :-)
1) Не имейте привычки грубить
2) Излагайте полные исходные данные (что есть, как настроено, что надо, что уже сделано)
С вас пиво :-)
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Да, я тоже так подумал сначала... и как всегда. поспешил.
Работает, но как-то не так. Наполовину.
Странно как-то...
Вот например, страница яндекса открывается только если mail.yandex.ru А вот прямая ссылка yandex.ru не открывается.
Можно удалить последние сообщения, ибо вопрос по прежнему остаётся открытым.
Работает, но как-то не так. Наполовину.
Странно как-то...
Вот например, страница яндекса открывается только если mail.yandex.ru А вот прямая ссылка yandex.ru не открывается.
Можно удалить последние сообщения, ибо вопрос по прежнему остаётся открытым.

-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
Смотрите логи сквида
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
В логе всё банально - нет перенаправления и транспарант 403
Вот как происходит соединение с vk.com и yandex.ru
(для vk.com - при прямом соединении через родной сквид, сразу устанавливается перенаправление, это видно в олге. Но при подключении удалённого прокси, соединение вообще ни в какую, даже на yandex.ru - не отвечает)
При обычном проксировании на прямую вот;
Чего-то видимо не хватает в правиле. Как-то кеш ведь должен использоваться. Может направление в маршрутизации как-то не цепляет (не видит) этот прокси 10.253.9.8:3131
??
Вот правило файрвола;
IpNAT
Пробовал с ipnat поиграть, ничего не вышло;
Вот как происходит соединение с vk.com и yandex.ru
(для vk.com - при прямом соединении через родной сквид, сразу устанавливается перенаправление, это видно в олге. Но при подключении удалённого прокси, соединение вообще ни в какую, даже на yandex.ru - не отвечает)
Код: Выделить всё
1329085721.956 0 192.168.48.81 TCP_DENIED/403 1277 GET http://www.yandex.ru/ - NONE/- text/html
1329085721.956 0 192.168.48.81 TCP_DENIED/403 1277 GET http://www.yandex.ru/ - NONE/- text/html
1329085721.956 0 192.168.48.81 TCP_DENIED/403 1277 GET http://www.yandex.ru/ - NONE/- text/html
1329085742.249 0 192.168.48.81 TCP_DENIED/403 1281 POST http://vk.com/al_im.php - NONE/- text/html
1329085742.249 0 192.168.48.81 TCP_DENIED/403 1281 POST http://vk.com/al_im.php - NONE/- text/html
1329085742.249 0 192.168.48.81 TCP_DENIED/403 1281 POST http://vk.com/al_im.php - NONE/- text/html
1329085742.381 1 192.168.48.81 TCP_DENIED/403 1283 POST http://vk.com/errors.php - NONE/- text/html
1329085742.381 1 192.168.48.81 TCP_DENIED/403 1283 POST http://vk.com/errors.php - NONE/- text/html
1329085742.381 1 192.168.48.81 TCP_DENIED/403 1283 POST http://vk.com/errors.php - NONE/- text/html
1329085785.374 0 192.168.48.81 TCP_DENIED/403 1263 GET http://vk.com/ - NONE/- text/html
1329085785.374 0 192.168.48.81 TCP_DENIED/403 1263 GET http://vk.com/ - NONE/- text/html
1329085785.374 0 192.168.48.81 TCP_DENIED/403 1263 GET http://vk.com/ - NONE/- text/html
1329085785.420 0 192.168.48.81 TCP_DENIED/403 1285 GET http://vk.com/favicon.ico - NONE/- text/html
1329085785.420 0 192.168.48.81 TCP_DENIED/403 1285 GET http://vk.com/favicon.ico - NONE/- text/html
1329085785.420 0 192.168.48.81 TCP_DENIED/403 1285 GET http://vk.com/favicon.ico - NONE/- text/html
1329085788.420 0 192.168.48.81 TCP_DENIED/403 1285 GET http://vk.com/favicon.ico - NONE/- text/html
1329085788.420 0 192.168.48.81 TCP_DENIED/403 1285 GET http://vk.com/favicon.ico - NONE/- text/html
1329085788.420 0 192.168.48.81 TCP_DENIED/403 1285 GET http://vk.com/favicon.ico - NONE/- text/html
Код: Выделить всё
1329086350.697 1289 192.168.48.81 TCP_MISS/302 412 GET http://vk.com/ - DIRECT/87.240.143.248 text/html
1329086350.697 1289 192.168.48.81 TCP_MISS/302 412 GET http://vk.com/ - DIRECT/87.240.143.248 text/html
1329086353.504 2806 192.168.48.81 TCP_MISS/200 22693 GET http://vk.com/feed - DIRECT/87.240.143.248 text/html
1329086353.504 2806 192.168.48.81 TCP_MISS/200 22693 GET http://vk.com/feed - DIRECT/87.240.143.248 text/html
1329086354.727 1 192.168.48.81 TCP_MEM_HIT/200 4189 GET http://cs305206.vk.com/u139511601/75628422/s_fe6efb20e2x:001.jpg - NONE/- image/jpeg
1329086354.727 1 192.168.48.81 TCP_MEM_HIT/200 4189 GET http://cs305206.vk.com/u139511601/75628422/s_fe6efb20e2x:001.jpg - NONE/- image/jpeg
1329086355.922 1189 192.168.48.81 TCP_MISS/200 499 GET http://www.tns-counter.ru/V13a***R%3E*vkontakte_ru/ru/UTF-8/tmsec=vk_total/213740408 - DIRECT/217.73.200.218 image/gif
1329086355.922 1189 192.168.48.81 TCP_MISS/200 499 GET http://www.tns-counter.ru/V13a***R%3E*vkontakte_ru/ru/UTF-8/tmsec=vk_total/213740408 - DIRECT/217.73.200.218 image/gif
1329086355.951 1219 192.168.48.81 TCP_MISS/200 370 GET http://counter.yadro.ru/hit? - DIRECT/88.212.196.66 image/gif
1329086355.951 1219 192.168.48.81 TCP_MISS/200 370 GET http://counter.yadro.ru/hit? - DIRECT/88.212.196.66 image/gif
1329086355.964 1 192.168.48.81 TCP_MEM_HIT/200 2443 GET http://vk.com/notifier.php? - NONE/- text/html
1329086355.964 1 192.168.48.81 TCP_MEM_HIT/200 2443 GET http://vk.com/notifier.php? - NONE/- text/html
1329086358.224 3854 192.168.48.81 TCP_MISS/200 491 POST http://vk.com/al_feed.php? - DIRECT/87.240.188.247 text/plain
1329086358.224 3854 192.168.48.81 TCP_MISS/200 491 POST http://vk.com/al_feed.php? - DIRECT/87.240.188.247 text/plain
1329086360.185 1222 192.168.48.81 TCP_MISS/200 320 POST http://q77.queue.vk.com/im272 - DIRECT/87.240.131.226 text/javascript
1329086360.185 1222 192.168.48.81 TCP_MISS/200 320 POST http://q77.queue.vk.com/im272 - DIRECT/87.240.131.226 text/javascript
??
Вот правило файрвола;
Код: Выделить всё
-f flush
add fwd 192.168.48.1,3128 tcp from 192.168.48.0/24 to any dst-port www in via rl0
Код: Выделить всё
map rl1 192.168.48.0/24 -> 10.200.2.68/32
map rl1 10.0.0.0/24 -> 10.200.2.68/32
Код: Выделить всё
map rl1 192.168.48.0/24 -> 10.200.2.68/32
map rl1 10.0.0.0/24 -> 10.200.2.68/32
rdr rl1 192.168.48.0/24 port 80 -> 10.253.9.8 port 3131
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
поставьте логгирование выше на сквиде, посмотрите трафик от "удалённой прокси" в момент запроса.
анализируйте
анализируйте
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Вот ещё может быть в этом дело;
Стартуем сквид
Accepting ICP messages at 0.0.0.0, port 3130, FD 13.
Configuring 10.253.9.8 Parent 10.253.9.8/3131/0
И может быть в связи с этим происходит отвал TCP
В конфиге указан только проксирующий протокол HTTP я подставил IP что бы вижно было (192.168.48.1, port 3128)
Он такой же в локальном Squid; Accepting ICP messages at 0.0.0.0, port 3130
Может его тоже чтоит указать для этого соединения -- cache_peer 10.253.9.8 parent 3131 3130 no-query default Хотя, совсем не обязательно что у 10.253.9.8 будет именно этот порт 3130 - он вроде как для ответа клиенту.
Пробую поставить логирование выше, ничего не происходит.
Стартуем сквид
Код: Выделить всё
2012/02/13 06:42:26| User-Agent logging is disabled.
2012/02/13 06:42:26| Referer logging is disabled.
2012/02/13 06:42:26| DNS Socket created at 0.0.0.0, port 56660, FD 10
2012/02/13 06:42:26| Adding nameserver 127.0.0.1 from /etc/resolv.conf
2012/02/13 06:42:26| Accepting transparently proxied HTTP connections at 192.168.48.1, port 3128, FD 11.
2012/02/13 06:42:26| Accepting ICP messages at 0.0.0.0, port 3130, FD 13.
2012/02/13 06:42:26| Accepting HTCP messages on port 4827, FD 14.
2012/02/13 06:42:26| Pinger socket opened on FD 16
2012/02/13 06:42:26| Configuring 10.253.9.8 Parent 10.253.9.8/3131/0
2012/02/13 06:42:26| Loaded Icons.
2012/02/13 06:42:26| Ready to serve requests.
Configuring 10.253.9.8 Parent 10.253.9.8/3131/0
И может быть в связи с этим происходит отвал TCP
Код: Выделить всё
1329090148.440 0 192.168.48.81 [b]TCP_DENIED/403[/b] 1277 GET http://www.yandex.ru/ - NONE/- text/html
Он такой же в локальном Squid; Accepting ICP messages at 0.0.0.0, port 3130
Может его тоже чтоит указать для этого соединения -- cache_peer 10.253.9.8 parent 3131 3130 no-query default Хотя, совсем не обязательно что у 10.253.9.8 будет именно этот порт 3130 - он вроде как для ответа клиенту.
Пробую поставить логирование выше, ничего не происходит.
-
- проходил мимо
Re: Маршрутизация с использованием удалённого Прокси
Постарайтесь внимательно разобрать конфиг сквида
Код: Выделить всё
TAG: icp_access
Этот тэг разрешает или запрещеает доступ по ICP порту основываясь на ACL
icp_access allow|deny [!]aclname ...
Смотри http_access для подробностей
По умолчанию:
icp_access deny all
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Пришёл домой, скинул все настройки себе на Squid. Вообще, не знаю почему, но у меня теперь дома весь интернет на халяву...
По идее, удалённый прокси должен резать всё и вся нещадно.
Правда, я немного пошевелил конфиг, но незначительно. Хотел добиться хоть какого-то положительного ответа, по этому стал снимать все ограничения и даже не знаю почему, дописал в список разрешёных проктолов - протоколы удалёного прокси (хотя они итак должны быть разрешены. но в данном случае я явно указал);
Итак... чё бы скачать.. дома ведь можно и забить на габоту.. 

По идее, удалённый прокси должен резать всё и вся нещадно.
Правда, я немного пошевелил конфиг, но незначительно. Хотел добиться хоть какого-то положительного ответа, по этому стал снимать все ограничения и даже не знаю почему, дописал в список разрешёных проктолов - протоколы удалёного прокси (хотя они итак должны быть разрешены. но в данном случае я явно указал);
Код: Выделить всё
http_port 8080 transparent
coredump_dir /var/squid/cache
error_directory /usr/local/etc/squid/errors/Russian-koi8-r
visible_hostname fbsd
acl users src 192.168.48.0/255.255.255.0
acl super src 192.168.48.0/255.255.255.252
cache_peer 10.253.9.8 parent 3131 0 no-query default
never_direct allow super
acl manager proto cache_object
acl all src all
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl Safe_ports port 3131
acl Safe_ports port 3130
acl CONNECT method CONNECT
acl slowa url_regex -i "/usr/local/etc/squid/word-utf8"
acl slowa url_regex -i "/usr/local/etc/squid/word-koi8-r"
acl slowa url_regex -i "/usr/local/etc/squid/word-cp1251"
acl Sex_zone url_regex -i ^http://.*\.(eu/|nu/|za/|co/|cg/|vu/|de/|yu/|ws/|tv/)(\?|$)
acl FTP proto FTP
always_direct allow FTP
always_direct allow all
acl CONNECT method CONNECT
http_access deny Sex_zone
http_access deny slowa
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#http_access allow localnet
http_access deny all
icp_access deny localnet
icp_access deny all
cache_peer_access 10.253.9.8 allow users
cache_peer_access 10.253.9.8 deny all
hierarchy_stoplist cgi-bin ?
access_log /var/squid/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
cache_access_log /var/squid/logs/access.log
cache_store_log /var/squid/logs/store.log
cache_log /var/squid/logs/cache.log

-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Вобщем, всё работает. Просто, если я вбиваю прокси провайдера в настройки браузер, при этом оставляю свой работающий прокси с теми же настройками от провайдера, то ограничение не работает. Просто вхожу в интернет и куда угодно используя удалённый прокси)). Какой-то странный там-дем получился с портами... 
Если настройки в браузере не прописывать, то включаются ограничения, как и должно быть.
Ещё одна странность, это работающий skype и др.увлекательные сервисы..))
Вобщем, можно считать что цель достигнута и даже слишком..
Благодарю за поддержку!
ps. "я знаю точно - невозможное/возможно!))"

Если настройки в браузере не прописывать, то включаются ограничения, как и должно быть.
Ещё одна странность, это работающий skype и др.увлекательные сервисы..))
Вобщем, можно считать что цель достигнута и даже слишком..

Благодарю за поддержку!
ps. "я знаю точно - невозможное/возможно!))"

-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2012-02-09 14:03:27
Re: Маршрутизация с использованием удалённого Прокси
Всё сделал! Настроил.
У меня прозрачный прокси с поддержкой ssl (https 443)
Но тут правда маленький вопрос. -> Проксирующий https, трафик ходит. Но а вопрос следующий - после аутификации по ssl происходит перенаправление, но не до конца.
Так вот;
В конфиге squid указано - обращаться к кешу удалённого прокси сервера. А у него как бы с этим как? Если прописать прокси в браузер на удалённый прокси, то https перенаправляет. Но может быть есть способ и здесь сделать как бы - "транзит https" потока?
# tail /var/squid/logs/access.log
Вот сырой, но рабочий вариант;
# cat squid.conf | egrep -v '^#|^$'
У меня прозрачный прокси с поддержкой ssl (https 443)
Но тут правда маленький вопрос. -> Проксирующий https, трафик ходит. Но а вопрос следующий - после аутификации по ssl происходит перенаправление, но не до конца.
Так вот;
Код: Выделить всё
DansGuardian - 400 Bad Request
Запрашиваемый URL является неправильно оформлен.
# tail /var/squid/logs/access.log
Код: Выделить всё
1330050805.418 1265 10.1.1.82 TCP_REFRESH_HIT/304 308 GET http://s0.2mdn.net/viewad/2583822/16-1x1.gif - DEFAULT_PARENT/10.253.9.8 -
1330050810.170 1462 10.1.1.82 TCP_MISS/302 1567 POST http://passport.yandex.ru/passport? - DEFAULT_PARENT/10.253.9.8 text/plain
1330050811.376 1199 10.1.1.82 TCP_MISS/302 621 GET http://passport-ckicheck.yandex.ru/passport? - DEFAULT_PARENT/10.253.9.8 text/plain
1330050813.167 1145 10.1.1.82 TCP_MISS/302 477 GET http://pass.yandex.ru/login? - DEFAULT_PARENT/10.253.9.8 text/html
1330050815.127 1957 10.1.1.82 TCP_MISS/302 2226 GET http://mail.yandex.ru/? - DEFAULT_PARENT/10.253.9.8 -
1330050816.730 1701 10.1.1.82 TCP_MISS/302 547 GET http://mail.yandex.ru/neo2/ - DEFAULT_PARENT/10.253.9.8 text/html
1330050816.746 7 10.1.1.82 TCP_MISS/400 310 GET https://mail.yandex.ru/neo2/ - DEFAULT_PARENT/10.253.9.8 text/html
# cat squid.conf | egrep -v '^#|^$'
Код: Выделить всё
http_port 3128 transparent
https_port 3129 transparent key=/usr/local/etc/squid/squid.key cert=/usr/local/etc/squid/squid.pem sslflags=DELAYED_AUTH
icp_port 0
cache_peer 10.253.9.8 parent 3131 0 no-query default
hierarchy_stoplist cgi-bin ?
coredump_dir /var/squid/cache
visible_hostname fbsd
error_directory /usr/local/etc/squid/errors/Russian-koi8-r
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 22
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl purge method PURGE
acl CONNECT method CONNECT
acl FTP proto FTP
always_direct allow FTP
http_access allow localnet
acl users_src src 10.1.1.0/255.255.255.0
acl users_dst dst 10.1.1.0/255.255.255.0
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
always_direct allow users_dst
never_direct allow all
http_access allow localhost
icp_access deny localnet
icp_access deny all
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
cache_access_log /var/squid/logs/access.log squid
cache_store_log /var/squid/logs/store.log squid
cache_log /var/squid/logs/cache.log squid