Wb-connection-manager не поддерживает нормально сторонние страницы по HTTPS

Я столкнулся с проблемой, что, когда по какой-то причине стандартный тестовый сервер network-test.debian.org отвечает нестабильно, то “да”, то таймаутит, из-за этого у меня постоянно то поднимается, то отключается GPRS

journalctl -u wb-connection-manager
сен 05 16:32:45 wirenboard-AVRPQCNK wb-connection-manager[24368]: check(): starting iteration
сен 05 16:32:45 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking tier high
сен 05 16:32:45 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking currently active connection wb-eth0
сен 05 16:32:45 wirenboard-AVRPQCNK wb-connection-manager[24368]: interfaces for wb-eth0: eth0
сен 05 16:33:00 wirenboard-AVRPQCNK wb-connection-manager[24368]: Error during eth0 connectivity check: (28, 'Operation timed out after 15000 milliseconds with 0 bytes received')
сен 05 16:33:00 wirenboard-AVRPQCNK wb-connection-manager[24368]: network-test.debian.org resolves to ['146.75.54.132']
сен 05 16:33:15 wirenboard-AVRPQCNK wb-connection-manager[24368]: Error during eth0 connectivity check: (28, 'Operation timed out after 15001 milliseconds with 0 bytes received')
сен 05 16:33:15 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking if connection wb-eth1 is already active
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking connection wb-eth1
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection retry timeout is not active for connection wb-eth1
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection wb-eth1 is sticky: False
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: Device /org/freedesktop/NetworkManager/Devices/3 name is eth1
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: It is ok to activate connection wb-eth1
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: Trying to activate connection wb-eth1
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: Error during connection "wb-eth1" checking: org.freedesktop.NetworkManager.UnknownConnection: Connection 'wb-eth1' is not available on device eth1 because device has no carrier
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking tier medium
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking tier low
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking if connection wb-gsm-sim1 is already active
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking connection wb-gsm-sim1
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection retry timeout is not active for connection wb-gsm-sim1
сен 05 16:33:16 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection wb-gsm-sim1 is sticky: True
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: Device /org/freedesktop/NetworkManager/Devices/199 name is ttyUSB1
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: Device /org/freedesktop/NetworkManager/Devices/199 name is ttyUSB1
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: Sticky timeout is not active for device ttyUSB1
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: It is ok to activate connection wb-gsm-sim1
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: Trying to activate connection wb-gsm-sim1
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: No active gsm connection detected
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: Device path "/org/freedesktop/ModemManager1/Modem/5"
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: SIM slot for connection wb-gsm-sim1 is 1
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: Current SIM slot: 1, new SIM slot: 1
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: No need to change SIM slot
сен 05 16:33:17 wirenboard-AVRPQCNK wb-connection-manager[24368]: Waiting for connection activation (wb-gsm-sim1)
�сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Activated connection wb-gsm-sim1
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: interfaces for wb-gsm-sim1: ppp0
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Payload is NetworkManager is online
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connectivity via ppp0 is True
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Device /org/freedesktop/NetworkManager/Devices/199 name is ttyUSB1
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Armed sticky timeout until 2024-09-05T16:48:19.725676 for device ttyUSB1
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Current connection changed to wb-gsm-sim1
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Current connection is the same (wb-gsm-sim1), not changing
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Deactivating lesser GSM connections
сен 05 16:33:19 wirenboard-AVRPQCNK wb-connection-manager[24368]: Found 0 lesser GSM connections
...
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: check(): starting iteration
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Device Sticky Timeout for ttyUSB1: 2024-09-05 16:48:19.725676
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection Retry Timeout for wb-eth1: 2024-09-05 16:34:16.387677
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection Retry Timeout for wb-gsm-sim1: 2024-09-05 16:34:19.323557
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking tier high
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: checking if connection wb-eth0 is already active
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: interfaces for wb-eth0: eth0
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Payload is NetworkManager is online
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connectivity via eth0 is True
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Active connection is not Sticky (GSM/Wifi), sticky SIM/Wifi timeouts cleared
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Current connection changed to wb-eth0
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Current connection is the same (wb-eth0), not changing
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Deactivating lesser GSM connections
сен 05 16:33:25 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection wb-eth1 is GSM: False
сен 05 16:33:26 wirenboard-AVRPQCNK wb-connection-manager[24368]: Connection wb-gsm-sim1 is GSM: True
сен 05 16:33:26 wirenboard-AVRPQCNK wb-connection-manager[24368]: Found 1 lesser GSM connections
сен 05 16:33:26 wirenboard-AVRPQCNK wb-connection-manager[24368]: Waiting for connection deactivation (wb-gsm-sim1)
сен 05 16:33:28 wirenboard-AVRPQCNK wb-connection-manager[24368]: Deactivated unneeded GSM connection "wb-gsm-sim1" to save GSM traffic
сен 05 16:33:28 wirenboard-AVRPQCNK wb-connection-manager[24368]: Set device metric for connection wb-eth0 (55)

