Доброго времени суток, возникла следующая проблема. Используем для удалённого подключения к объекту Wireguard, доступ к серверу WB7, к веб-интерфейсу, имеется, всё в порядке. Но при этом в ETS5 к интерфейсу не достучаться.
На других объектах подобной проблемы не возникало, правда, это первый объект, где Wireguard был установлен прямо на Wirenboard.
Доступ к интерфейсу WB в ETS локально, без удалёнки, работает.
Конфиг knxd:
Да, верно. Ну и посмотрите с хоста - доступен ли 192168.0.18:3671 причем udp, что важно. Именно на этом порту knxd.socket слушает
Вполне вероятно что Wireguard позволяет только tcp, как написано в https://www.wireguard.com/known-limitations/
TCP Mode
WireGuard explicitly does not support tunneling over TCP, due to the classically terrible network performance of tunneling TCP-over-TCP. Rather, transforming WireGuard's UDP packets into TCP is the job of an upper layer of obfuscation (see previous point), and can be accomplished by projects like udptunnel and udp2raw.
Дело в том, что для нескольких других объектов также используем удалённое подключение с помощью Wireguard и там нет никаких проблем с доступом к интерфейсу WB в ETS5.
Но там, повторюсь, Wireguard установлен на роутере-шлюзе, а не не самом WB. Может быть дело в этом?
Пример:
Предварительно проверяю что kbbxd слушает на интерфейсе, на контроллере:
netstat -nvl |grep 3671
netstat: no support for `AF INET (sctp)' on this system.
netstat: no support for `AF INET (sctp)' on this system.
netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.
netstat: no support for `AF ROSE' on this system.
udp 0 0 0.0.0.0:3671 0.0.0.0:*
отлично, слушает на всех.
на компьютере ставлю nc
apt install netcat -y
Пробую подключиться к порту knxd:
nc -z -v -u 10.0.0.75 3671
Connection to 10.0.0.75 3671 port [udp/*] succeeded!
Ввёл команду на контроллере, но последней строчки, как у вас в примере, нет:
Или всё верно?
ETS у меня только на Windows установлена, на линукс негде установить, насколько я понял, доступность порта 3671 для ip контроллера по протоколу UDP можно проверить с помощью PortQry:
Но, опять же, повторюсь, что с другими контроллерами Wirenboard при подключении с Wireguard проблем нет и интерфейс в ETS появляется и проходит тест…
Проблему решил, решение оказалось очень простым: в интерфейсе в ETS надо было использовать ip адрес заданный в конфигурационном файле Wireguard вместо локального ip-адреса Wirenboard.
Не додумался сразу из-за недостатка опыта работы с Wireguard…