Připojení z vnějšího světa bez veřejné IP.

Bez ní to nejde.
kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Připojení z vnějšího světa bez veřejné IP.

Příspěvek od kiklhorn »

Ceny IPv4 u některých poskytovatelů rostou do nesmyslných výšek a s rozšířením IPv6 v domácnostech jsme stále v době kamené.

[spoiler=Teď něco o motýlcích a kytkách...]Na to aby se dvě vzdálená síťová zařízení mohla spojit přes Internet tak mezi nimi musí existovat veřejná cesta.
Tedy ideálně místo kam se chceme připojit (síť ve které je HA) má veřejnou adresu.
Na veřejné adrese sídlí vrátný (router) který zná všechny obyvatele lokální sítě a pokud mu přikážeme tak pomocí přesměrování portů jim předává zásilky na jejich místní LAN adresu, nebo alespoň dalšímu místnímu vrátnému (další domácí router v řadě).

a) Pokud router který má veřejnou adresu je v naší síti, naší správě, tak máme veřejnou adresu a můžeme mu dát příkaz na přesměrování portů.
Pokud router který má veřejnou adresu je v síti a správě poskytovatele tak nemáme veřejnou adresu.
b) Pokud je to malý místní poskytovatel tak jej můžeme požádat o přesměrování některého ze zhruba 65000 portů.
c)
[/spoiler]
Zařídíme si někde prostředníka s veřejnou IP ke kterému si natáhneme trubku z HA a z venku se budeme připojovat k tomuto prostředníkovi.

Neberte to jako ucelený návod, jen nadhození možností. Bude fajn pokud někdo kdo to potřebuje něco z toho využije.

1) Zaplatíme si Nabu Casa - nejjednodušší řešení za nějaký měsíční poplatek.

2) Najdeme jiného prostředníka
a) řešení pomocí komerčního serveru OpenVPN na GCP (2 spojení zdarma)
https://dwdraju.medium.com/setting-up-a ... 4655222c31
- blesková instalace serveru, vhodné pokud máme router s OpenVPN klientem, nebo si OpenVPN klienta doinstalujeme do HA
Osobně spíše nedoporučím

b) Tailscale https://www.youtube.com/watch?v=5rFWcukwCzU

c) pomocí PiHole/Wireguard na GCP
https://github.com/rajannpatel/Pi-Hole- ... E-CLOUD.md
- hezky popsána instalace, pokud je rozpor mezi textem a obrázky tak platí text. Wireguard klient existuje jak pro HA tak i všechny myslitelné platformy

Aby to v GCP (Google Cloud Platform) bylo zdarma, je se třeba držet parametrů
https://cloud.google.com/free/docs/free ... es#compute

Pro ověření kolik by se platilo při překročení (Asi hrozí jen v případě dlouhého vzdáleného sledování kamer v HA)
https://cloud.google.com/products/calculator

Určitě budou i další podobné cloudové možnosti zdarma - třeba na Amazon AWS, Microsoft Azure i s větším datovým provozem zdarma.
Projděte si třeba:
https://www.wizcase.com/blog/how-to-cre ... the-cloud/
https://www.youtube.com/watch?v=E-CLtExRzX8
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Jezinka
Začínající autor
Začínající autor
Příspěvky: 40
Registrován: 06. leden 2022, 09:34
Dal poděkování: 2 poděkování
Dostal poděkování: 1 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od Jezinka »

Tak právě podobnou věc nyní řeším. Prozatím používám kostrbaté řešení pomocí ddns synology a směrování portu ale nastává problém v odlišnosti vnitřních adres na grafaně, takže nemohu zobrazovat grafy v lovelace.
Napadla mě ale jedna věc, mám dva vzdálené VPS servery, jeden v CZ a druhý v DE a to by se možná dalo nějak využít ne?

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od kiklhorn »

Pokud používáš dyndns tak počítám že veřejnou máš, byť dynamickou, to je pohoda.

Nepopisuješ detailně co máš doma k dispozici, tak zkusím alespoň popostrčit:

Nepoužívej pro přístup k HA IP adesy, ale jméno - stejné jako používáš zvenčí.

Nějak v LAN zabezpeč překlad toho jména na vnitřní IP. Možností je mnoho:

Na úrovni počítače - záznam do /etc/hosts souboru

