Jump to content
  • 0
Arsenij

Часть трафика через прокси

Question

Приветствую и прошу совета:

Имеется Giga 2 v2.06(AAFS.1)C2

В последнее время провайдеры блокируют доступ ко всему подряд, например один из трекеров сайта rutracker.org: bt4.t-ru.org.

Механизмы обхода таких блокировок подробно описаны на соответствующих сайтах, однако все эти способы требуют использования ПК.

Я достаточно давно пользуюсь Synology NAS со своим встроенным клиентом. А настроек прокси в этом клиенте к сожалению нет.

А теперь вопрос: возможно ли на роутере реализовать следующий алгоритм:

1) Synology посылает запрос на zyxel для подключения к заблокированному bt4.t-ru.org

2) Все остальные запросы zyxel обрабатывает как обычно, а запрос на этот конкретный адрес zyxel перенаправляет на (через) какой-либо прокси (по моему выбору)

Т.е. иными словами, можно ли на роутере реализовать что-то вроде прокси клиента, на который бы перенаправлялась часть моих запросов?

Заранее спасибо за помощь!

Share this post


Link to post
Share on other sites

15 answers to this question

  • 0
13 часа назад, Arsenij сказал:

Приветствую и прошу совета:

Имеется Giga 2 v2.06(AAFS.1)C2

В последнее время провайдеры блокируют доступ ко всему подряд, например один из трекеров сайта rutracker.org: bt4.t-ru.org.

Механизмы обхода таких блокировок подробно описаны на соответствующих сайтах, однако все эти способы требуют использования ПК.

Я достаточно давно пользуюсь Synology NAS со своим встроенным клиентом. А настроек прокси в этом клиенте к сожалению нет.

А теперь вопрос: возможно ли на роутере реализовать следующий алгоритм:

1) Synology посылает запрос на zyxel для подключения к заблокированному bt4.t-ru.org

2) Все остальные запросы zyxel обрабатывает как обычно, а запрос на этот конкретный адрес zyxel перенаправляет на (через) какой-либо прокси (по моему выбору)

Т.е. иными словами, можно ли на роутере реализовать что-то вроде прокси клиента, на который бы перенаправлялась часть моих запросов?

Заранее спасибо за помощь!

opkg + transparent proxy (например squid или 3proxy)

Share this post


Link to post
Share on other sites
  • 0

fwmarks работают? Модули ipset есть? А если найду?:)

На других прошивках использую следующую связку:

  • dnsmasq параллельно с резолвом явно перечисленных доменом складывает результаты резолва в отдельный сет,
  • правилом iptables ставлю fwmark на пакетах от/до адресов из сета,
  • маркированные пакеты отправляю по отдельной таблице роутинга, например через VPN.
42 минуты назад, Le ecureuil сказал:

opkg + transparent proxy (например squid или 3proxy)