Я захотел поменять URL для проверки , например, на Яндекс.Интернетометр — проверка скорости интернета (payload, например, doctype html), но проверка не проходит

сен 05 16:43:03 wirenboard-AVRPQCNK wb-connection-manager[31003]: check(): starting iteration
сен 05 16:43:03 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking tier high
сен 05 16:43:03 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking if connection wb-eth0 is already active
сен 05 16:43:03 wirenboard-AVRPQCNK wb-connection-manager[31003]: interfaces for wb-eth0: eth0
сен 05 16:43:03 wirenboard-AVRPQCNK wb-connection-manager[31003]: ya.ru resolves to ['5.255.255.242', '77.88.44.242', '77.88.55.242']
сен 05 16:43:05 wirenboard-AVRPQCNK wb-connection-manager[31003]: Error during eth0 connectivity check: (60, "SSL: certificate subject name (*.xn--d1acpjx3f.xn--p1ai) does not match target host name '5.255.255.242'")
сен 05 16:43:05 wirenboard-AVRPQCNK wb-connection-manager[31003]: Error during eth0 connectivity check: (60, "SSL: certificate subject name (*.xn--d1acpjx3f.xn--p1ai) does not match target host name '77.88.44.242'")
сен 05 16:43:06 wirenboard-AVRPQCNK wb-connection-manager[31003]: Error during eth0 connectivity check: (60, "SSL: certificate subject name (*.xn--d1acpjx3f.xn--p1ai) does not match target host name '77.88.55.242'")
сен 05 16:43:06 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking if connection wb-eth1 is already active
сен 05 16:43:06 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking connection wb-eth0
сен 05 16:43:06 wirenboard-AVRPQCNK wb-connection-manager[31003]: interfaces for wb-eth0: eth0
сен 05 16:43:06 wirenboard-AVRPQCNK wb-connection-manager[31003]: ya.ru resolves to ['5.255.255.242', '77.88.44.242', '77.88.55.242']
сен 05 16:43:07 wirenboard-AVRPQCNK wb-connection-manager[31003]: Error during eth0 connectivity check: (60, "SSL: certificate subject name (*.xn--d1acpjx3f.xn--p1ai) does not match target host name '5.255.255.242'")
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: Error during eth0 connectivity check: (60, "SSL: certificate subject name (*.xn--d1acpjx3f.xn--p1ai) does not match target host name '77.88.44.242'")
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: Error during eth0 connectivity check: (60, "SSL: certificate subject name (*.xn--d1acpjx3f.xn--p1ai) does not match target host name '77.88.55.242'")
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking connection wb-eth1
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: Connection retry timeout is not active for connection wb-eth1
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: Connection wb-eth1 is sticky: False
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: Device /org/freedesktop/NetworkManager/Devices/3 name is eth1
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: It is ok to activate connection wb-eth1
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: Trying to activate connection wb-eth1
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: Error during connection "wb-eth1" checking: org.freedesktop.NetworkManager.UnknownConnection: Connection 'wb-eth1' is not available on device eth1 because device has no carrier
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking tier medium
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking tier low
сен 05 16:43:08 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking if connection wb-gsm-sim1 is already active
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: checking connection wb-gsm-sim1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Connection retry timeout is not active for connection wb-gsm-sim1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Connection wb-gsm-sim1 is sticky: True
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Device /org/freedesktop/NetworkManager/Devices/199 name is ttyUSB1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Device /org/freedesktop/NetworkManager/Devices/199 name is ttyUSB1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Sticky timeout is not active for device ttyUSB1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: It is ok to activate connection wb-gsm-sim1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Trying to activate connection wb-gsm-sim1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: No active gsm connection detected
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Device path "/org/freedesktop/ModemManager1/Modem/5"
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: SIM slot for connection wb-gsm-sim1 is 1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Current SIM slot: 1, new SIM slot: 1
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: No need to change SIM slot
сен 05 16:43:09 wirenboard-AVRPQCNK wb-connection-manager[31003]: Waiting for connection activation (wb-gsm-sim1)
сен 05 16:43:11 wirenboard-AVRPQCNK wb-connection-manager[31003]: Activated connection wb-gsm-sim1

проверка не проходит потому, что Subject сертификата не соответствует имени домена, но Subject alternative names - соотвествуют, что проверяет даже curl

$ openssl s_client -connect ya.ru:443 | openssl x509 -in - -noout -text | grep Subject -A 1