Na úrovni sítě:
- můžeš použít metodu "reflection" - kdy DNS ti adresu přeloží na venkovní IP, ale router ti ji "odrazí" zpět do vnitřní sítě na LAN IP (umí to třeba pfsense i spousta domácích routerů)
- nebo "split horizon" konfiguraci DNS kdy DNS server ti vrací na jmenný dotaz jinou IP zvenku a jinou zevnitř (umí to třeba klasický Bind server, nebo myslím i Pi-hole)

A tohle je už tak trochu navíc:
Věci jako směrování http/https provozu z více jmenných názvů přicházejících na jednu IP/port a majících končit na různých IP/portech ti řeší reverzní proxy - třeba Nginx - která jde myslím doinstalovat jak na Synology tak případně i v HA.

Pokud máš nějakou vlastní doménu a chceš ji použít (namísto nějakého blabla.dyndns.org) i s dynamickou IP tak je pár free providerů co to podporují - třeba Cloudflare.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
jefisale
Začínající autor
Začínající autor
Příspěvky: 11
Registrován: 19. prosinec 2022, 13:56
Dal poděkování: 3 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od jefisale »

Jezinka píše: 19. prosinec 2022, 22:29 Tak právě podobnou věc nyní řeším. Prozatím používám kostrbaté řešení pomocí ddns synology a směrování portu ale nastává problém v odlišnosti vnitřních adres na grafaně, takže nemohu zobrazovat grafy v lovelace.
Napadla mě ale jedna věc, mám dva vzdálené VPS servery, jeden v CZ a druhý v DE a to by se možná dalo nějak využít ne?
Řešení pomocí remote VPS serveru je kostrbate, bylo by treba mi na VPS nainstalovanou vpn, a řešit nonstop na straně klienta (HA) znovunapojení VPN v případě ztáty spojení. Druhá věc je že se zdvojnásobuje možnost výpadku HA ( výpadek netu doma, výpadek VPN či výpadek serveru - DOS, DDOS, výpadky na straně hostingu atd. )

Veřejka dnes stojí v průměru 150 kč měsíčně. Nejsem zastáncem cloud služeb a nerad posílám svá data tam kde nemám nad nimi kontrolu.

Souhlasím s názorem že DNS, DYDNS a NAT s FW jsou řešením.

Z hlediska bezpečnosti a výkonu nikdy neřešíme routing a nat na stroji , nýbrž na nadřazené vrstvě, pokud člověk nechce investovat do L3 switchů managed sw atd, lze použít pohodlně levné varianty routerů byť v režimu bridge nebo přímo na wan, pokud to konektivita poskytovatele dovoluje. Dnes jsou protokoly všeobecně sjednocené a je jich málo takže nehrozí případ že Váš ISP používá nějakou EXOTIKU

Takto si nabylo kdysi LOXONE když používali protokol SIP trunk pro videovrátného.
Sysadmin a zakladatel WarZonY

Jezinka
Začínající autor
Začínající autor
Příspěvky: 40
Registrován: 06. leden 2022, 09:34
Dal poděkování: 2 poděkování
Dostal poděkování: 1 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od Jezinka »

Úplně přesně nevím, co si myslel otázkou co mám doma. Jestli prvky v síti, nebo něco jiného.
Ale zkusím popsat tedy jak to mám doma a co mám k dispozici a uvidíme, jaké řešení by bylo vhodné.
Takže první zařízení je frytzbox 7590 (první router ale pouze pro další zařízení) z něj to frčí do Mikrotiku RB750Gr3 dále to letí do Mikrotiku Switche MikroTik-CRS326 a z něj pak do HA, Synology. Na síti jsou Vlany (5). Z Mikrotiku switche pak jdou ještě dva spoje do dalších dvou switchů D-link 8 port, jeden je na kamerový systém a druhý je na AP od Unify. Oba switche jsou kvůli POE.
Takže asi možnosti jsou DDNS přímo na Frytzu nebo Mikrotiku (pokud umí), Synology nebo HA. Jinak ty dvě VPS mám neustále tunelem spojené IPSEC na Mikrotik jako VPN, pokud potřebuji jiné IP.

Takže dá se něco z toho guláše smysluplného vytvořit?
Včera jsem si v HA nastavil WOL na Synology a zkusil vypnout kvůli úspoře energie a dnes v práci jsem zjistil že nemám spojení domů. Nerušil jsem že DDNS bude aktivní pouze pokud bude Synology spuštěn. Myslel jsem že záznam je aktivní třeba 30 dnů.
Takže touto cestou také jít nemohu.

