KDE Connect не работает [Ubuntu 16.04]: KDE Connect не обнаруживает телефон и наоборот.

Вопрос или проблема

Я установил приложение KDE Connect на свой настольный компьютер и телефон [Xiaomi Redmi 3S Prime]. Однако настольное приложение не обнаруживает мой телефон и наоборот.

Я проверил порты. Они открыты. Брандмауэр не установлен. Я также пытался добавить свой ПК вручную, вводя IP-адрес в приложении для Android, но это не сработало. Я также пытался перезапустить демон kdeconnectd, но это тоже не помогло.

РЕДАКТИРОВАТЬ: Вот вещи, которые я попробовал.

  1. Проверить, работает ли демон kdeconnectd. enter image description here

  2. Проверить, не заблокированы ли порты и включен ли брандмауэр. enter image description hereenter image description here

  3. Проверить, слушает ли KDE Connect порт. enter image description here

Пожалуйста, помогите с любыми решениями, которые у вас есть.

PS. Это может показаться дубликатом, но я перепробовал почти все решения, которые существуют, но ничего не работает. Поэтому я здесь.

Я заметил, что kdeconnect слушает только IPv6. У меня была эта проблема. Я не помню, как это исправил. Думаю, что kdeconnect иногда скомпилирован для использования только IPv6.

  • Решение будет включать получение исправленной версии kdeconnect.
  • Настройка локального перенаправителя портов (для прослушивания на этом порту на IPv4 и перенаправления на IPv6).

Я только что решил эту проблему с подключением с помощью сброса каталога конфигурации kdeconnect, хотя я до сих пор не нашел IPv4…

❯ lsof -i | grep kdec kdeconnec 26104 zzndb   13u  IPv6 424583      0t0  UDP *:xmsg kdeconnec 26104 zzndb   15u  IPv6 424584      0t0  TCP *:xmsg (LISTEN) kdeconnec 26104 zzndb   27u  IPv6 697149      0t0  TCP 192.168.0.110:45944->192.168.0.115:xmsg (ESTABLISHED) 

Подробности по сбросу могут быть такими:

  • убить kdeconnectd с помощью killall kdeconnectd
  • сделать резервную копию старого каталога с помощью mv ~/.config/kdeconnect{,_bak}
  • запустить kdeconnectd с помощью nohup /the/path/to/your/kdeconnectd &>/dev/null &

Когда вы сможете подключиться к своему устройству, вы можете восстановить конфигурационный файл из старого резервного каталога, например, kdeconnect_runcommand/config.

Откройте диапазоны портов 1714:1764/udp и 1714:1764/tcp

Если вы используете ufw:

  • в /etc/ufw/applications.d/ создайте текстовый файл с именем kdeconnect и добавьте
    [kdeconnect] title=KDE Connect description=Device Synchronization ports=1714:1764/udp|1714:1764/tcp 
  • в консоли выполните
    sudo ufw allow kdeconnect 

Столкнувшись с той же проблемой, я был уверен, что на моей машине не работает брандмауэр, поскольку порты не были заблокированы. Однако наткнулся на этот документ KDE с инструкциями по открытию брандмауэра для различных пакетов Linux и выяснил, что firewalld действительно работает, поэтому следующее помогло мне:

sudo firewall-cmd --permanent --zone=public --add-service=kdeconnect sudo firewall-cmd --reload 
  • Во-первых, ваш маршрутизатор может изолировать связь между устройствами для безопасности.
  • Убедитесь, что ваш телефон также использует ipv6. (так как ваш компьютер, кажется, использует ipv6)
  • Попробуйте выполнить ping компьютера с телефона и затем ping телефона с компьютера
  • Также убедитесь, что компьютер и телефон подключены к одной сети

Как только вы исправите связь между устройствами и убедитесь, что они используют один и тот же протокол в одной и той же сети Wi-Fi, это должно быть исправлено…

Судя по вашей версии Ubuntu, ваша версия KDE connect должна быть 0.8. Однако, если это 1.0, то есть вероятность, что проблема или:

Альтернативное решение может быть полностью отключить ipv6.

К вашему сведению, у меня была похожая проблема, моя же проблема была связана с --zone=public

