ZeroTier - brak dostępu do HA

Witam serdecznie,
Z powodu przeprowadzki byłem zmuszony przenieść się z internetu światłowodowego na LTE. Operator nie umożliwia udostępnienia zewnętrznego IP więc duckDNS, ngnix i wireguard do zdalnego dostępu odpadają. Remedium na tą sytuację miał być ZeroTier One - skonfigurowałem go, urządzenia się widzą i pingują (ZT mam zapięty jako dodatek do HA stojący na proxmox, laptop z windows i telefon z androidem), urządzenia są zautoryzowane w panelu ZT, przypisane IP w podsieci ZT jednak po podaniu ip_z_zerotier:port_ha w przeglądarce strona mieli się w nieskończoność. W aplikacji to samo. Lokalnie wszystko działa.

Czy ktoś spotkał się z taką sytuacją i jest w stanie coś podpowiedzieć? Wygląda na problem portu, ale nie mam pomysłu co z tym faktem zrobić.

Raczej nie problem portu, a konfiguracji, przez wiele lat używałem właśnie Zerotier, bo we wszystkich lokalizacjach miałem tylko dostęp GSM.

Wyłącz SSL przed przeprowadzką na nowy internet (jeśli miałeś wystawiony HA bezpośrednio do internetu).

Aaaa jeszcze jedno nadal używam Zerotiera jako łącza backupowego w każdej lokalizacji i nadal działa (chociaż w przypadku Orange bywają problemy na wybranych BTSach, eksperymentalnie możesz wyłączyć IPv6).


Jeszcze jedno - jako obejście problemu możesz użyć tunelu ais-cloudflared (ale na łączach GSM jest on dość mocno zawodny, więc sugeruję mimo wszystko doprowadzić Zerotier lub Tailscale do działania).

Dziękuję za odpowiedź.
Już jestem przeprowadzony. Wcześniej wyłączyłem dodatki, które nie mają prawa działać w obecnej strukturze sieciowej, a w ustawieniach HA ustawiłem adres dostępu z zewnątrz na ZT: http://192.168.192.11:8123 - co masz na myśli mówiąc “wyłącz SSL”?

Wyłączenie IPv6 w HA nie pomogło.

Chyba wolałbym jeszcze trochę pomęczyć ZT niż przenosić się na bardziej zawodne rozwiązania :wink:

Miałeś dostęp bezpośredni z zewnątrz, więc myślę, że masz wymuszony SSL w konfiguracji (byłoby totalnie głupie dawać publiczny dostęp http zamiast https, więc zakładam, że wymuszałeś SSL w dotychczasowej konfiguracji i to nie jest w konfiguracji dodatków, tylko bezpośrednio w HA więc zajrzyj w YAML i zakomentuj całą sekcję http).

IPv6 wyłącz wszędzie (na routerze w szczególności, a nie tylko w HAOS).

To nie jest potrzebne - w aktualnych wersjach HA z tego nie skorzysta (tak mi się wydaje, bo mam tam ustawiony faktyczny dostęp z zewnątrz, a mimo to oba połączenia VPN działają bez zarzutu, obecnie stosuję inne rozwiązania i w końcu mam światłowód prawie wszędzie), a sam Zerotier z punktu widzenia sieci jest siecią lokalną (bo to VPN), a nie dostępem z zewnątrz.

Adresacja VPN powinna być inna niż twojego LAN

To akurat zakomentowałem przed przeprowadzką
image

Wyłączone na routerze. Niestety dalej strona się nie wczytuje po VPN.

Słusznie. Bez sensu to wpisałem.

Zgadza się. Router ma 192.168.1.x, a vpn 192.168.192.x

Sam używam adresacji sieci VPN z zakresu pul C (172.16.0.0-172.32.0.0) by mieć pewność, że nie mam konfliktu z żadną z sieci, które używam.

W Managed Routes w panelu administracyjnym ZTO powinieneś ustawić
192.168.192.0/24

Aby się przekonać czy problem nie leży w jakimś innym miejscu możesz wypróbować Tailscale (jeśli zadziała, to podejrzana jest konfiguracja w chmurze Zerotier)
zakładam, że w ogóle zautoryzowałeś to połączenie w Zerotier.

Nie mam innych sieci, ale spróbuję jeszcze dla pewności na tej adresacji.

Tak mam.

Podrzucam jeszcze konfigurację ZeroTier:



Dziękuję za zainteresowanie.
Jak inna adresacja nie ruszy to spróbuję powalczyć jeszcze z Tailscale.

Masz 3 klienty z czego 2 offline.

Jeśli nie masz specjalnej usługi u operatora GSM, to standardowo jesteś za jego firewallem, więc możesz podać publiczne IP i tak nikt się tam nie dostanie.

Tak z ciekawości, który to operator GSM i jaki brand bo coś mi to pachnie Orange… a pisałem tak


Jeśli chodzi o Tailscale to nie ma nic do konfigurowania - odpalasz i logujesz się (np. kontem Google na każdym kliencie), po czym jak już działa, to z panelu administracyjnego sugeruję wyłączyć automatyczne przedawnianie kluczy i zmieniać klucze tylko gdy to konieczne.

podłączałem się tylko na czas testów

w pewnym sensie Orange, ale to NJU

No nic, spróbuję z tailscale

A może chociaż telefon możesz stestować spoza Orange (bo jak zgaduję wszystko teraz masz pod jednym IP operatora). NJU (będąc w sumie tylko brandem Orange) niestety ma jeszcze gorszą jakość usług niż sieć macierzysta (klienci taniego brandu to klienci drugiej kategorii tak jak prepaidowcy), jeśli chodzi o podejrzenia co do poprawności działania sieci operatora, to po prostu kup prepaidy z 3 konkurencyjnych sieci (no chociaż jednego) i przetestuj czy też jest u nich taki problem.
Jeśli chodzi o Orange to możesz też się upewnić czy masz prawidłową konfigurację IPv6 jeśli ją włączysz (w sumie w panelu administracyjnym ZTO powinno być widać czy dostajesz od operatora adres IPv6)

VPNy tego typu generują stały nieduży ruch, ale w czasach gdy to używałem jako główne rozwiązanie nigdy nie rozłączałem typowych klientów (laptopa, bo jeśli chodzi o telefon to stały VPN niestety drenuje w istotnym stopniu baterię).

Może filtrujesz jakiś ruch u siebie na jakimś firewallu?

Przetestowałem jeszcze dwóch klientów, jeden telefon z sieci play, drugi internet światłowodowy. W obu przypadkach ten sam efekt, więc chyba faktycznie muszę poszukać innego dostawcy pod mojego BTS.

Ciekawostką jest fakt, że gdy jestem zapięty przez wifi i vpn jednocześnie to UI HA przez sieć ZTO rusza bez problemu.

Posprawdzam jeszcze te ipv6.

Zaraz zaraz, ale jak ma działać VPN jeśli odetniesz komputer od sieci?
Przecież to jest tunel po jakimś istniejącym dostępie do internetu.

Wrzuć SIM innej sieci do routera, tylko w ten sposób sprawdzisz, że to problem po stronie operatora.

Doprecyzuję - odpinam telefon od wifi (sieci lokalnej) i testuję na danych mobilnych telefonu. Testowałem też po sieci światłowodowej znajomego.

Zorganizuję sim i sprawdzę.

Pojawił mi się w głowie jeszcze jeden pomysł - dostęp do ha przez ipv6+duckdns, z tego co wyczytałem w nju jest to adres zewnętrzy.

Czy to Zero-Tier czy Tailscale , ping między urządzeniami to podstawa. Masz dwa urządzenia online w sieci ZT z przydzielonymi adresami w tej wirtualnej sieci, pobierasz na telefon apkę “PING” w Windows uruchamiasz cmd (wiersz poleceń ) i sprawdzasz czy oba adresy widzą się wzajemnie.

Tak jak pisałem w pierwszej wiadomości - urządzenia się pingują (HA w sieci lokalnej, a smartfon po sieci mobilnej, oba zapięte do ZTO), a UI po 8123 mieli w nieskończoność.

Mam wrażenie, że jednak w samym HA masz coś namieszane w konfiguracji…
(a tak z innej beczki - po zmianach konfiguracji związanej z siecią restartowałeś całego hosta? bo restart samego HA nie wystarcza)
ale skoro nie pokazujesz swoich konfiguracji to nikt nie stwierdzi czy i gdzie jest błąd.

Ewentualnie jest to jakiś problem w konfiguracji sieci (dostęp Zerotier mam do 4 instalacji HA i każda działa, nie mam jednak SIM NJU, ale u mnie problemy z Orange występują na pojedynczych BTSach).

