The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"FreeBSD TPROXY"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid и других прокси серверов (Прозрачный proxy)
Изначальное сообщение [ Отслеживать ]

"FreeBSD TPROXY"  +/
Сообщение от alex_eisner email(ok) on 29-Май-14, 13:15 
Здравствуйте!

Я администратор у маленького провайдера. Как вы знаете, есть закон по которому мы должны блокировать политически неблагонадежные сайты. Для нас большой проблемы нет, наш оператор их блокирует, дополнительно заморачиваться и не очнь надо. Но вот наша доблесная прокуратура решила заработать себе галочку. Через суд нас обязали прикрыть ролик на ютубе.

Ну раз наш самый справедливый и гумманный сказал - значит надо!

У меня стоит маршрутизатор под управлением FreeBSD. Воткнул в него Режик+Squid прозрачно. Вместо ролика со злыми ингушами у наших абонентов появляется страничка с "Ай-яй-яй, не ходи сюда!!!". Все замечательно.

Только вот... Зайдя на любой сайт, типа 2ip.ru, он мне говорит IP моего маршрутизатора, а вот за этим прокси вот твой реальный АЙПИ. Не кошерно конечно, но и не так как уж и страшно. Но вот стали переодически на Яндексах и Гуглах появляться сообщения: ваш адрес очень любопытный, много задает вопросов, вы наверное терминатор!!! И требует доказать абоненту, что он истинный потомок Джона Конара, а не какойто там житкий. В общем надо капчу вводить... А это мне уже не нравиться.

Нашел в сети такую технологию Сквида TPROXY. С помощью нее Сквид загружает сайт, использую адрес клиента. Но TPROXY работает только под Linux. В портах есть lusca_head. Это сквид с TPROXY для FreeBSD. Попробывал ее.

Если включить transparent - все работает. А вот если tproxy, то в браузере выдает такую штуку.
В браузере:

While trying to process the request:

              GET / HTTP/1.1
Host: 192.168.1.59:83
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: pma_lang=ru; pma_mcrypt_iv=JkfL3GPfLzg=; pmaUser-1=5o6xJk1UOio=; pma_collation_connection=utf8_general_ci
Connection: keep-alive
Cache-Control: max-age=0


            

The following error was encountered:

Invalid Request

Перед GET иммено стоят непонятные невидимые символы.

На сквид я заворачиваю с помощью ipfw:

ipfw add fwd 127.0.0.1,3128 tcp from any to not me in xmit em1
ipfw add fwd 127.0.0.1,3128 tcp from any to not me in recv em1

Уж очень хочется оставить ipfw и FreeBSD, потому что стоит еще самописный демон, который дребует именно ipfw. Также отлаженная система управления клиентами и т.д.

Уважаемые спецы, может кто сталкивался с подобной задачей? Помогите советом.
С уважением,
Алексей

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "FreeBSD TPROXY"  +/
Сообщение от LHC on 29-Май-14, 13:39 
>[оверквотинг удален]
> ipfw add fwd 127.0.0.1,3128 tcp from any to not me in xmit
> em1
> ipfw add fwd 127.0.0.1,3128 tcp from any to not me in recv
> em1
> Уж очень хочется оставить ipfw и FreeBSD, потому что стоит еще самописный
> демон, который дребует именно ipfw. Также отлаженная система управления клиентами и
> т.д.
> Уважаемые спецы, может кто сталкивался с подобной задачей? Помогите советом.
> С уважением,
> Алексей

В Squid
forwarded_for delete
via off

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "FreeBSD TPROXY"  +/
Сообщение от alex_eisner email(ok) on 29-Май-14, 14:39 
> В Squid
> forwarded_for delete
> via off

Спасибо за отклик!

В данном случае тот же 2ip скажет что прокси вы не используете. Но адрес покажет проксевый.
Соответственно все равно будут получать капчу в поисковиках. Хотелость бы чтобы удаленный хость видил ip клиента, а не прокси...