Я назначил свою сеть в зону “home” и забыл об этом.

После использования корректной зоны в команде firewall-cmd все заработало.

sudo firewall-cmd --permanent --zone=home --add-service=kdeconnect sudo firewall-cmd --reload 

.

Ответ или решение

Общая теория

KDE Connect – это инструмент, который позволяет устройствам, работающим на различных платформах (например, вашему десктопу с Ubuntu и мобильному телефону на Android), взаимодействовать друг с другом в одной сети. На практике это может использоваться для передачи файлов, синхронизации уведомлений и прочих задач. Однако для полноценной работы этих функций необходимо, чтобы устройства могли находить друг друга и устанавливать связь. Ваше описание проблемы указывает на то, что взаимное обнаружение устройств в данный момент не происходит.

Возможные теоретические причины проблемы

  1. Вероятные сетевые ограничения:

    • Изоляция устройств маршрутизатором для обеспечения безопасности – это один из факторов, который может блокировать обнаружение.
    • Неверная конфигурация сети (например, устройства находятся в разных подсетях).
  2. IPv6 и IPv4 несовместимость:

    • Часто программы, такие как KDE Connect, могут быть скомпилированы для работы только с IPv6, что может стать проблемой, если одно из устройств не поддерживает его.
  3. Проблемы с конфигурацией сетевых служб и правил безопасности:

    • Наличие активно работающего firewall, возможно, блокирует необходимые порты или службы.
    • Ошибки при конфигурации сетевых параметров, таких как зоны файрволла.

Практический подход к решению проблемы

  1. Проверка сетевого окружения:

    • Убедитесь, что оба устройства подключены к одной и той же Wi-Fi сети и находятся в одной подсети.
    • Попробуйте отключить функции изоляции клиентов в настройках вашего роутера.
  2. Настройки и конфигурация сети:

    • Проверьте, какие версии сетевых протоколов (IPv4/IPv6) поддерживаются обоими устройствами. Если одно из устройств не поддерживает IPv6, рассмотрите возможность отключения IPv6 на ПК, как временное решение.
  3. Управление безопасностью системы:

    • Переконфигурируйте файерволл на ПК. Если используетесь ufw, добавьте новую службу, например, следующим образом:
    echo -e "[kdeconnect]\ntitle=KDE Connect\ndescription=Device Synchronization\nports=1714:1764/udp|1714:1764/tcp" | sudo tee /etc/ufw/applications.d/kdeconnect
    sudo ufw allow kdeconnect
    • Если же используется firewalld, убедитесь, что вы разрешаете службу для соответствующей зоны (например, home, если сеть домашняя):
    sudo firewall-cmd --permanent --zone=home --add-service=kdeconnect
    sudo firewall-cmd --reload
  4. Обновление и диагностика KDE Connect:

    • Убедитесь, что версия вашего KDE Connect актуальна или отлаженная. Пользователи Ubuntu 16.04 могут столкнуться с проблемами в версии 0.8. Если возможно, обновитесь до более свежей версии, если таковая доступна.
    • Вы также можете попробовать сброс настроек конфигурации KDE Connect:
    killall kdeconnectd
    mv ~/.config/kdeconnect{,_bak}
    nohup /path/to/kdeconnectd &> /dev/null &
  5. Проверка работы портов:

    • Убедиться, что порты, используемые KDE Connect (1714-1764), открыты для входящих и исходящих соединений, как по TCP, так и по UDP протоколам.

Применение и воспроизведение

  • Проведите диагностику сети, используя команды ping и traceroute для проверки связности. Например, пингуйте телефон с десктопа и обратно, чтобы убедиться в доступности.
  • Проверьте, запускаются ли службы KDE Connect и на каких адресах и портах происходит взаимодействие. Используйте команды lsof -i или netstat -an для получения этой информации.
  • Если всё ещё не решено, рассмотрите возможность использования портфорвардинга с IPv4 на IPv6, чтобы обойти ограничение только IPv6 доступа.

Этот детализированный подход должен помочь решить проблемы с подключением устройств через KDE Connect, обеспечив при этом их исправную работу в вашей локальной сети.

Оцените материал
Добавить комментарий

Капча загружается...