Skoro zwykły ping przechodzi to teoretycznie jakaś trasa istnieje - można to sprawdzić używając traceroute (polecenie tracert w windows) - odległość między hostami powinna wynosić 1 hop

tu masz przykład odpowiedzi między dwoma instalacjami HA na różnych końcach Polski (tylko ja mam inną pulę adresów ZTO i wybrałem taką nie bez powodu)

~ $ traceroute 172.23.23.32
traceroute to 172.23.23.32 (172.23.23.32), 30 hops max, 46 byte packets
 1  172.23.23.32 (172.23.23.32)  1855.676 ms  34.898 ms  32.449 ms

tak samo to powinno wyglądać między dowolnymi 2 klientami w obrębie jednej sieci ZTO (o ile zezwalają na odpowiedź na ping)

~ $ ping -c4 -s1492 172.23.23.223
PING 172.23.23.223 (172.23.23.223): 1492 data bytes
1500 bytes from 172.23.23.223: seq=0 ttl=128 time=13.019 ms
1500 bytes from 172.23.23.223: seq=1 ttl=128 time=4.092 ms
1500 bytes from 172.23.23.223: seq=2 ttl=128 time=8.855 ms
1500 bytes from 172.23.23.223: seq=3 ttl=128 time=3.553 ms

--- 172.23.23.223 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 3.553/7.379/13.019 ms
~ $ ping -c4 -s1492 172.23.23.32
PING 172.23.23.32 (172.23.23.32): 1492 data bytes
1500 bytes from 172.23.23.32: seq=0 ttl=64 time=75.437 ms
1500 bytes from 172.23.23.32: seq=1 ttl=64 time=54.294 ms
1500 bytes from 172.23.23.32: seq=2 ttl=64 time=52.939 ms
1500 bytes from 172.23.23.32: seq=3 ttl=64 time=52.941 ms

--- 172.23.23.32 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 52.939/58.902/75.437 ms
~ $ ping -c4 -s1500 172.23.23.32
PING 172.23.23.32 (172.23.23.32): 1500 data bytes
1508 bytes from 172.23.23.32: seq=0 ttl=64 time=64.788 ms
1508 bytes from 172.23.23.32: seq=1 ttl=64 time=76.780 ms
1508 bytes from 172.23.23.32: seq=2 ttl=64 time=56.506 ms
1508 bytes from 172.23.23.32: seq=3 ttl=64 time=51.740 ms

--- 172.23.23.32 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 51.740/62.453/76.780 ms
~ $ ping -c4 -s9000 172.23.23.32
PING 172.23.23.32 (172.23.23.32): 9000 data bytes
9008 bytes from 172.23.23.32: seq=0 ttl=64 time=58.936 ms
9008 bytes from 172.23.23.32: seq=1 ttl=64 time=64.729 ms
9008 bytes from 172.23.23.32: seq=2 ttl=64 time=58.745 ms
9008 bytes from 172.23.23.32: seq=3 ttl=64 time=58.278 ms

--- 172.23.23.32 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 58.278/60.172/64.729 m

oprócz tego

oczywiście pokaż też konfigurację sieci w HA i swojego LANu

Edit właśnie jestem na BTSie Orange ze zwaloną konfiguracją


Rozwiązaniem jest tutaj przełączenie telefonu do pracy w 3G

Sorki za brak odpowiedzi, ale jeszcze buduję i nie ma czasu…

Udało się rozwiązać problem, ale nie do końca jestem pewny co pomogło. Zacząłem grzebać w konfiguracji ipv6 routera (z powrotem ją włączyłem) i przy okazji przedstawiłem kilka rzeczy. Może uda mi się to namierzyć to dam znać.

Restarty zawsze robiłem z poziomu proxmoxa (restart vm).
Zauważyłem również, że po wyłączeniu vpn trzeba restartować aplikację na androidzie zanim znowu się zapnie vpn bo inaczej polaczenie nie zadziała.

Witam ponownie,
Podsumowując ZTO - przez WiFi poza domem łączy się poprawnie, poprzez sieć komórkową (ten sam operator nju) już nie.