depth=2 OU = GlobalSign ECC Root CA - R5, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign ECC OV SSL CA 2018
verify return:1
depth=0 C = RU, ST = Moscow, L = Moscow, O = YANDEX LLC, CN = *.xn--d1acpjx3f.xn--p1ai
verify return:1
        Subject: C = RU, ST = Moscow, L = Moscow, O = YANDEX LLC, CN = *.xn--d1acpjx3f.xn--p1ai
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
--
            X509v3 Subject Alternative Name: 
                DNS:*.xn--d1acpjx3f.xn--p1ai, DNS:*.yandex.az, DNS:yandex.az, DNS:*.yandex.by, DNS:yandex.by, DNS:*.yandex.co.il, DNS:yandex.co.il, DNS:*.yandex.com, DNS:yandex.com, DNS:*.yandex.com.am, DNS:yandex.com.am, DNS:*.yandex.com.ge, DNS:yandex.com.ge, DNS:*.yandex.com.tr, DNS:yandex.com.tr, DNS:*.yandex.ee, DNS:yandex.ee, DNS:*.yandex.fr, DNS:yandex.fr, DNS:*.yandex.kz, DNS:yandex.kz, DNS:*.yandex.lt, DNS:yandex.lt, DNS:*.yandex.lv, DNS:yandex.lv, DNS:*.yandex.md, DNS:yandex.md, DNS:*.yandex.ru, DNS:yandex.ru, DNS:*.yandex.tj, DNS:yandex.tj, DNS:*.yandex.tm, DNS:yandex.tm, DNS:*.yandex.uz, DNS:yandex.uz, DNS:*.ya.ru, DNS:ya.ru, DNS:*.yandex.de, DNS:yandex.de, DNS:*.yandex.org, DNS:yandex.org, DNS:*.yandex.net, DNS:yandex.net, DNS:*.yandex.jobs, DNS:yandex.jobs, DNS:*.yandex.aero, DNS:yandex.aero, DNS:xn--d1acpjx3f.xn--p1ai
$ curl https://ya.ru/internet/ -v
*   Trying 77.88.55.242:443...  
* Connected to ya.ru (77.88.55.242) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
...
* Server certificate:
*  subject: C=RU; ST=Moscow; L=Moscow; O=YANDEX LLC; CN=*.xn--d1acpjx3f.xn--p1ai
*  start date: Jul 12 08:02:20 2024 GMT
*  expire date: Jan  9 20:59:59 2025 GMT
***  subjectAltName: host "ya.ru" matched cert's "ya.ru"**
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign ECC OV SSL CA 2018
***  SSL certificate verify ok.**

итого, кроме как HTTP, практически невозможно использовать для проверки соединения произвольный URL по HTTPS, а только с подходящим сертификатом

Добрый день.
Не очень понятно в чем вопрос? HTTPS обязан иметь сертификат. Да, wb-connection-manager не проверяет ничего кроме subject. Возможно - имеет смысл добаввить такуюю проверку, но изначально расчет был на http: Настройка сети в контроллере Wiren Board — Wiren Board
Опишу разработчикам, возможно доработка будет включена в план.

не работает должным образом проверка интернет-соединения

цитата из документации

При желании, вы можете задать другой URL адрес и ответ для проверки соединения.

я желаю задать другой URL- Яндекс.Интернетометр — проверка скорости интернета
но проверка с ним не работает (проверка этого URLа curl-ом на том же контроллере - работает)

причины - описаны мной выше, и подтверждены Вами

У меня все работает, все проверяет:

image

1 лайк

Сожалею, видно неправильно (недостаточно точно) написано. исправлю в документации что работать будет только при http или https с сертификатом именно на URL.

а Вы можете включить отладоный лог, подождать секунд 30 и после этого привести выдержку команды
journalctl -n 200 --no-pager -u wb-connection-manager?

я просто хочу понять, почему у Вас работает )))

а где пользователю такое найти? ))) ведь есть же вот сервис от яндекса, специально для этого

может, Вы выложите последние исходники wb-connection-manager-а на гитхаб (кажется, что текущая - далеко не последняя), и я сделаю МР, который это исправит ?

Так вот же, актуальное: GitHub - wirenboard/wb-nm-helper: Wirenboard network configuration backend for wb-mqtt-confed

а, сорян, я не тот проект смотрел…

спасибо

1 лайк

все в порядке, не работает =))) debug все показал:

wb-connection-manager[13821]: interfaces for wb-eth0: eth0
wb-connection-manager[13821]: ya.ru resolves to ['213.180.193.56']
wb-connection-manager[13821]: Error during eth0 connectivity check: (60, "SSL: certificate subject name (*.xn--d1acpjx3f.xn--p1ai) does not match target host name '213.180.193.56'")

починил, сделал PR на гитхабе, но без тестов, т.к. непонятно, как их запускать

но реакции нет

2 лайка

Благодарю.
Приятно что помогаете улучшить ПО.
Разработчики признают пользу и включат в основную ветку.

А PR когда подольете? Там три недели уже тишина…

Сегодня уже в testing заедет.

1 лайк

А когда можно ожидать в релизе?

This branch has conflicts that must be resolved

PR так и не влили… =(

PR сделали свой, отдельной веточкой. Вольется наверно в следующий стабильный.

То есть, буквально на днях? Наверное, изначальный PR как-то закрыть надо =)