Satelitní internet Starlink od SpaceX provozuji již více než rok. Zpočátku jsem parabolu nechal na zahradě jen na trojnožce, se kterou je dodávaný. Pro umístění na střechu jsem oslovil šikovného kováře, který mi na míru vyrobil konzoli na komín. Výrobce konzole poskytuje Flashing Mount a Volcano Mount, ale ani jedna konstrukce nevyhovovala mým požadavkům na umístění paraboly.
Co se dozvíte v článku
Circular Starlink Kit
Součástí balení je parabola s motorickým naklápěním, napájení PoE pro parabolu i pro router a již zmíněná trojnožka a v neposlední řadě Wi-Fi router s označením Starlink Router UTR-201.
Dále nutno dodat, že u paraboly je zhruba 20 m dlouhý kabel s nalisovanou koncovkou RJ-45, který je pevně připevněn. To poměrně komplikuje například protažení kabelu na půdu.
Náhrada UTR-201 za oblíbený router
Podrobný popis balení i zprovoznění byl již popsán mnohokrát. My se v tomto díle seriálu budeme věnovat možnosti nahrazení dodávaného routeru Starlink Router UTR-201 používajícího OpenWRT vlastním routerem se systémem pfSense. Důvodem náhrady dodávaného routeru je nedostatečná konfigurovatelnost dodaného zařízení a chybějící podpora IPv6.
Výběr hardware
V minulosti jsme si zde popisovali otevřený hardware PC Engines s pfSense CE, který jsem ale ve spojení se Starlinkem nepoužil. Zvolil jsem malý, ale poměrně výkonný router Netgate 1100 pfSense+ Security Gateway, který je vybaven kryptografickým akcelerátorem SafeXcel. V routeru Netgate je nainstalován pfSense+, který dostává pravidelnější aktualizace oproti pfSense CE.
Pro oživení Starlinku postačuje i pfSense Community Edition, který je možné instalovat na libovolný hardware podporující platformu amd64. V mém případě jsem použil již zmiňovaný model se systémem pfSense Plus od společnosti Netgate na platformě arm64.
Technologie Starlink
Hlavním rysem fungování sítě Starlink je CG-NAT, přesněji Carrier-grade NAT (dále jen CGN). Samotný CGN je někdy označován synonymy LNAT/LSN (Large Scale NAT) nebo NAT444. Starlink v současné době poskytuje privátní IPv4 adresu v rozsahu 100.64.0.0/10 vydanou prostřednictvím CGN DHCP. V případě, že si objednáte službu Starlink Business, dostanete skrze DHCP veřejnou IPv4 adresu.
Podrobný článek o fungování CGN zde byl publikován již v minulosti. Popisuje tuto technologii a její fungování velmi podrobně.
Konfigurace pfSense pro Starlink
Konfiguraci začneme nastavením portu WAN. Nastavíme jej na DHCP
případně i na DHCP6
.
V části DHCP Client Configuration
použijeme volbu Reject leases from
, kde uvedeme IPv4 adresu 192.168.100.1, což je předkonfigurovaná výchozí adresa antény Starlink – Dishy.
V sekci Reserved Networks
vypneme Block private networks and loopback addresses
, čímž se vypnou automatická pravidla blokující privátní rozsahy sítí, protože CGN vám pomocí DHCP přidělí privátní adresu z rozsahu 100.64.0.0/10.
Další konfigurací bude vytvoření VIP. Tu provedeme v menu Firewall / Virtual IPs
. Zde vytvoříme IP Alias
s adresou 192.168.100.2/24.
Posledním konfiguračním krokem je změna v nastavení Firewall / NAT / Outbound
, kde je nutné změnit Mode Automatic
na Hybrid Outbound NAT
.
Posléze vytvoříme nové mapovací pravidlo. V sekci Edit Advanced Outbound NAT
zadáme jako Source
typ Network
a vložíme LAN – v mém případě adresu 192.168.42.0/24 – do Destination
zadáme typ Network
a adresu 192.168.100.0/24.
V části Translation
u Addsress
zvolíme již vytvořený a pojmenovaný 192.168.100.2 (Starlink Subnet)
.
Po provedení těchto konfiguračních kroků začne Starlink fungovat. Není to nutné, ale pfSense můžete restartovat. Firmware na anténě bude aktualizován i v případě, že použijete router třetí strany.
VPN
Má verze Starlink skrze CGN neumožňuje získat veřejnou adresu. Do LAN za Starlinkem se tedy můžu dostat skrz VPN. V pfSense je balíček pro Tailscale, nainstaloval jsem jej a přidal do konfigurace s vytvořeným klíčem, který jsem vygeneroval v administraci služby Tailscale pod svým účtem.
Pokud si nastavíte routování do LAN, není problém se pak snadno spojit se zařízením ve vnitřní síti. Další možností je nainstalovat si balíček WireGuard a vytvořit si spojení, kam potřebujete. Další podrobnosti najdete v našem seriálu o WireGuardu.
Monitoring
Protože mám rád přehled o stavu spojení přes Starlink, zprovoznil jsem si zároveň monitoring. Router pfSense umožňuje doinstalovat Zabbix Proxy a je možné ji pak provozovat v aktivním režimu.
Zabbix Proxy se spojí šifrovaně pomocí PSK se serverem Zabbix v internetu. Tím dostáváte možnost podrobně monitorovat libovolné uzly v LAN za Starlinkem včetně routeru, na kterém můžete zapnout SNMP nebo nainstalovat Zabbix Agenta.
IPv4 vs. IPv6
Jak již bylo řečeno, privátní IPv4 adresu na WAN poskytuje CGN a IPv6 je dle Starlinku podporováno, ale ne u rané generace routerů (UTR-201) dodávaných v sadě Circular Starlink Kit. Jelikož jsem chtěl IPv6, bylo nutné dodaný router vyměnit.
Systém pfSense v routeru Netgate 1100 má IPv6 ve výchozím stavu zapnuté, pokud použijeme typ DHCP6 u WAN – viz úvodní nastavení. Konfigurace IPv6 pak začne fungovat bez dalšího nastavení. Vnitřní rozhraní LAN má nastaven IPv6 Configuration Type
na Track Interface
. V dokumentaci je tato volba přehledně popsána.
Díky tomu se automaticky nastaví IPv6 i na rozhraní LAN. Dále je standardně zapnutý DHCPv6. Zařízení s jeho podporou si tedy řeknou o IPv6, ostatní získají adresu pomoci bezstavové autokonfigurace SLAAC.
Během výměny routeru jsem se stal patrně prvním, kdo Starlink v Česku provozuje na IPv6, protože před 26. únorem 2023 nebyl v české síti Starlink žádný IPv6 prefix.
S jiným routerem
Pokud jste vlastníkem první generace Circular Starlink Kit a máte potřebu vyměnit dodávaný router za chytřejší, možnost tu rozhodně je. Předpokládám, že by neměl být problém router vyměnit za jiný, než jaký jsem zvolil já.
Konfigurace bude velmi obdobná také například u OPNsense. Jistou variantou může být třeba router DEC600 Series – OPNsense Desktop Security Appliances. Pokud Starlink plánujete teprve pořídit, patrně získáte novější model Rectangular Starlink Kit s Mesh Wi-Fi Routerem – podrobnosti jsou uvedeny na webu Starlinku. Nová generace by již měla IPv6 podporovat v základu.