Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Перенаправление http

    Scheduled Pinned Locked Moved Russian
    14 Posts 5 Posters 4.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      chieftech
      last edited by

      Здравствуйте многоуважаемые технари.

      Помогите решить задачу.

      Исходные данные:

      • Имеется порядка 6 залов в которых публика сидит и смотрит на компьютерах спортивную информацию, всевозможные линии с коэффициентами, результаты матчей и онлайн трансляции.
      • В каждом таком зале шлюз реализован средствами pfsense 2.2.6 и прозрачным прокси с установленным на всех машинах сертификатом.
      • Клиенты постоянно используют некоторые вебсайты букмейкерских контор, назовём их example1.com и example2.com. Но в условиях Российского законодательства публичные ставки в этих букмейкерских конторах запрещены и влекут за собой штрафы. По этой причине все url типа example1.com/account или account.example2.com блокируются в squidguard proxy.
      • Еще бл%:;кий Роскомнадзор постоянно блокирует домены этих букмейкерских контор, причем делает это с заурядной частотой. И по этой причине приходится постоянно переписывать URlы.
      • В каждом зале проведено 2 интернет провайдера с настроенным лоадбалансингом. На каждом провайдере реальный IP адресс.
      • Немного на счет трафика. Из каждого зала ведется дублирование видеонаблюдения ~20 мегабит на удаленный видеосервер.
      • Имеется 2 удаленных сервера один в Германии, другой в Украине для всяких маломальских нужд.

      Задача:
      Мелькнула мысль перенаправить http трафик со всех залов на удаленный сервер для обхода этих дебильных и глупых блокировок и облегчить себе в конце концов жизнь.

      Но вот проблемы которые я для себя вижу:
      Реализовать это openvpn тунелем на удаленный серсвер, но как перенаправить трафик только по конкретно интересующим доменам, а не весь трафик, ибо  совершенно не благоразумно пускать трафик с камер через другую страну, да и видеотрансляции с вебсайтов, в основном - http трафик, и во время чемпионатов мы себе сгенерируем проблему с каналами.

      Насколько реально реализовать такие пробросы средствами pfsense?

      Проблема решена

      Поднят опенвпн клиентом на удаленный сервер.
      Создан интерфейс на это подключение опенвпн.
      Трафик к сожалению не заворачивается фаерволом в нужный шлюз по инструкции товарища PbIXTOP. Может я где-то натупил…
      Заворачиваем трафик с помощью статик роутов прописывая нужный ip или всю подсеть в System - Routing - Routs с указанием нужного шлюза.
      И конечно не забываем за натить впн шлюз.
      DNS пока не пробовал, но решение с DNS resolver(forwarder) –> Domain Overrides по совету PbIXTOP должно работать.
      vpnpfsense.jpg_thumb
      vpnpfsense.jpg

      1 Reply Last reply Reply Quote 0
      • P
        PbIXTOP
        last edited by

        Для решения переброса определенных доменов в другое место, я бы использовал подмену DNS записей с нужными IP.

        Ну как вариант если провайдеры все-таки сами не поменяют DNS запросы, можно составить просто списки с fqdn записями доменов и пытаться их уже отправлять на нужный маршрутизатор. Из минусов можно получить проблему CDN серверов, ведь многие используют CloudFlare, где на одном IP может быть множество различных сайтов.

        1 Reply Last reply Reply Quote 0
        • R
          rubic
          last edited by

          Посмотрите как устроен proxy.pac на сайте антизапрета. В нем есть список заблокированных РКН IP-адресов. Когда браузер пытается открыть некий URL, последний разрешается в IP-адрес. Если адрес в списке, то запрос идет через прокси антизапрета, если нет - напрямую.

          Вы можете сделать по аналогии, т. е. поднять туннель до внешнего сервера, поднять на этом сервере прокси, отредактировать оригинальный proxy.pac так, чтобы он возвращал ваш прокси, а не антизапрета, раздать proxy.pac пользователям.

          1 Reply Last reply Reply Quote 0
          • S
            Scodezan
            last edited by

            @chieftech:

            И по этой причине приходится постоянно переписывать URlы.

            Блокируют обычно подменой IP адресов. Можно попробовать подменить обратно в DNS resolver(forwarder) –> Domain Overrides

            @chieftech:

            Реализовать это openvpn тунелем на удаленный серсвер, но как перенаправить трафик только по конкретно интересующим доменам, а не весь трафик

            ОpenVPN по дефолту трафик никуда не перенаправляет. Тут нет причин для беспокойства. Единственно, что преренаправление можно сделать только по IP.

            1 Reply Last reply Reply Quote 0
            • C
              chieftech
              last edited by

              @Scodezan:

              @chieftech:

              И по этой причине приходится постоянно переписывать URlы.

              Блокируют обычно подменой IP адресов. Можно попробовать подменить обратно в DNS resolver(forwarder) –> Domain Overrides

              @chieftech:

              Реализовать это openvpn тунелем на удаленный серсвер, но как перенаправить трафик только по конкретно интересующим доменам, а не весь трафик

              ОpenVPN по дефолту трафик никуда не перенаправляет. Тут нет причин для беспокойства. Единственно, что преренаправление можно сделать только по IP.

              То есть, я могу поднять тоннель на удаленный сервер, указать в разделе Domain Override нужный мне домен, а ip для него будет тоннельный ip удаленного сервера, а им в свою очередь сможет выступить тот же pfsense, и всё? Вуаля?

              1 Reply Last reply Reply Quote 0
              • S
                Scodezan
                last edited by

                Возможно, PbIXTOP знает больше…. Вообще, не взлетит. По такой схеме плюсом ко всему нужен прокси сервер на удалённом сервере, например на apache/nginx.

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

                1 Reply Last reply Reply Quote 0
                • C
                  chieftech
                  last edited by

                  @Scodezan:

                  Возможно, PbIXTOP знает больше…. Вообще, не взлетит. По такой схеме плюсом ко всему нужен прокси сервер на удалённом сервере, например на apache/nginx.

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

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

                  1 Reply Last reply Reply Quote 0
                  • S
                    Scodezan
                    last edited by

                    Прилетает 4 байта, которые именуются IP.
                    Сопоставление имён, тоже происходит чуть чуть иначе.
                    И с прокси, Вы погорячились.

                    Делайте как знаете, если всё и так знаете.

                    1 Reply Last reply Reply Quote 0
                    • P
                      PbIXTOP
                      last edited by

                      Rubic спасибо, показал ещё неплохое решение с pac файлом.

                      Domain Overrides, тоже неплохое решение - если указать DNS ресолвер внутри тунеля, провайдер несможет подменить оригинальный ответ DNS.
                      Все хосты FQDN, которые вам необходимо разблокировать необходимо прописать в созданный alias-host.
                      И создать правило на LAN интерфейсе, чтоб при обращении к данному alias (DESTANATION) и использовать GATEWAY тунеля в этом правиле.

                      Правда надо незабывать про NAT, как локально так и удаленно.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Scodezan
                        last edited by

                        @PbIXTOP:

                        Rubic спасибо, показал ещё неплохое решение с pac файлом.

                        Сами то юзали? Инертно, децентрализовано и полное отсутствие какого либо дебага.

                        1 Reply Last reply Reply Quote 0
                        • P
                          PbIXTOP
                          last edited by

                          @Scodezan:

                          @PbIXTOP:

                          Rubic спасибо, показал ещё неплохое решение с pac файлом.

                          Сами то юзали? Инертно, децентрализовано и полное отсутствие какого либо дебага.

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

                          1 Reply Last reply Reply Quote 0
                          • S
                            Scodezan
                            last edited by

                            Ничего не имею против офиса. Я имел ввиду когда 20 компьютеров на 50 обезьян, у которых каждая секунда на счету. И всё это помноженное на 5.

                            Для себя с того же антизапрета я узнал о 3proxy. Дивная, надо сказать, вещь. Тут бы он много упростил задачу, но он не даёт возможности автоматического резервирования.

                            1 Reply Last reply Reply Quote 0
                            • C
                              chieftech
                              last edited by

                              @PbIXTOP:

                              Rubic спасибо, показал ещё неплохое решение с pac файлом.

                              Domain Overrides, тоже неплохое решение - если указать DNS ресолвер внутри тунеля, провайдер несможет подменить оригинальный ответ DNS.
                              Все хосты FQDN, которые вам необходимо разблокировать необходимо прописать в созданный alias-host.
                              И создать правило на LAN интерфейсе, чтоб при обращении к данному alias (DESTANATION) и использовать GATEWAY тунеля в этом правиле.

                              Правда надо незабывать про NAT, как локально так и удаленно.

                              Не взлетело(

                              Создал alias со списком доменов, создал правило на лан интерфейсе где в DESTANATION указал этот alies. Шлюзом выбрал интерфейс с впнкой. Но трафик продолжает ходить по основным шлюзам. Натил, перезапускал роутер. чет не помогло.

                              Взлетело статическими маршрутами. Пока ip у домена не меняется, все работает и вроде бы всё устраивает.

                              1 Reply Last reply Reply Quote 0
                              • P
                                pigbrother
                                last edited by

                                Создал alias со списком доменов

                                Алиасы создавали тут

                                Firewall-Aliases-URLs?

                                Не взлетело(

                                И не могло:
                                Enter as many URLs as desired. After saving, the URLs will be downloaded and the items imported into the alias. Use only with small sets of IP addresses (less than 3000).

                                URL алиасы в pfSense - просто ссылки для облегчения загрузки списков IP :(

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.