С уважением,
Алексей.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "FreeBSD TPROXY"  +/
Сообщение от PavelR (ok) on 29-Май-14, 15:35 
>> В Squid
>> forwarded_for delete
>> via off
> Спасибо за отклик!
> В данном случае тот же 2ip скажет что прокси вы не используете.
> Но адрес покажет проксевый.
> Соответственно все равно будут получать капчу в поисковиках. Хотелость бы чтобы удаленный
> хость видил ip клиента, а не прокси...
> С уважением,
> Алексей.

а зачем вы _все_ DST IP заворачиваете на прокси?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "FreeBSD TPROXY"  +/
Сообщение от Georgdts on 29-Май-14, 15:21 
Добрый,

> Уважаемые спецы, может кто сталкивался с подобной задачей? Помогите советом.
> С уважением,
> Алексей

А ядро собрано с:
options         IP_NONLOCALBIND

?
А вообще вот тут пример: http://tproxy.no-ip.org/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "FreeBSD TPROXY"  +/
Сообщение от StreSS.t (ok) on 29-Май-14, 15:53 
http://habrahabr.ru/post/219435/ - только перепишите под себя правила.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "FreeBSD TPROXY"  +/
Сообщение от alex_eisner email(ok) on 30-Май-14, 10:23 
Во-первых я не првильно прописал настройку tproxy:
Было: http_port 3128 tproxy
Надо: http_port 3128 transparent proxy

Но в таком случае запроса от реального адреса не происходит. То есть прокси запрос делает от себя.

Включил полный дебаг, увидел следующее:
comm_dfopen6: FD: TPROXY comm_ips_bind_rem() failed: errno 1 ((1) Operation not permited)

Погуглил. Ага не разрешает спуфить адрес не от рута.

> options         IP_NONLOCALBIND

На эту опцию make ругается, что нет такой...

Нашел ссылочку:
http://adsh.org.ua/blog/comments/52/#comments

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

Большое спасибо за Ваше участие!
С уважением,
Алексей.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "FreeBSD TPROXY"  +/
Сообщение от alex_eisner (ok) on 02-Июн-14, 15:26 
Все получилось!

Пропатчил сорцы, перекомпилировал и установил ядро. На внешнем хосте отобразился мой адрес, а не проксевый.

Пошел готовить боевой сервак.

Большое спасибо!
С уважением,
Алексей.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "FreeBSD TPROXY"  +/
Сообщение от alex_eisner email(ok) on 28-Ноя-14, 14:03 
Еще раз здравствуйте!

Недавно поднимал сервак для тестов с проксями... Оказалось что lusca-head в портах уже нет. В порту www/squid он версии 3.4.9. Почитал README, там написано, что TPROXY нормально работает, надо только опции IPFW_TRANSPARENT поставить. Попробовал, выдает ошибку:
FATAL: http(s)_port: TPROXY support in the system does not work.

Все дело в том, что его запускать надо рутом, т.е. в rc.conf добавит squid_user="root". Работает без проблем.
Допустим клиентская сеть 10.0.0.0/24 на интерфейсе em1, внешняя на em0, тогда фаервол будет выглядить так:

ipfw add fwd 127.0.0.1,3128 all from 10.0.0.0/24 to any 80 in recv em1
ipfw add fwd 127.0.0.1 all from any 80 to 10.0.0.0/24 in recv em0

Если вторую строку не добавить, то пакеты от сервера будут сразу пересылаться к клиенту, не попадая в сквид.

С уважением,
Алексей!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "FreeBSD TPROXY"  +/
Сообщение от Alexander Sheiko on 18-Май-15, 19:57 
> Все дело в том, что его запускать надо рутом, т.е. в rc.conf
> добавит squid_user="root". Работает без проблем.

Не пугайте людей. Пропачьте сорцы, как в моей заметке, и юзайте с новым сквидом.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "FreeBSD TPROXY"  +/
Сообщение от Михаил email(??) on 08-Ноя-17, 00:22 
>> Все дело в том, что его запускать надо рутом, т.е. в rc.conf
>> добавит squid_user="root". Работает без проблем.
> Не пугайте людей. Пропачьте сорцы, как в моей заметке, и юзайте с
> новым сквидом.

Добрый день! Тоже столкнулся с задачей спуфа адресов через прокси. Вопрос: для современной FreeBSD 11.1 патч будет работоспособен?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру