Nazdárek, řeším jeden praktický problémek při používání Wireguard tunelu v režimu road warrior právě na tom "floating" zařízení (připojuje se na globálně veřejného peera a z něj je dostupná cílová sít.naroutovaná přes dalšího peera, kvůli neveřejné IP).
Zařízení je android s "appkou wireguard z f-droidu", což stejně nic neznamená, protože defakto jen ta appkaa je agent s teplou vodou co přenáší příkazy wg set. NE že by to nešlo přes root terminál, Ale zrovna pro přehlednost a zrychlení je boží.
Jde o to, že když jsem v cílové síti (obligátní 192.168.1.0/24) a je zapnutý tunel, tak pakety z smartphonu
zbytečně proudí na veřejný peer a zpět, když mohou jít na lokální síti (dokonce on-link) . Ale ještě hůř, když vypadne upstream konektivita, tak se k wireguard veřejnému peeru nedostanu . Interní síť wg je 172.16.1.0/24
Jak tohle elegentně řešit? Je to možná komplexní dotaz, protože se týká konkrétního OS android AOSP, konkrétní appky, jde o spíš soft dotaz, jakým způsobem to řešit nejlépe.
Konkrétní vymyšlený příklad, mám například appku na prohlížení webkamery v lokální síti, jdou tam zadat do seznamu položky webkamer, které budou uložené - stačí název , IP adresa/hostname, port, nějaké heslo... V tomto případě mám 192.168.1.160
Konkrétně způsobů řešení je víc, split-dns, více ip, více připojovacích profilů v aplikaci, používání DNS jmen a v aplikaci, NATování... ale některé jsou vyloženě hnusné
Obviously, jedno řešení je vypínat tunel v cílové síti... Ale zatím jsem nepřišel jak to udělat automatizovaně (hádám, asi by to musela umět appka a nějak sledovat k jaké wifi je spojená a porovnávat čistě podle SSID(
) a nebo podle IP+gateway+masky) . Všechny řešení předpokládám že by byly na vyloženě smartphonu ( až na to NATování).
Nebo je chyba(přičina problému), že telefon (192.168.1.5) se a cílové zařízení v(192.168.1.160) cílové síti má IP ze stejné sítě (192.168.0.1./24) a nějak by se to snad řešilo natováním (třeba symetricky na to 172.16.1.x=192.168.1.x) . ALe chtěl bych zůstat, abych v appkách měl uložený jen jeden profil(jeden záznam)
Hint: šlo by nějak využít fakt, že smartphon je fakticky v dané síti k dané síti připojen on-link? (těmhle věcem v ip addr jsem moc nerozumel)