Jinak ještě k těm podvojím adresám na HA.
Toto je standartní adresa pro přístup z domova homeassistant.iot.local:8123 a touto adresou jsou vytvořeny stránky v LOVELACE na grafanu a její grafy, jinak to prostě asi nejde.
Z venku přistupuji přes adresu xxxx.synology.me:8123 a kromě grafů z grafany to funguje. V routeru mám vytvořené směrování.
Ale co bych asi chtěl je, abych měl jedu adresu stejnou jak z venku, tak zevnitř a ideálně doménu 2 řádu.
Adresu venkovní mám veřejnou ale dynamickou, protože tam odkud jsem není možné pevnou pro fyzické osoby zařídit.
Tak a teď babo raď, jak se říká :-)

Uživatelský avatar
jefisale
Začínající autor
Začínající autor
Příspěvky: 11
Registrován: 19. prosinec 2022, 13:56
Dal poděkování: 3 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od jefisale »

Nerušil jsem že DDNS bude aktivní pouze pokud bude Synology spuštěn. Myslel jsem že záznam je aktivní třeba 30 dnů.
To je v pohodě, každý mame svůj obor. Od toho jsou to DDNS - jeho hlavní funkcí jsou už podle názvu dynamické změny, proto pokud nepoužíváš nejakou cache ( CDN ) tak se nemá kam doptat pokud už mu to vypadlo z TTL. TTL má i DDNS i DNS - můžeš ty jako DNS autorita klient straně poslat i delší nez obvyklé TTL.
Většina TimeTo LIve je 1800/3600 sec , jelikož dost lidí je shnilo to měnit. Nám adminům naopak to ztěžuje život při testech, ale o tom snad jindy.

Obecně k tématu:

Síť: nechci nikoho soudit , ale ta síť je dost splácaná.

Používáš chaotické zapojení a bez detailní znalosti sítě není rady a ni pomoci.

1. Problém Router za routerem.. Ptám se proč?
2. Cloud Router L2 switch za routerem - kvůli VLANam? POkud VLANy routuje TIK muzes mit za nim tupouna switch na "L1".
3. Kde sedí FIREWALL? a co dělá routing ? Jsou routery v mode bridge?
4. Na VPS nic nestavej, mas sdileny hardware a net , snad chapeme a nemusim se opakovat o utocich, vypadcich a exploitech do CPU a ram.

Na AH nikdy nestavěj DNS, VPN a podobné věci, budeš oslabovat celý tvůj setup a výkonově si taky moc nepomůžeš.


Obecně o bezpečnosti:

Firewall, NAT , VPN zásadně stavíme na nadřazené vrstvě sítě NIKDY na klientských periferiích.

Abychom pochopili síťařinu , můžeme se spolu zavřít ka kávě na dva tři dny ale ve zkratce:

Síťová infrastruktura je 7mi úrovňový komplex a už jen z toho jak máš postavenou síť a co tě napadá teď asi pochopíš že ti moc neporadím protože "hladíš psa proti srsti".

Tvoje HA s DNS se stane rázem L7 layerem a máš zadek vystrčený do světa a věř mi že napadnout DNS je nejlehčí sranda ( google je má dole několikrát do roka a to už na google střílíme vzduchovkou na tank, nemít tolik CDN jsou úplně marní).

Postav DDNS na fritzloi a mas klid..
A jak psal KIKLHORN reverzní dns jsou taky resení jak si pomoci

Nechapu jak NEJDE verena pevna. Pokud nebydlis na uralu musi jit routovana a kdyz uz ne ta tak natovana 1:1.

Chci aby autor a ostatni osazenstvo pochopili ze nic nehanim, ale jako clovek pracujici v oboru se nemuzu zdrzet komentare kdyz vidim jak pejsek a kocicka varili dort.
Na druhou stranu sam pokorne naslouchám a rád se učím od Vás vsech tady a výtky beru jako prostor pro seberelfexi.
Přílohy
OSI-model-768x510.png
Sysadmin a zakladatel WarZonY

Jezinka
Začínající autor
Začínající autor
Příspěvky: 40
Registrován: 06. leden 2022, 09:34
Dal poděkování: 2 poděkování
Dostal poděkování: 1 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od Jezinka »