Przetestowałem tailscale i jest progres - da się połączyć z zewnątrz zarówno przez sieć komórkową jak i WiFi jednak są dwa minusy:

  • Przy każdym uruchomieniu aplikacji mobilnej będąc poza domem nie łączy od razu, trzeba kliknąć “ODŚWIEŻ PUBLICZNY ADRES URL” - wtedy po kliknięciu się otwiera. Adres publiczny jaki podałem w aplikacji HA to http://100.127.36.29:8123/ czyli adres HA z tailscale. Wpisanie tego adresu w przeglądarkę od razu otwiera HA bez problemów. Używanie aplikacji staje się w tym przypadku bardzo niefunkcjonalne.
  • Uruchomienie opcji subnets/exit node w tailscale powoduje ogromne spadki w wydajności. Lovelace zamiast ładować się >1s ładuje się około 30s. To akurat można przeboleć i zrezygnować z tych funkcji.

Przestawienie na 3G niestety u mnie nie pomaga przy ZTO.

to jeszcze sprawdzę jak będę z lapkiem w innej sieci wifi

System Information

version core-2024.8.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.4
os_name Linux
os_version 6.6.46-haos
arch x86_64
timezone Europe/Warsaw
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.34.0
Stage running
Available Repositories 1384
Downloaded Repositories 10
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 13.1
update_channel stable
supervisor_version supervisor-2024.08.0
agent_version 1.6.0
docker_version 26.1.4
disk_total 30.8 GB
disk_used 11.8 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization kvm
board ova
supervisor_api ok
version_api ok
installed_addons File editor (5.8.0), Advanced SSH & Web Terminal (18.0.0), ESPHome (2024.8.1), WireGuard (0.10.2), Studio Code Server (5.15.0), NGINX Home Assistant SSL proxy (3.10.1), Grafana (10.0.0), InfluxDB (5.0.0), Home Assistant Google Drive Backup (0.112.1), Node-RED (18.0.5), Mosquitto broker (6.4.1), Zigbee2MQTT (1.39.1-1), FTP (5.0.2), Samba share (12.3.2), Shopper (1.0.0), Duck DNS (1.18.0), ZeroTier One (0.18.0), Tailscale (0.21.0)
Dashboards
dashboards 2
resources 8
views 8
mode storage
Recorder
oldest_recorder_run 26 August 2024 at 14:22
current_recorder_run 4 September 2024 at 12:00
estimated_db_size 57.88 MiB
database_engine sqlite
database_version 3.45.3

configuration.yaml:

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes
  extra_module_url:
    - /local/community/custom-brand-icons/custom-brand-icons.js


influxdb:
 username: dbadmin
 password: xxx
 max_retries: 3
 default_measurement: state

api:

sensor: !include sensor.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
command_line: !include command_line.yaml

#callmebot v2
notify:
  - name: WhatsApp_1
    platform: rest
    resource: https://api.callmebot.com/whatsapp.php
    data:
      source: HomeAssistant
      phone: +48500500500
      apikey: 1234
  - name: WhatsApp_2
    platform: rest
    resource: https://api.callmebot.com/whatsapp.php
    data:
      source: HomeAssistant
      phone: +48500500500
      apikey: 1234


switch:
  - platform: wake_on_lan
    name: PCT
    mac: XXXX
    host: 192.168.1.99

binary_sensor:
  - platform: template
    sensors:
      vanvivo_is_charging:
        device_class: battery_charging
        friendly_name: VanVivo charging
        value_template: >
          {{ is_state('sensor.vivo_battery_state', 'charging') }}
  - platform: template
    sensors:
      pvivo_is_charging:
        device_class: battery_charging
        friendly_name: PVivo charging
        value_template: >
          {{ is_state('sensor.v2050_battery_state', 'charging') }}


Korzystam z Tailscale i dla mnie nie ma minusów. Konfiguracja samej aplikacji HA


Adres URL to nazwa urządzenia w sieci tailscale i tak jest znacznie lepiej, a na pewno łatwiej, bo nie muszę pamiętać adresu IP.
Taką opcję załatwia natywnie wspierany MagicDNS w sieci tailscale.

Wskazanie sieci WIFI, której, lub których ma używać aplikacja HA.
Podanie lokalnego adresu HA do połączeń przez sieć Wifi.
Zero problemów przy takich ustawieniach.

1 polubienie

A można wiedzieć jaki typ sieci? Dopóki miałem światłowód wszystko mi chodziło, a po przymusowym przeniesieniu na LTE dopiero takie kwiatki zaczęły się zdarzać.