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

    OpenVPN Client -> External VPN Service provider

    Scheduled Pinned Locked Moved Russian
    35 Posts 3 Posters 5.5k 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.
    • werterW
      werter
      last edited by

      Доброе.
      Спасибо за block-outside-dns

      server.conf

      push "dhcp-option DNS x.x.x.x"  # Push your preferred VPN DNS - google eg. 8.8.8.8
      push "block-outside-dns"        # Block access to any other DNS

      Otherwise, you can simply add block-outside-dns to your Windows 10 client config files.

      P.s. По сквиду попробовать в Services -> Proxy server -> General -> Custom Options добавить tcp_outgoing_address 127.0.0.1;

      1 Reply Last reply Reply Quote 0
      • D
        dvv06
        last edited by

        я все-таки не хочу прыгать с одной системы на другу и останусь на pfsense.
        Насчет DNS провайдера я не подумал, спасибо за наводку (хотя это первое о чем надо было подумать)
        Думаю если в General Setup указать внешний днс с привязкой к openvpn шлюзу, то если не ошибаюсь на клиентах ничего не потребуется менять…
        раздать клиентам гулевские днс не получится, у них днс - контролер домена, это вызовет проблемы как участников домена.
        да и весь трафик тогда пойдет с откликом от гуглевских, а не провайдеровского днс с 2 мс.
        Но идея понятна - для тунеля не использовать днс провайдера
        может быть в сетевом интерфейсе впн указать явно днс гугла?

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

        P.S: проверил на windows 7 клиенте openvpn.
        добавил маршрут к нужным сайтам через впн шлюз
        указал гуглевские днс.
        теперь у меня скорость всех сайтов от провайдера, а на нужные ходит по узкому каналу впн.

        завтра попробую на pfsense

        Отдельное спасибо за терпение и помощь werter и pigbrother. Может быть мой опыт поиска решения будет кому-то полезен ;-)

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

          я все-таки не хочу прыгать с одной системы на другу и останусь на pfsense.

          Совет ув. Werter Купить в Европе самый дешевый VPS касается не смены платформы, а организации собственного удаленного сервера с поднятым на нем OpenVPN.

          1 Reply Last reply Reply Quote 0
          • D
            dvv06
            last edited by

            Отчет об экспериментах:
            1. в General Setup оставил только внешние DNS (например 8.8.8.8, 8.8.4.4)
            т.к провайдер сделал переопределение имя-ip и трасировка проходит по маршруту к его внутреннему адресу
            2. Создал правило для тестовых сайтов через шлюз vpn для определенных lan_ip
            3.  настроил подключение впн клиента по конфигу из *.ovpn
            но отключил две опции

            • Don't pull routes
            • Don't add/remove routes
              –----
              В итоге соединение происходит, шлюз не переназначается на впн, а остается мультиван, и на все сайты кроме указаных ходит через провайдера, а к тестовым сайтам через впн тунель (добавил тестовый компьютер в группу, которая ходит напрямую в инет минуя прокси)

            Что смущает:
            1. в логах после установления успешного соединения повторяется строки
            May 23 14:24:01 openvpn 37012 MANAGEMENT: Client disconnected
            May 23 14:24:01 openvpn 37012 MANAGEMENT: CMD 'status 2'
            May 23 14:24:01 openvpn 37012 MANAGEMENT: CMD 'state 1'
            May 23 14:24:01 openvpn 37012 MANAGEMENT: Client connected from /var/etc/openvpn/client2.sock
            May 23 14:15:52 openvpn 37012 MANAGEMENT: Client disconnected
            May 23 14:15:52 openvpn 37012 MANAGEMENT: CMD 'status 2'
            May 23 14:15:52 openvpn 37012 MANAGEMENT: CMD 'state 1'
            May 23 14:15:52 openvpn 37012 MANAGEMENT: Client connected from /var/etc/openvpn/client2.sock

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

            2. если же явно в броузерах на компьютерах указывать "ходить через прокси" и  правило прокси и ниже вышеуказаного исключения для сайтов, то всеравно тестовые сайты не открываются. Это главная проблема на которой застопорился

            1 Reply Last reply Reply Quote 0
            • werterW
              werter
              last edited by

              Доброе.
              Что за правило прокси? Скрины.

              1 Reply Last reply Reply Quote 0
              • D
                dvv06
                last edited by

                вот скрин локальнойго интерфейса
                и правило для впн с Sites_Test вверху
                https://ru.files.fm/u/2g99qy3r#_

                1 Reply Last reply Reply Quote 0
                • werterW
                  werter
                  last edited by

                  Предпоследнее правило. Что за LAN2 net в dest  ?

                  Просьба. Цепляйте картинки здесь же.

                  1 Reply Last reply Reply Quote 0
                  • D
                    dvv06
                    last edited by

                    по диапазону LAN2 = InternetWorkstation = 192.168.1.0/24
                    предпоследнее правило это заворот на прокси всего исходящего трафика (или я  не правильно сделал? у меня этот конфиг идет еще с pfsense 2.0 ничего не меняю, только дополняю).

                    P.S: мне стыдно, но я не могу понять как это сделать с картинками
                    вижу тэги ![vpn6.png](, вижу Attach (выбираю файл) не вижу загрузки
                    <br>
                    <br>
                    <img class=) vpn6.png_thumb" />

                    1 Reply Last reply Reply Quote 0
                    • werterW
                      werter
                      last edited by

                      предпоследнее правило это заворот на прокси всего исходящего трафика (или я  не правильно сделал? у меня этот конфиг идет еще с pfsense 2.0 ничего не меняю, только дополняю).

                      У вас прозрачный\transparent прокси ?

                      1 Reply Last reply Reply Quote 0
                      • D
                        dvv06
                        last edited by

                        нет, прокси с авторизацией из локальной базы прокси

                        1 Reply Last reply Reply Quote 0
                        • werterW
                          werter
                          last edited by

                          Тогда зачем вы пытаетесь завернуть трафик на прокси ?
                          Если он непрозрачный, то явно указывайте его адрес и порт на клиентах (или автоматом раздаете wpad-файл с настройками прокси).

                          1 Reply Last reply Reply Quote 0
                          • D
                            dvv06
                            last edited by

                            Сейчас все браузеры и программы берут настройки не с настроек сетевой карты ПК, а из IE:

                            • Если в IE прописаны proxy: ip:port + login-pass тогда тотже Crome, Opera берет настройки с него и ходит через прокси, при установленном впн соединении - выполняется правило предпоследнее и почти весь трафик идет через прокси, но при этом правило с тестовыми сайтами через впн игнорируется и сайты не открываются в этих браузерах.
                            • Если в IE не прописаны proxy: ip:port + login-pass тогда тотже Crome, Opera берет настройки с него и перебирает по очереди до первого совпадения все правила выше прокси и срабатывает на тестовых сайтах через впн, открывая их успешно, но все остальные сайты не открывает, т.к не знает из своих настроек ничего об адресе прокси

                            Обычно я так и использую - в IE ничего не прописано и все приложения типа скайпа, вайбера ходят в обход прокси по правилам фаервола, а для серфинга пользуемся FF, где
                            прописан прокси и сайты успешно открываются.

                            Но вот в данном случае это не работает: в IE (ничего не прописано), в FF(прописан прокси) и получается, что IE открывает только тестовый набор сайтов, а FF - все остальные за исключением тестового набора.

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

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

                              Вдогонку:
                              [How to] pfSense Selective Routing via VPN and WAN Interfaces
                              https://forum.pfsense.org/index.php?topic=105810.0

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

                                Кстати, по поводу DNS и OVPN.
                                Если в Client Specific Overrides или настройках самого сервера задать DNS Servers, и передать клиенту через
                                push "block-outside-dns"; или явно указать block-outside-dns в конфиге клиента, то есть все имеющиеся в системе DNS будут игнорироваться, а использоваться только те, что передаются через OVPN.
                                Это работает, проверял, по крайней мере, для клиентов Windows 8.1, и наверное, более новых.

                                Добавлю. Block Outside DNS есть как опция в Client Export Utility.
                                И хотя там написано, что:
                                Requires Windows 10 and OpenVPN 2.3.9 or later
                                Это работает и в (начиная с?) Windows 7, по крайней мере с версией клиента 2.4.0-Ix01.

                                1 Reply Last reply Reply Quote 0
                                • werterW
                                  werter
                                  last edited by

                                  2 pigbrother
                                  Спасибо (особое) и за последн. ссылку и за объяснения )

                                  2 dvv06
                                  А что если в настр. squid исключить доступ к сайтам (предварит. создать alias) , к-ые должны быть доступны напрямую минуя squid ? Т.е. указать их в исключениях squid в dest ?
                                  После же воспользоваться последн. ссылками, что дал ув. pigbrother. чтобы завернуть (пометив трафик в правиле fw на LAN и создав правило c reject во floating rules ) доступ к блок. сайтам и dns только через vpn.

                                  Вроде реализуемо.

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dvv06
                                    last edited by

                                    pigbrother
                                    отличная статья, буду пробовать, только насколько я понял из комментариев (поправьте меня если не прав):

                                    1. НЕ НУЖНО убирать правила в nat для впн шлюза (из предыдущей статьи по настройке впн клиента)
                                    2. добавить правило в лан для впн шлюза (в моем случае оно уже есть для Test_sites) и указать маркировать его "NO_WAN_EGRESS"
                                    3. добавть в floating rule правило для WAN1 + WAN2
                                    
                                    Action: Reject
                                    Quick: Checked
                                    Interface: WAN (you can also select multiple WAN interfaces or an interface group here)
                                    Direction: out
                                    Protocol: any
                                    Source: any
                                    Destination: any
                                    Description: Reject outbound traffic marked NO_WAN_EGRESS
                                    Advanced: You can match packet on a mark placed before on another rule: NO_WAN_EGRESS
                                    
                                    

                                    werter
                                    если осилю ваш замысел отпишусь :-)
                                    "squid в dest" насколько я понимаю это конфиг надо править или это делается через GUI squid?

                                    P.S: по переопределению всех DNS на внешние (только так работает обход перенаправления у провайдера почему-то возникла проблема с одной программой, которая отказывалась работать с любыми внешними днс, но как только добавил один из провайдерских, боагополучно заработала. но это как исключение, возможно позже что-то с этим придумаю, например в локальном днс укажу ip-имя к тем сайтам куда она обращается

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dvv06
                                      last edited by

                                      сделал как описал на пост выше по маркировке пакетов идущих через впн к тестовым сайтам п.1-3.
                                      ситуация таже:

                                      • если в IE не указывать прокси - то он открывает сайты ТОЛЬКО из тестового элиаса, другие - нет.
                                      • если в IE уазать прокси - то он открывает все сайты, кроме тестового элиаса.

                                      Вышел из этой ситуации следующим образом:
                                      В FF, IE указал - ходить через прокси и в пункте "Не использовать прокси для указаных сетей" добавил свой тестовый набор.
                                      понимаю что это не централизовано и "костыль"…

                                      Вопрос: нужны ли были эти float rulle если и без них оно работало также

                                      Предложение werter насколько я вычитал относится к пункту "Bypass proxy for these destination IPs", а он доступен в прозрачном прокси, у меня же не прозрачный прокси. какой аналог этого пункта здесь - пока не нашел…

                                      P.S: По поводу отдельных программ, которые не хотят работать с публичными днс - все оказалось просто, я использовал нортоновские и гуглевские, нортоновские быстрее поэтому они первыми успевают ответить на запрос имени, а в их базе эти конкретные сайты проходят как вредоносные. достаточно указать другой днс и все заработало

                                      Впринципе "костылем" проблема доступа решена, жаль, что не получилось это централизовано сделать на проксе.
                                      Выражаю благодарность werter и pigbrother!!! Без вас ребята я бы не додумался до такого :-))))

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

                                        Поздравляю.
                                        Плюс за то, что не сдались и довели дело до конца.

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