Home › Forums › Discussions › Support › The ListenPort setting doesn’t work
- This topic has 22 replies, 2 voices, and was last updated 1 year, 3 months ago by Vadim Smirnov.
-
AuthorPosts
-
June 30, 2023 at 12:55 pm #13185
Приветствую, Вадим. Случайно обнаружил, что не работает настройка 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Благодарю за труд.
June 30, 2023 at 2:17 pm #13186День добрый!
Не могу понять, вопрос о клиенте Wiresock? Клиент не слушает какой-либо специфический порт и функционирует только как клиент (инициатор туннеля), параметр keepalive передается в BoringTun, который периодически отправляет пакеты keepalive. В принципе, хотя из интерфейса библиотеки это и неочевидно, BoringTun позволяет реализовать и серверную часть (принимать соединения). Возможно, займусь как-нибудь если будет свободное время, тема в основном смежная с поддержкой множественных туннелей.
June 30, 2023 at 5:32 pm #13187Да, про 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), то проблемы не наблюдается. Возможно, что-то не так с фильтрацией пакетов.
June 30, 2023 at 5:57 pm #13188“Клиент не слушает какой-либо специфический порт и функционирует только как клиент (инициатор туннеля)”
Хотелось-бы чтобы инициировал с заданным в конфиге портом, официальный клиент так делает, в некоторых случаях это удобно.
July 3, 2023 at 10:45 am #13189Еще обнаружил следующую проблему. Клиентом является 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 (теперь адрес назначения меняется на реальный локальный сетевой адрес).
Хотелось-бы чтобы инициировал с заданным в конфиге портом, официальный клиент так делает, в некоторых случаях это удобно.
Это в принципе не сложно, если адрес свободен. Можно будет добавить в следующей версии.
July 4, 2023 at 8:51 pm #13190Прошу прощения за задержку.
“Если я правильно понимаю, то вы пытаетесь получить доступ к указанным сервисам через туннель?”
Все верно.
“Что значит соединение крешится? Не устанавливается или работает и рвется через какое-то время?”
Конкретно при ftp passive mode срывается на опросе каталога. web сервер вообще завис после обращения. Как-то так если без -lac.
July 9, 2023 at 11:50 am #13191Наконец дошли руки прогнать несколько тестов. Конфигурация:
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
July 9, 2023 at 11:57 am #13192Вcе тесты выше в NAT mode (без
-lac
). Возможно проблемы которые у Вас возникают связаны с разным MTU, неплохо было записать трафик запустив клиента с-log-level all
и посмотреть что где ломается.July 9, 2023 at 8:39 pm #13193Перепроверил, проблема все же есть.
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 работает нормально.
July 12, 2023 at 12:08 am #13200У FTP есть нюансы с проходом через NAT, возможно в этом дело. Посмотрю как будет время.
August 7, 2023 at 9:25 pm #13225Похоже конфигурирование ListenPort в новой версии 1.2.29.1 так и не реализовано.
August 8, 2023 at 11:11 am #13230В 1.2.29.1 задача была пофиксить потенциальную панику в Boringtun. В 1.2.30 войдут небольшие оптимизации и добавлю ListenPort. Если ничего незапланированного не случится, то думаю на ближайших выходных.
August 8, 2023 at 10:51 pm #13231Понял. Огромная благодарность Вам за труды! Правильно-ли я понимаю, что если обновить без переустановки, то достаточно заменить wgbooster.dll и wiresock-client.exe ?
- This reply was modified 1 year, 4 months ago by stranger.
August 9, 2023 at 8:33 am #13234Да обновить эти бинарники вполне достаточно, драйвер не менялся.
August 13, 2023 at 3:13 pm #13239В v1.2.30 добавил ListenPort, но пожалуйста обратите внимание, что в Windows некоторые порты могут быть зарезервированы, даже если явно не используются (нет в выводе netstats).
-
AuthorPosts
- You must be logged in to reply to this topic.