Так это только для HTTP-трафика. HTTPS пролетает.

     

    Share this post


    Link to post
    Share on other sites
    • 0
    3 часа назад, Le ecureuil сказал:

    opkg + transparent proxy (например squid или 3proxy)

    Спасибо, на данный момент у меня сделано следующее:

    1) установлены на роутере tor и pollipo

    2) данная связка работает, если адрес прокси (192.168.1.1:8123) напрямую указать в браузере или utorrent.

    3) Но если настроить переадресацию на роутере следующего вида:

    ip static tcp 195.82.146.120 255.255.255.252 80 192.168.1.1 8123

    То пакеты на указанный пул адресов должны идти через прокси, но этого почему-то не происходит. Utorrent возвращает ошибку 404.

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

    ip static tcp 195.82.146.120 255.255.255.252 80 195.82.146.100 3128

    То все работает.

    4) Копаясь на форуме рутрекера обнаружил, что проблема может быть в неких заголовках, а точнее их трансляции через прокси, а именно:

    http://rutracker.org/forum/viewtopic.php?t=5376074

    Попробовал устагновить privoxy на zyxel: opkg install privoxy, но настроить его хоть как-то показывать признаки жизни мне почему-то так и не удалось...

    Нужна помощь... Умеет ли squid или 3proxy проделывать такое с заголовками?

    2 часа назад, Александр Рыжов сказал:

    fwmarks работают? Модули ipset есть? А если найду?:)

    На других прошивках использую следующую связку:

    • dnsmasq параллельно с резолвом явно перечисленных доменом складывает результаты резолва в отдельный сет,
    • правилом iptables ставлю fwmark на пакетах от/до адресов из сета,
    • маркированные пакеты отправляю по отдельной таблице роутинга, например через VPN.

    Так это только для HTTP-трафика. HTTPS пролетает.

     

    Совсем ничего не понятно(( Могу только сказать, что https мне пока не нужен...

    Share this post


    Link to post
    Share on other sites
    • 0
    3 минуты назад, Arsenij сказал:

    Нужна помощь... Умеет ли squid или 3proxy проделывать такое с заголовками?

    Проксик должен работать в transparent mode, для privoxy это опция

    accept-intercepted-requests 1

    Проверено, работает.

    Share this post


    Link to post
    Share on other sites
    • 0
    В 02.04.2017 в 14:47, Александр Рыжов сказал:

    Проксик должен работать в transparent mode, для privoxy это опция

    
    accept-intercepted-requests 1

    Проверено, работает.

    Спасибо, а не могли бы вы помочь с настройкой привокси, пока у меня даже просто запустить его с дефолнтым конфигом не выходит:

    1)opkg install privoxy

    2)стартую службу с дефолтным конфигом

    3) В браузере указываю прокси 192.168.1.1 порт 8118 - выдает ошибку.

    Как мне сделать так, чтобы privoxy все запросы, которые на него приходят, перенаправлял на tor (socks5), который работает на том же ip на порту 9050?

    config

    Share this post


    Link to post
    Share on other sites
    • 0

    @Arsenij

    У меня через TOR с таким конфигом отрабатывает:

    Скрытый текст
    
    #
    # original configuration file used by privoxy
    # this is no longer supported by this package
    # it's converted and moved to uci configuration
    # please look at /etc/config/privoxy
    #
    confdir /opt/etc/privoxy
    logdir /opt/var/log
    logfile privoxy.log
    filterfile default.filter
    actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later $
    actionsfile default.action   # Main actions file
    #actionsfile user.action      # User customizations
    listen-address  0.0.0.0:8118
    toggle  1
    enable-remote-toggle  1
    enable-remote-http-toggle  0
    enable-edit-actions 1
    enforce-blocks 0
    buffer-limit 4096
    forwarded-connect-retries  0
    accept-intercepted-requests 1
    allow-cgi-request-crunching 0
    split-large-forms 0
    keep-alive-timeout 300
    socket-timeout 300
    permit-access  0.0.0.0/0
    debug   1    # show each GET/POST/CONNECT request
    debug   4096 # Startup banner and warnings
    debug   8192 # Errors - *we highly recommended enabling this*
    #admin-address privoxy-admin@example.com
    #proxy-info-url http://www.example.com/proxy-service.html
    forward-socks5 / localhost:9050 .
    # forward-socks4 / localhost:9050 .
    # forward-socks4a / localhost:9050 .

     

    Правда при составлении правил через "Безопасность" есть как плюсы так и минусы: 

    + это можно делать через WEB морду

    - к примеру такое правило:

    1.jpg.c626b2a968c981ccf9d0a8d48df997bb.jpg

    правило по умолчанию открывает 80 порт на роутер, поэтому сверху повесил доп правило:

    2.jpg.dd98482db31d48fd6b41fe7d311d9ceb.jpg

    настройки конфигов брал из сообщения @Dorik1972 

     

    только не настраивал adblock, т.е. к конфигу в начале моего сообщения можно просто установить TOR и в нем поправить конфиг  /opt/etc/tor/torrc следующими значениями:

    Скрытый текст
    
    SOCKSPort 9050 # Default: Bind to localhost:9050 for local connections.
    SOCKSPort your.keenetic.ip:9100 # Bind to this address:port too.
    RunAsDaemon 1
    DataDirectory /opt/var/lib/tor

     

     

    Share this post


    Link to post
    Share on other sites
    • 0
    В 01.04.2017 в 21:35, Arsenij сказал:

    Приветствую и прошу совета:

    Имеется Giga 2 v2.06(AAFS.1)C2

    В последнее время провайдеры блокируют доступ ко всему подряд, например один из трекеров сайта rutracker.org: bt4.t-ru.org.

    Механизмы обхода таких блокировок подробно описаны на соответствующих сайтах, однако все эти способы требуют использования ПК.

    Не всегда

    Скрытый текст

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

     

    Share this post


    Link to post
    Share on other sites
    • 0

    Читал, некоторые прямо на роутере настраивают трансляцию через прокси, без Entware.

    Цитата

    Создаем правило трансляции сетевых адресов
    Пакеты на адрес и маска это адреса Рутрекера 195.82.146.120-195.82.146.123
    Выбираем протокол TCP/80
    Перенаправить на адрес и Новый номер порта назначения это адрес и порт прокси

    Аналог на iptables

    iptables -t nat -I PREROUTING  -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination PROXY_IP:PORT

    У рутрекера есть свой прокси (смотрите адрес на форуме), только под их сеть. Не в курсе, заработает ли в таком виде, но вроде бы должен.

    Для торрентов правда есть нюанс. Если прокси не передает заголовок X-Forwarded-For (т.е. все анонимные прокси), то вам надо принудительно в клиенте указывать ваш внешний IP. Поэтому если у вас не статический IP, или нет возможности указать внешний IP для сообщения трекерам, для таких случаев нужно будет искать неанонимный прокси, если трекеры понимают X-Forwarded-for.

    Share this post


    Link to post
    Share on other sites
    • 0
    12 часа назад, m__a__l сказал:

    У меня через TOR с таким конфигом отрабатывает

    Огромное спасибо, все заработало.!

    Правда я проверил (извне) 80 порт на роутере - он закрыт. С чего вы взяли, что он открывается?

    И еще я так до конца не могу понять тонокость с заголовками:

    У меня все работает и без вот этого дополнительного исполняемого скрипта, описанного в теме на рутрекере http://rutracker.org/forum/viewtopic.php?t=5376074:

    {+add-header{X-Forwarded-For: XXX.XXX.XXX.XXX}}
    .t-ru.org

    Где вместо XXX.XXX.XXX.XXX мой внешний статический ip.

    Edited by Arsenij
    оформление

    Share this post


    Link to post
    Share on other sites
    • 0
    3 часа назад, vasek00 сказал:

    Не всегда

      Показать содержимое

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

     

    А как это реализовать?

    2 часа назад, KorDen сказал:

    Читал, некоторые прямо на роутере настраивают трансляцию через прокси, без Entware.

    Аналог на iptables

    
    iptables -t nat -I PREROUTING  -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination PROXY_IP:PORT

    У рутрекера есть свой прокси (смотрите адрес на форуме), только под их сеть. Не в курсе, заработает ли в таком виде, но вроде бы должен.

    Для торрентов правда есть нюанс. Если прокси не передает заголовок X-Forwarded-For (т.е. все анонимные прокси), то вам надо принудительно в клиенте указывать ваш внешний IP. Поэтому если у вас не статический IP, или нет возможности указать внешний IP для сообщения трекерам, для таких случаев нужно будет искать неанонимный прокси, если трекеры понимают X-Forwarded-for.

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

    Share this post


    Link to post
    Share on other sites
    • 0
    2 часа назад, Arsenij сказал:

    А как это реализовать?

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

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

    Скрытый текст

    .... --sport 80 .... --string "http://....../?id=" ....

     

    + Ipv4: Src = хх.хх.хх.214, Dest = 192.168.1.2, Next Protocol = TCP, Packet ID = 1, Total IP Length = 168
    + Tcp: Flags=...A...., SrcPort=HTTP(80), DstPort=49299, PayloadLen=128, Seq=632897520 - 632897648, Ack=1087845386, Win=64400 (scale factor 0x0) = 64400
    - Http: Response, HTTP/1.1, Status: Moved temporarily, URL: /
    ...

      Location:  http://.........?id=.....хх.хх.хх.214......
    ...

    Если уж идет данное обсуждение по блокировке, то по чему бы не сделать маленькую WEB страницу к существующей "Межсетевой экран" по блокировки например нежелательных сайтов которые пользователь считает нужным убрать?

    Edited by vasek00

    Share this post


    Link to post
    Share on other sites
    • 0
    1 час назад, vasek00 сказал:

    Если уж идет данное обсуждение по блокировке, то по чему бы не сделать маленькую WEB страницу к существующей "Межсетевой экран" по блокировки например нежелательных сайтов которые пользователь считает нужным убрать?

    Издеваетесь помаленьку? Это совершенно разные категории обсуждения

    Share this post


    Link to post
    Share on other sites
    • 0
    1 час назад, KorDen сказал:

    Издеваетесь помаленьку? Это совершенно разные категории обсуждения

    1. На счет издеваетесь - не понятно где и в чем.

    2. На счет применения tor так есть альтернатива для данного решения Arsenij.

    3. На счет вывести на страницу возможность блокировки по url адресу согласен это в тему развития наверное, но мало ее там разместить нужно набор голосов, а это под вопросом.

    Без имени-2.jpg

    Edited by vasek00

    Share this post


    Link to post
    Share on other sites
    • 0
    В 04.04.2017 в 11:49, Arsenij сказал:

    И еще я так до конца не могу понять тонокость с заголовками

    Нашелся простой способ проверить работу privoxy-tor с заголовками для рутрекер:

    http://rutracker.org/forum/viewtopic.php?p=72869681#72869681

    Теперь все наглядно работает (или не работает)

    Всем спасибо!

    Share this post


    Link to post
    Share on other sites
    • 0

    Оффтоп, но по тематике: имхо, в плане ограничений логично ориентируются на РТК для прохождения проверок. Следовательно, более-менее универсальные решения находятся в этой стороне:

    Скрытый текст

    Провайдер следит за отправляемыми в сеть пакетами и отправляет вам поддельные ответы от заблокированных Роскомнадзором ресурсов. Поддельный ответ от провайдера, обычно, приходит раньше чем ответ от заблокированного ресурса, поэтому наш клиент, принимая поддельный пакет думает, что ответ уже получен и закрывает соединение, так и не дождавшись пакета от настоящего сервера. Таким образом, мы имеем один запрос от нас, и два ответа от сервера, один из которых поддельный от провайдерского оборудования, а другой - настоящий, от нужного нам сайта. Отсеяв поддельный пакет от провайдера на брандмауэре, мы начнём получать только настоящие пакеты.

    Важно и важно. И не забываем на всякий пожарный.

     

    Share this post


    Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    • Recently Browsing   0 members

      No registered users viewing this page.

    ×