A to je asi přesně ten důvod, proč jsem nikdy síťařinu a programování nepochopil, protože mi to přišlo dost složité a čím jsem starší, tím složitější mi to připadá.
Ano, moje sít nejspíš funguje na principu náhody. Jsem ale rád, že aspoň tak funguje i když věřím, že by mohla lépe. Ale vznikala postupně a né najednou, proto jsou v ní věci dolepované jak rostla potřeba.
1. Dva routery jsou proto, že pokud bych první router fritz přepnul aby jen procházel, tak přijdu o dost věcí včetně telefonů, což jsou na něm pověšené. Dnes je vše prostě už jen IP telefonie i když se to tváří jako normální telefony. A Mikrotik je router proto, že to právě umí dobře.
2. Úplně nerozumím všemu co popisuješ v té mé síti, jestli tím myslíš ten druhý Mikrotik co je switchem, je to proto, že má 24 portů. Je na něm zapnutý pak jen switch os.
3. firewal, pokud se to u mě tak dá nazvat sedí na routovacím mikrotiku, ale vůbec nevím zda pravidla jsou v něm správně, jsou obšlehlá z internetu a malinko upravená a některá dodělaná. Routing se stará o připojení ipsec těch dvou vps. Původní starší mikrotik to nezvládal softwarově, proto tento. Routery právě myslím v modu bridge nejsou, pokud myslíš FRITZ a Mikrotik. Jen vlany jsou v bridge mysím.

Zatím jsem zkusil použít externí adresu kterou má v sobě fritz a funguje dobře i když je teda složena ze znaků jak vygenerované heslo.
Co to přesně je reverzní DDNS? A kde by se měla postavit?

Veřejná pevná nejde v Německu, pokud nejsi podnikatel. Takže vlastně nemáš šanci. Takže zde máš jen dynamickou veřejnou. Je celkem stabilní, nemění se často, ale nemáš možnost si na ní právě menit ty záznamy abys mohl použít svou doménu.

Jinak děkuji za konstruktivní odpovědi oboum.

Pokud bude oboustranně čas třeba mezi svátky, můžeme se na tu mou síť podívat.

Jinak co bych si představoval je, abych mohl přistupovat na HA jak doma tak z mobilu z venku přes stejnou adresu a ideálně nějakou logickou, tedy né dns3 řádu a hlavně né změť znaků jako to nyní mám na fritzu.
A ta stejná adresa je proto, aby fungovala spolehlivě grafana v iframe viz zde: https://community.home-assistant.io/t/4 ... /148017/65

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od kiklhorn »

Zkusil bych nějak definovat cílový stav -
Síť:
1) máme veřejnou dynamickou IP
2) chceme přistupovat přes vlastní doménové jméno
3) omezit možnou napadnutelnost

Přístup zvenčí (+ utáhnout na FW):
Pro veřejně přístupné služby v LAN bych nechal otevřený port TCP/443 a pověsil na něj (přes přesměrování na virtuální IP) HAProxy nebo Nginx, Traefik apod. (zjednoduším jen na přístup k HA)
A třeba UDP/51820 pro Wireguard VPN (pro plný přístup klienta ke všemu v LAN) - nebo jinou VPN (nebudu tu řešit vůbec)
Zdarma certifikáty pro https u LetsEncrypt, (nebo zerossl, buypass, sslcom, google) - nějaký ACME/LEGO klient

===============================================
Postupně prakticky (googlit budeš muset, ale už budeš vědět co):
1) Vlastní doména směrovaná na dynamickou IP:
Free účet u Cloudflare
Pořídit někde vlastní doménu
DNS servery této domény hodit na Cloudflare
+ update skript na mikrotiku pro aktualizaci A záznamu ha.vlastnidomena.cz[/spoiler]
Volitelně-doporučeně nastavit pro doménu DNSSEC (Následně, pro cz domény, u cznic, pokud se nevynutí ručně okamžité zaregistrování záznamu proti .cz, tak ten vytvořený sám najde u domény a zaregistruje během několika dní)

