The ListenPort setting doesn’t work

Home Forums Discussions Support The ListenPort setting doesn’t work

Viewing 15 posts - 1 through 15 (of 23 total)
  • Author
    Posts
  • #13185
    stranger
    Participant

      Приветствую, Вадим. Случайно обнаружил, что не работает настройка ListenPort в конфиге. Хотелось-бы еще уточнить, работает-ли PersistentKeepalive для удержания соединения через cone nat?

      [Interface]
      PrivateKey = privkey
      ListenPort = 62000
      Address = ip/32

      [Peer]
      PublicKey = pubkey
      AllowedIPs = 172.22.0.0/24
      Endpoint = ep:51820
      PersistentKeepalive = 25

      Благодарю за труд.

      #13186
      Vadim Smirnov
      Keymaster

        День добрый!

        Не могу понять, вопрос о клиенте Wiresock? Клиент не слушает какой-либо специфический порт и функционирует только как клиент (инициатор туннеля), параметр keepalive передается в BoringTun, который периодически отправляет пакеты keepalive. В принципе, хотя из интерфейса библиотеки это и неочевидно, BoringTun позволяет реализовать и серверную часть (принимать соединения). Возможно, займусь как-нибудь если будет свободное время, тема в основном смежная с поддержкой множественных туннелей.

         

        #13187
        stranger
        Participant

          Да, про Wiresock. Еще обнаружил следующую проблему. Клиентом является Win2008R2+IIS ftp server + IIS web server. Если сервис стартует без -lac (wiresock-client.exe install -start-type 2 -config wg1.conf -log-level none), то при обращении со стороны wg интерфейса к ftp серверу в passive mode соединение крэшится, аналогично при обращении к web серверу. Если сервис стартует с -lac (wiresock-client.exe install -start-type 2 -config wg1.conf -log-level none -lac), то проблемы не наблюдается. Возможно, что-то не так с фильтрацией пакетов.

          #13188
          stranger
          Participant

            “Клиент не слушает какой-либо специфический порт и функционирует только как клиент (инициатор туннеля)”

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

            #13189
            Vadim Smirnov
            Keymaster

              Еще обнаружил следующую проблему. Клиентом является Win2008R2+IIS ftp server + IIS web server. Если сервис стартует без -lac (wiresock-client.exe install -start-type 2 -config wg1.conf -log-level none), то при обращении со стороны wg интерфейса к ftp серверу в passive mode соединение крэшится, аналогично при обращении к web серверу. Если сервис стартует с -lac (wiresock-client.exe install -start-type 2 -config wg1.conf -log-level none -lac), то проблемы не наблюдается.

              Если не затруднит, то не помешали бы подробности. Если я правильно понимаю, то вы пытаетесь получить доступ к указанным сервисам через туннель? Что значит соединение крешится? Не устанавливается или работает и рвется через какое-то время?

              Режимы с виртуальным адаптером и без довольно сильно отличаются, во втором случае никакого дополнительного сетевого интерфейса в системе нет, весь трафик идет с дефолтового интерфейса и нужный упаковывается в туннель после NAT (адрес источника подменяется на адрес из конфига). В обратную сторону трафик распаковывается из туннеля и снова проходит через NAT (теперь адрес назначения меняется на реальный локальный сетевой адрес).

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

              Это в принципе не сложно, если адрес свободен. Можно будет добавить в следующей версии.

              #13190
              stranger
              Participant

                Прошу прощения за задержку.

                “Если я правильно понимаю, то вы пытаетесь получить доступ к указанным сервисам через туннель?”

                Все верно.

                “Что значит соединение крешится? Не устанавливается или работает и рвется через какое-то время?”

                Конкретно при ftp passive mode срывается на опросе каталога. web сервер вообще завис после обращения. Как-то так если без -lac.

                #13191
                Vadim Smirnov
                Keymaster

                  Наконец дошли руки прогнать несколько тестов. Конфигурация:

                  Peer 1 (WireGuard Server):

                  —————————————

                  Windows 10 x64

                  WireGuard For Windows v0.5.3

                  WireSock VPN Gateway v1.1.4

                  —————————————

                  Peer 2 (WireGuard Client):

                  Windows 11 x64

                  WireSock VPN Client v1.2.28

                  —————————————

                  Peer 3 (WireGuard Client):

                  Windows 11 ARM64

                  WireSock VPN Client v1.2.28

                  —————————————

                  Peer 2 WireGuard configuration (NAT mode):

                  [Interface]
                  PrivateKey = --REMOVED-KEY--
                  Address = 10.10.11.3/24
                  DNS = 8.8.8.8, 1.1.1.1
                  MTU = 1412
                  
                  [Peer]
                  PublicKey = --REMOVED-KEY--
                  AllowedIPs = 0.0.0.0/0
                  Endpoint = ENDPOINT:PORT
                  PersistentKeepalive = 25
                  AllowedApps = chrome, mstsc, iperf3, simple-web-server
                  DisallowedIPs = 192.168.3.0/24, 10.10.1.0/24

                  —————————————

                  Peer 3 WireGuard configuration (NAT mode):

                  [Interface]
                  PrivateKey = --REMOVED-KEY--
                  Address = 10.10.11.6/24
                  DNS = 8.8.8.8, 1.1.1.1
                  MTU = 1412
                  
                  [Peer]
                  PublicKey = --REMOVED-KEY--
                  AllowedIPs = 0.0.0.0/0
                  Endpoint = ENDPOINT:PORT
                  PersistentKeepalive = 25
                  
                  ; WireSock extensions
                  DisallowedIPs = 192.168.3.0/24, 10.10.1.0/24

                  —————————————

                  На Peer 2 запущены:

                  iperf3.exe -s
                  
                  simple-file-server.exe

                  На Peer 1 и Peer 2 запускаем iperf3 и тестовые скрипты simple-file-server/test:

                  python fs-test-single.py download test-file-1.txt 2000000 http://10.10.11.3:3000
                  File does not exist on the server. Uploading the file...
                  File: test-file-1.txt already exists with the correct size of 2000000 bytes.
                  File generated: test-file-1.txt, Size: 2000000 bytes, Time taken: 0.00s
                  File uploaded: test-file-1.txt, Status: 200, Time taken: 12.59s
                  File downloaded: test-file-1.txt, Status: 200, Time taken: 11.58s
                  File deleted: test-file-1.txt, Status: 200, Time taken: 0.22s
                  iperf3 -c 10.10.11.3
                  Connecting to host 10.10.11.3, port 5201
                  [ 4] local 10.10.11.1 port 60574 connected to 10.10.11.3 port 5201
                  [ ID] Interval Transfer Bandwidth
                  [ 4] 0.00-1.01 sec 1.25 MBytes 10.4 Mbits/sec
                  [ 4] 1.01-2.00 sec 128 KBytes 1.05 Mbits/sec
                  [ 4] 2.00-3.01 sec 256 KBytes 2.07 Mbits/sec
                  [ 4] 3.01-4.01 sec 384 KBytes 3.14 Mbits/sec
                  [ 4] 4.01-5.00 sec 384 KBytes 3.19 Mbits/sec
                  [ 4] 5.00-6.00 sec 384 KBytes 3.14 Mbits/sec
                  [ 4] 6.00-7.00 sec 128 KBytes 1.05 Mbits/sec
                  [ 4] 7.00-8.01 sec 128 KBytes 1.03 Mbits/sec
                  [ 4] 8.01-9.00 sec 256 KBytes 2.12 Mbits/sec
                  [ 4] 9.00-10.00 sec 384 KBytes 3.15 Mbits/sec
                  - - - - - - - - - - - - - - - - - - - - - - - - -
                  [ ID] Interval Transfer Bandwidth
                  [ 4] 0.00-10.00 sec 3.62 MBytes 3.04 Mbits/sec sender
                  [ 4] 0.00-10.00 sec 3.45 MBytes 2.90 Mbits/sec receiver
                  #13192
                  Vadim Smirnov
                  Keymaster

                    Вcе тесты выше в NAT mode (без -lac). Возможно проблемы которые у Вас возникают связаны с разным MTU, неплохо было записать трафик запустив клиента с -log-level all и посмотреть что где ломается.

                    #13193
                    stranger
                    Participant

                      Перепроверил, проблема все же есть.

                      Wireguard server / Ubuntu 16.04.LTS

                      Peer 1: Wiresock NAT mode / Windows 2008R2 + IIS Ftp & web server

                      Peer2: Wireguard 0.5.3 / Windows 10

                      Peer2 соединяется с Peer1 по FTP passive mode через FAR 3.0.6116.0, в итоге содержимое каталога пустое, т.е. проблема есть. Если по FTP active mode, то файлы в каталоге видит. iperf3 тест проходит, тест MTU тоже проходит. Если переключить в режим -lac, то FTP passive mode работает нормально.

                      #13200
                      Vadim Smirnov
                      Keymaster

                        У FTP есть нюансы с проходом через NAT, возможно в этом дело. Посмотрю как будет время.

                        #13225
                        stranger
                        Participant

                          Похоже конфигурирование ListenPort в новой версии 1.2.29.1 так и не реализовано.

                          #13230
                          Vadim Smirnov
                          Keymaster

                            В 1.2.29.1 задача была пофиксить потенциальную панику в Boringtun. В 1.2.30 войдут небольшие оптимизации и добавлю ListenPort. Если ничего незапланированного не случится, то думаю на ближайших выходных.

                            #13231
                            stranger
                            Participant

                              Понял. Огромная благодарность Вам за труды! Правильно-ли я понимаю, что если обновить без переустановки, то достаточно заменить wgbooster.dll и wiresock-client.exe ?

                              • This reply was modified 1 year, 3 months ago by stranger.
                              #13234
                              Vadim Smirnov
                              Keymaster

                                Да обновить эти бинарники вполне достаточно, драйвер не менялся.

                                #13239
                                Vadim Smirnov
                                Keymaster

                                  В v1.2.30 добавил ListenPort, но пожалуйста обратите внимание, что в Windows некоторые порты могут быть зарезервированы, даже если явно не используются (нет в выводе netstats).

                                Viewing 15 posts - 1 through 15 (of 23 total)
                                • You must be logged in to reply to this topic.