AllStarLink a řešení problémů s internetovým připojením

   Pokud Vás zaujal AllStarLink neboli ASL3 (to stejné platí pro Echolink), velmi brzo zjistíte jednu nemilou věc. Aby vám ASL3 node fungoval bez některých omezení, potřebuje aby na jeho porty bylo vidět i z venku, z internetu. Kdo má veřejnou IP adresu, má vyhráno. Stačí mu na routeru nasměrovat potřebné porty na ASL3 zařízení.

   Horší situace, ale ne neřešitelná, je tam kde využíváte služby nějakého menšího místního poskytovatele internetového připojení a veřejnou IP adresu nemáte. S lokálními providery je většinou řeč a potřebné porty k vám do zařízení přesměrují a umožní Vám tak ASL3 používat naplno.
 
   Potom je situace zvaná peklo. To když využíváte služeb velkého korporátního providera, což je naprostá většina pevných i mobilních internetových přípojek v ČR. Pevná IP adresa je potom problém, vyřídit přesměrování potřebných portů s velkým providerem je mise z říše nejdivočejšíš fantazií a pokud v sobě i najdete dostatek statečnosti a pokusíte se o to, narazíte na neprostupnou zeď korporátních pravidel a neochotu vyjít zákazníkovi vstříc v čemkoliv nestandardním. Je to ztráta času a nervů. Ale i tato situace má řešení.

 


Při použití mobilního připojení nebo za routerem, ke kterému nemáte přístup (striktní NAT u velkých providerů), narážíte na to, že
nemáte veřejnou IP adresu a nemůžete nastavit Port Forwarding.

Zde je přehled, co to znamená pro ASL3 a jak to vyřešit:
 
Problém: Jednosměrný provoz
Bez otevřeného portu (standardně UDP 4569 pro IAX2) se k vám ostatní uzly nepřipojí.
  • Odchozí volání: Obvykle fungují (vy se spojíte ven), protože NAT si „pamatuje“ cestu zpět.
  • Příchozí volání: Selžou. Ostatní uzly nevědí, kam v mobilní síti poslat data, protože váš router/operátor je nepustí dál.


 
Řešení pro ASL3 za NATem:
 
1. IAX Registration (Nejrychlejší oprava, ovšem s velmi nejistým výsledkem)
Místo klasické HTTP registrace (která jen „oznámí“ vaši IP) použijte IAX registraci. Ta udržuje spojení s AllStarLink servery neustále aktivní (keep-alive), což by mělo udržet NAT bránu otevřenou i pro příchozí data. Mělo. Skutečnost je bohužel méně optimistická a stoprocentní řešení to není. Navíc pokud na AllStarLinku používáte i Echolink, tak tam to fungovat nebude skoro jistě.

  • V souboru /etc/asterisk/iax.conf nastavte register => <node>:<heslo>@register.allstarlink.org.
2. WireGuard VPN (Profesionální řešení na 100%)
Toto je jediný 100% spolehlivý způsob, jak mít ASL3 zařízení plně funkční (včetně příchozích spojení) i za nejpřísnějšími NATy i na mobilních datech ať už jste kdekoliv.
 
  • Vytvoříte tunel mezi vaším ASL3 a malým VPS (např. u Wedos nebo Oracle za pár korun), které má veřejnou IP.
  • Veškerý provoz pro port 4569 se pak na VPS přesměruje do VPN tunelu přímo k vám.
Pronájem VPS (Virtual Private Server) s veřejnou IP je pro ASL3 za NATem i pro provoz EchoLinku naprosto ideální a jde o nejčastější profesionální řešení.

Zde je přehled toho, jak to bude fungovat:

  • Nainstalujete Wireduard(extrémně rychlá a lehká VPN) na server s veřejnou pevnou IP adresou.
  • Nainstalujete Wireguard i na vaše zařízení s AllStarLinkem.
  • Nastavíte Port Forwarding na VPS tak, aby veškerý provoz pro AllStarLink (4569 UDP) i EchoLink (5198-5199 UDP) směřoval skrze VPN tunel přímo do vašeho ASL3.

Návod na instalaci Wireguardu na VPS i klienta, na kterém poběží Allstarlink a Echolink, je například zde.

Po úspěšné instalaci a spuštění Wireguard VPN je potřeba do konfiguračního souboru serveru wg0.conf, v sekci [Interface] doplnit ještě pravidla pro směrování provozu na potřebné porty:

— POST-UP: Pravidla při startu —
# 1. Základní NAT pro odchod klientů do internetu
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens32 -j MASQUERADE
PostUp = iptables -A FORWARD -i %i -s 10.10.0.53 -p tcp –dport 5200 -j ACCEPT

# 2. Povolení průchodu (FORWARD) z internetu (ens32) do VPN (%i)
PostUp = iptables -A FORWARD -i ens32 -o %i -p udp -d 10.10.0.53 –dport 4569 -j ACCEPT
PostUp = iptables -A FORWARD -i ens32 -o %i -p udp -d 10.10.0.53 –dport 5198:5199 -j ACCEPT

# 3. Přesměrování portů (DNAT) z venkovní IP na klienta
PostUp = iptables -t nat -A PREROUTING -i ens32 -p udp –dport 4569 -j DNAT –to-destination 10.10.0.53
PostUp = iptables -t nat -A PREROUTING -i ens32 -p tcp –dport 5200 -j DNAT –to-destination 10.10.0.53
PostUp = iptables -t nat -A PREROUTING -i ens32 -p udp –dport 5198:5199 -j DNAT –to-destination 10.10.0.53

# — POST-DOWN: Úklid při vypnutí —
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens32 -j MASQUERADE
PostDown = iptables -D FORWARD -i ens32 -o %i -p udp -d 10.10.0.53 –dport 4569 -j ACCEPT
PostDown = iptables -D FORWARD -i ens32 -o %i -p udp -d 10.10.0.53 –dport 5198:5199 -j ACCEPT
PostDown = iptables -t nat -D PREROUTING -i ens32 -p udp –dport 4569 -j DNAT –to-destination 10.10.0.53
PostDown = iptables -t nat -D PREROUTING -i ens32 -p udp –dport 5198:5199 -j DNAT –to-destination 10.10.0.53
PostDown = iptables -t nat -D POSTROUTING -o %i -p udp -d 10.10.0.53 –dport 4569 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o %i -p udp -d 10.10.0.53 –dport 5198:5199 -j MASQUERADE

Samozřejmě IP adresu v příkladu nahraďte IP adresou, kterou používá ve Wireguardu vaše ASL3 a Echolinkové zařízení.

Pak už jen restart. Pomocí příkazu „curl ifconfig.me“ zkontrolujte na zařízení jakou hlásí IP adresu, pokud je to adresa vašeho VPS máte vyhráno!

To, že vám běží ASL3 přes WireGuard na vlastním VPS, je „zlatý standard“ moderního radioamatérského nodu. Máte teď v podstatě vlastní datové centrum s pevnou kotvou v internetu, které můžete využít i na jiné věci. Třeba si tam hostovat vlastní Cloudlog apod..
 

Buďte první, kdo vloží komentář

Přidejte odpověď

Vaše e-mailová adresa nebude zveřejněna.


*