Navigation

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

    Не пингуются адреса Tailscale сети

    Russian
    3
    8
    188
    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.
    • T
      Timotheos last edited by

      Всем привет!

      Есть следующая конфигурация:

      Есть Lenovo ThinkCentre M720 с одним LAN портом, который подключен к управляемому коммутатору (в моем случае это Keenetic Giga). На мини-компьютер установлен Proxmox - с PFSense VM - в котором установлен Tailscale.

      Сеть идет след. образом - WAN порт на свитче настроен как LAN и входит в VLAN 120. В Proxmox в VM PFSense добавлен интерфейс vmbr0 с VLAN 120, соответственно этот интерфейс в фаерволе настроен как WAN и получает IP от моего провайдера.

      На свитче (keenetic) есть ещё одна LAN сеть с которой соединяются внешние устройства - ноуты, телефоны и т.п. VLAN 125 (DHCP выключен, настроена только статика, чтобы заходить на свитч), он также прокинут в PFSense как устройство vmbr0 tag 125, а в в самом фаерволе этот интерфейс настроен как LAN с включенным DHCP 192.168.125.0/24 старт со 3-его IP (но это не суть).

      При таком сценарии - pfsense работает как обычный роутер, получает WAN IP от провайдера, и раздает IP для LAN сети, интернет работает. Через Package Manager поставил Tailscale, который прекрасно поднялся, но есть проблема, пинговать любые устройства в сети Tailnet я могу только с админки PFSense, с внешнего устройства подключенного по LAN сети с PFSense пинги не проходят и нет доступа ни на одно устройство. Трассировка на Tailscale IP обрывается на шлюзе PFSense. Пробовал в настройках файрвола выставить на сеть Tailscale и LAN ALLOW ANY PROTOCOL, но ничего не помогает. При чем из сети Tailscale я могу пинговать мой PFSense по его IP Tailnet без проблем. Подскажите, где проблема?

      K 1 Reply Last reply Reply Quote 0
      • K
        Konstanti @Timotheos last edited by Konstanti

        @timotheos

        Добрый день
        Так как никаких картинок настроек Вы не предоставили , то приходится гадать
        Я лично предполагаю , что причин для такой ситуации может быть 2

        1 . Неверно настроены правила на LAN / Tailscale интерфейсах
        или
        2. Неверно настроена таблица маршрутизации ( из админки PF с какого интерфейса проходят пинги ? )

        T 1 Reply Last reply Reply Quote 0
        • T
          Timotheos @Konstanti last edited by

          @konstanti привет!

          Прошу прощения, привожу конкретику.

          Так выглядит PFSense:
          Снимок экрана 2023-02-18 в 22.26.27.png

          Снимок экрана 2023-02-18 в 22.27.17.png
          Пока в тестовом варианте PFSense на WAN получает 192.168.120.5, который натится за пока ещё основным роутером Keenetic. DCHP включен на PFSense и раздаёт сеть 192.168.125.0/24 начиная с 3-его IP-шника.

          Настройки на Keenetic:
          Снимок экрана 2023-02-18 в 22.36.10.png
          Снимок экрана 2023-02-18 в 22.36.44.png

          4 порт соединен с Lenovo на котором Proxmox/VM. Порт легирован VLAN 120, 125. Настройки на скринах.

          Настройки Proxmox:
          Снимок экрана 2023-02-18 в 22.28.12.png

          Я могу спокойно пинговать IP из Tailscale сети находясь в консоли PFSence:
          Снимок экрана 2023-02-18 в 22.29.26.png

          Таблица маршрутов говорит - сеть 100.64.x.x -> tailscale0:
          Снимок экрана 2023-02-18 в 22.32.29.png

          Теперь подключаясь к LAN сети PFSence со своего компьютера пинг не идёт:
          Снимок экрана 2023-02-18 в 22.33.16.png

          Таблица маршрутов:
          Снимок экрана 2023-02-18 в 22.34.09.png
          На самом деле достаточно стандартная.

          Трассировка рвется на шлюзе PFSense'а:
          Снимок экрана 2023-02-18 в 22.34.46.png

          Что интересно, что когда я в PFSense добавляю Tailscale как отдельный интерфейс через Interfaces -> Interface Assignments:
          Снимок экрана 2023-02-18 в 22.50.14.png
          Снимок экрана 2023-02-18 в 22.49.53.png

          Как пинги с моего ноута в сеть TS сразу проходят:
          Снимок экрана 2023-02-18 в 22.51.33.png

          Казалось бы - можно выдохнуть, НО после перегрузки PFSense все настройки слетают, т.е. ОС заново просит меня заасайнить какой интерфейс относится к WAN, LAN, прописывать ли VLAN и т.п., TS интерфейс также пропадает. При этом, если я не добавляю интерфейс TS в систему, то после перегрузки настройки WAN/LAN не слетают. Я так понял, что в целом и по хорошему мне не нужно в GUI PFSense добавлять самому интерфейс TS, чтобы всё заработало, проблема в другом. + я экспериментировал с классическим WireGuard подключением, там все работает из коробки, т.е. со своего ноута я могу спокойно достучаться до сети WG без танцев с бубном. Есть идеи? :)

          T 1 Reply Last reply Reply Quote 0
          • T
            Timotheos @Timotheos last edited by

            @timotheos

            Допёр сам путём упорного гугления:

            решения описаны тут: git 1 и git 2 и тут tailscale docs

            Было бы проще, если в Tailscale для PFSense работала команда с флагом: --snat-subnet-routes=false, но это пока в работе.

            Если кому понадобится, конечные настройки:
            Снимок экрана 2023-02-19 в 02.22.05.png

            После этого пинги на сеть Tailnet пошли. НО, всё мне до сих пор не понятно, почему при добавлении TS как отдельного интерфейса после перегрузки PFSense настройки интерфейсов пропадают после перегрузки. Нашёл похожую тему тут: netgate где сказано - "This can happen when one of the configured interfaces is not present." Что не совсем понятно🤔

            werter 1 Reply Last reply Reply Quote 0
            • werter
              werter @Timotheos last edited by

              Добрый.
              @timotheos
              Спасибо за решение.

              Зы. Вирт. машина на pve создана с ОЧ неоптимальными параметрами на Вашем скрине:
              0. Сам прокс не на zfs (компрессия, COW etc).

              1. Machine не q35.
              2. Тип диска не scsi.
              3. Не вкл discard для диска ВМ (гуглим про trim).
              4. Скорее всего на самом хосте не используется ovs вместо linux bridge.

              Надумаете как сделать правильно, пишите в ЛС :)

              T 1 Reply Last reply Reply Quote 0
              • T
                Timotheos @werter last edited by

                @werter

                Привет! Спасибо за комментарий.

                1. Сам прокс не на zfs (компрессия, COW etc)". - у меня только один SSD на Lenovo (пока) и всего 16Gb оперативной памяти, потому не ZFS.

                2. "Machine не q35" - думаю, скоро закажу отдельную NIC на 4 порта по 2,5Gbps, поэтому ставил по дефолту, но в целом можно и поменять, что сделал :)

                3. Тип диска не scsi - поменял на SCSI, так как когда я добавлял TS интерфейс отдельно, думал, есть какая-то корреляция с записью данных, когда при ребуте PFSense всё сбрасывалось. Кстати, есть идеи, почему так происходит?

                4. Не вкл discard для диска ВМ (гуглим про trim). - включил, спасибо :)

                5. Скорее всего на самом хосте не используется ovs вместо linux bridge. - да, я оставил LInux Bridge с VLAN Aware, так как не вижу преимуществ перед OVS, может я не прав.

                Раз уж тут зашёл разговор - есть идеи как форвардить трафик с LAN сети заблокированных сайтов на Tailscale IP exit node ? Смотрел в правилах Firewall можно выбрать Gateway, через который пойдет траффик, но тут это работает не совсем так.

                T 1 Reply Last reply Reply Quote 0
                • Referenced by  T Timotheos 
                • Referenced by  T Timotheos 
                • T
                  Timotheos @Timotheos last edited by

                  @werter

                  И снова допёр сам как сделать выборочный роутинг, решил также поделиться с народом в отдельном посте: тут :)

                  werter 1 Reply Last reply Reply Quote 1
                  • Referenced by  T Timotheos 
                  • Referenced by  T Timotheos 
                  • werter
                    werter @Timotheos last edited by werter

                    @timotheos
                    Возвращаясь к связке прокс+пф.
                    0. 16 гб хватит (аппетиты zfs larc гибко настраиваются - не верьте "сказкам"). Один диск также не помеха - при установке выбрать zfs raid0 (stripe). После покупки 2-го диска можно прямо на горячую собрать raid1.

                    1. Не оч понял, но похожих проблем у меня не было.

                    2. Поискать в гугле по 'ovs vs linux bridge'. Навскидку, это смена vlan на лету - ovs это умеет.
                      SDN на проксе тоже на ovs строится:
                      https://pve.proxmox.com/pve-docs/chapter-pvesdn.html
                      https://tech2rue.sussudio.ovh/guide-installation-fonctionnalites-sdn/

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post