Budu předpokládat že je v LAN DHCP server s nastavením DNS serverů na mikrotik
Takže přidáme záznam (efekt stejný jako záznam v hosts souboru, ale pro všechny v síti používající tento DNS server)
/ip/dns static add address=192.168.1.10 name=ha.vlastnidomena.cz
--------------
Pokud ponecháme přesměrovaný port 8123 tak je teď tak jsme ve stavu kdy při použití adresy http://ha.vlastnidomena.cz:8123 jak z LAN tak z vnějšího světa skončíme v HA.
Což je uživatelsky příjemnější stav a řeší i ty grafana widgety, ale vůbec neřeší zabezpečení, takže budeme pokračovat:
================================================

================================================
2) zjednodušený přístup přes HTTPS:
WAN port tcp/443 přesměrovaný na LAN IP HA
v HA doinstalované doplňky 1) Let’s Encrypt (ten se stará o SSL certifikáty) 2) Nginx Proxy Manager nebo NGINX Home Assistant SSL proxy
V konfiguraci Let's Encrypt nastavený provider dns-cloudflare
----------------
Po nastavení máme HA přístupný přes https://ha.vlastnidomena.cz jak z Internetu tak z LAN. A teď je ten správný čas přenastavit grafanu, nechat pro HA zvenčí otevřený/přesměrovaný pouze tcp/443 a případně ještě na FW utáhnout pravidla třeba přes nějaký geo-ip generátor blacklistu.
Cloudflare navíc umí zamaskovat vnějšímu světu reálnou IP (což vyřadí alespoň část script kiddies)
=================================================

Provozovat reverzní proxy + nějaké řešení certifikátů na routeru namísto stroji s HA by bylo ideologicky čistější řešení, ale pak je třeba se postarat

- buď o nasměrování provozu z LAN (u vystavených strojů do Internetu) taktéž přes tuto proxy (minusem je že data tečou ne nepřímo mezi zařízeními, plusem že certifikáty ke všem hostům mám jen na proxy, plusem že za SSL schovám i třeba octoprint který normálně https nepodporuje),

- nebo řešit skripty pro kopírování certifikátů, nebo tyto linkovat. A mikrotik je sice fajn, ale v některých věcech trochu těžkopádný a asi bychom skončili u něčeho typu pfsense.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
blavak68
Dárce - Donátor
Dárce - Donátor
Příspěvky: 72
Registrován: 13. listopad 2020, 11:23
Dal poděkování: 17 poděkování
Dostal poděkování: 13 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od blavak68 »

Jezinka píše: 19. prosinec 2022, 22:29 Tak právě podobnou věc nyní řeším. Prozatím používám kostrbaté řešení pomocí ddns synology a směrování portu ale nastává problém v odlišnosti vnitřních adres na grafaně, takže nemohu zobrazovat grafy v lovelace.
Napadla mě ale jedna věc, mám dva vzdálené VPS servery, jeden v CZ a druhý v DE a to by se možná dalo nějak využít ne?
mas tu spustu kvalifikovanych odpovedi, ale kedze spominas synology, na ktorom vies urobit reverzne proxy tak ti tu pripajam konkretne riesenie:

1) na routri presmerujes len port 443 na IP adresu servera synology
2) na synology mas nastavene DDNS s certifikatom Lets encrypt = narp. adresa *.synology.me
3) vytvoris si dalsi certifikat pre HA = napr. ha.*.synology.me
4) v ovladacom paneli pojdes na polozku "portal aplikacii", v ktorej uvidis druhu zalozku s nazvom Reverzne proxy, kliknes na polozku vytvorit:
- pre HA vyplnis nasledovne
150.png
- pre samotny server synology vyplnis nasledovne
151.png
za vycierne plosky si dosadis svoje hodnoty

v LANke budes moct pouzivat ako cisledne IP adresy tak aj DNS adresy

navyse budes sa takto prihlasovat bez vyplnovania portu v adrese

cize na server synology https://*.synology.me a na HA https://ha.*.synology.me

ako je to s Grafanou ti neporadim pretoze tento add-on nepouziavam, ale myslim, ze toto riesenie ti pomoze

czfox
Nováček na fóru
Nováček na fóru
Příspěvky: 5
Registrován: 23. leden 2024, 15:51
Dostal poděkování: 2 poděkování

Re: Připojení z vnějšího světa bez veřejné IP.

Příspěvek od czfox »

To tu nikdo nepoužívá Zerotier?
je to zdarma a veřejku nemám.

Odpovědět

Zpět na „Síť“