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

    OpenVPN и раздача прав пользователям.

    Scheduled Pinned Locked Moved Russian
    14 Posts 3 Posters 5.8k 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.
    • A
      Ave Alex
      last edited by

      Я добился устойчивой установки VPN соединений. Со шлюзов (то бишь машин с pfSense) можно просматривать удалённые сети. Броадкасты и мультикасты вполне слышны в разных частях сети (побочный эффект правил "разрешить весь траффик из сети …." на локльном интерфейсе). А вот "правильные" пакеты подхватываются правилом NAT  и роутятся уже с внешнего интерфейса.

      В процессе чтения документации к pf возник вопрос: pf обрабатывает правила не в порядке следования, а по правилу максимального соответствия. Как заставить его не маскарадить пакеты между сетками?

      Кстати, после применения правил итоговый конфиг pf попадает в файл /tmp/config.debug (там, конечно есть немного лишних переменных - их php скрипт вытрясает, но вполне понятно что к чему)
      Но от попыток разобраться какое ж всё-таки правило сработает становится малость грустно.

      1 Reply Last reply Reply Quote 0
      • A
        Ave Alex
        last edited by

        Всем доброго.
        Щастье почти наступило - на стороне VPN клиента сделал assign интерфейса openvpn и добавил правило outbond NAT:
        Do not NAT - не выбрано (хотя, по идее оно как раз мне и надо!!!)
        Interface - OpenVPN
        Protocol - any
        Source - 192.168.X.0/24 - подсеть клиента
        Destination - 192.168.1.0/24 - подсеть сервера
        Translation - interface address

        Из клиентской сети стало можно свободно ходить в сеть головной организации. Но в логах отображается адрес виртуального шлюза (в данном случае 10.10.40.X - адрес виртуального интерфейса OpenVPN), а хотелось бы видеть клиента. Помогите сформулировать правило для NAT…

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

          Вопрос - вы хотите видеть всю подсеть клиента?
          Тогда NAT здесь не подойдет. Необходимо делать все роутингом.
          При этом местный роутер должен быть шлюзом для всех компьютеров офиса.

          SquidGuardDoc EN  RU Tutorial
          Localization ru_PFSense

          1 Reply Last reply Reply Quote 0
          • A
            Ave Alex
            last edited by

            Угу… все маршруты прописались правильно...
            И со шлюза всё правильно отправляется.
            А вот из подсети - первым срабатывает NAT. Отправляет пакет на внешний интерфейс и усё, роуты даже не задействуются.
            Попробовал в правиле NAT LAN-to-WAN исправить назначение с any на "не подсеть 192.168.1.0/24" - не работает.

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

              NAT должен прописываться на WAN интерфейсе, а правила роутинга на LAN.

              SquidGuardDoc EN  RU Tutorial
              Localization ru_PFSense

              1 Reply Last reply Reply Quote 0
              • A
                Ave Alex
                last edited by

                Можно на яблоках… уже просто ничего не могу придумать и сижу перебираю варианты.
                две сети: 192.168.1.0/24 (со стороны сервера) и 192.168.4.0/24 (со стороны клиента)
                Между WAN интерфейсами проброшен туннель 10.10.40.1<-->10.10.40.2 cо стороны сервера и 10.10.40.10<-->10.10.40.9 со стороны клиента.
                Маршруты:
                на сервере -
                10.10.40.0/24 10.10.40.2 UGS 0 233482 1500 ovpns2
                10.10.40.1 link#11 UHS 0 0 16384 lo0
                10.10.40.2 link#11 UH 0 0 1500 ovpns2
                192.168.1.0/24 link#4 U 0 228190654 1500 fxp0
                192.168.4.0/24 10.10.40.2 UGS 0 19 1500 ovpns2

                На клиенте
                10.10.40.1/32 10.10.40.5 UGS 0 0 1500 ovpnc1
                10.10.40.9 link#9 UH 0 0 1500 ovpnc1
                10.10.40.10 link#9 UHS 0 0 16384 lo0
                127.0.0.1 link#4 UH 0 67 16384 lo0
                192.168.1.0/24 10.10.40.9 UGS 0 6 1500 ovpnc1
                192.168.4.0/24 link#1 U 0 241004 1500 sis0
                192.168.4.1 link#1 UHS 0 0 16384 lo0

                На сервере уже есть один VPN клиент, используется для удалённых сотрудников, поэтому интерфейс ovpns2.

                После установления соединения с клиентского шлюза можно бродить по сети 192.168.1.0/24
                Что нужно прописать в правилах клиента, чтоб народ оттуда мог выбраться только в сеть головного офиса?

                1 Reply Last reply Reply Quote 0
                • A
                  Ave Alex
                  last edited by

                  Вот не роутит он и всё тут.
                  Как определить, какой из шлюзов гасит пакеты - они без NAT не отправляются, или не принимаются? Стоят галки скиывать в лог на всех правилах с обеих сторон, стоит галка кадать в лог пакеты отброшенные дефолтовым правилом. И в логах ничего с обеих сторон.

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

                    Я, к сожалению, не могу понять Вашу схему по описанию.

                    SquidGuardDoc EN  RU Tutorial
                    Localization ru_PFSense

                    1 Reply Last reply Reply Quote 0
                    • A
                      Ave Alex
                      last edited by

                      (192.168.4.0/24 удалённая)<–>192.168.4.1 LAN (pfSense) 10.10.40.X ovpnc1

                      (192.168.1.0/24 сеть офиса)<-->192.168.1.43 LAN (psSense) 10.10.40.1 ovpns2

                      Я попробовал запустить на клиенте и сервере tcpdump -i ovpnXX -vv

                      Без преобразования адресов на сервере не ловится ничего. На клиенте пакеты вида localhost.(случайный порт) > localhost.(порт на сервере)... Может, сервер удаляет пакеты по приходу? хотя, вроде правила "пропускать все пакеты" на закладке OpenVPN выставлены.

                      1 Reply Last reply Reply Quote 0
                      • A
                        Ave Alex
                        last edited by

                        Ситуация немного проясняется.
                        Если сгребать пакеты со внешнего интерфейса сервера, то он получает положенное количество пакетов (проверено пингом - сколько пакетов отправлено, столько сервер и получил).
                        Далее, как я понимаю, из-за того, что это уже второй VPN-сервер на шлюзе на него не распространяются правила, определённые на закладке OpenVPN.
                        Я попытался сделать assign интерфейса на сервере - у меня тут же отвалился клиент, который подключен к другому VPN-серверу.
                        Немного смущает, что в логах эти пакеты не отображаются как отброшенные.
                        Как побороть такое?

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