V macOS nesou jméno VPN dvě různé úlohy a panel nastavení se stará jen o jednu z nich. Pokud chcete, aby provoz tohoto Macu odcházel přes poskytovatele nebo vzdálenou bránu, stačí vám klientský záznam. Pokud se chcete z hotelového pokoje dostat k tiskárně, NAS nebo administrační stránce ve své domácí síti, musí něco v této síti přijímat spojení zvenčí, a současný Mac to hned po vybalení není. O tom, ve kterém případě jste, rozhodnou tři otázky a vyplatí se na ně odpovědět dřív, než do pole napíšete adresu.

Klientský záznam pojmenovává cíl, ne naslouchač

V Systémovém nastavení > Síť > VPN na macOS Ventura a novějším popisují pole, která starší verze drží v Předvolbách sítě, jak dosáhnout koncového bodu někoho jiného: adresa serveru, vzdálené ID, účet nebo certifikát a volitelná pravidla připojení na vyžádání. Uložením tohoto záznamu se spojení uloží do síťové konfigurace vašeho Macu. Nic v tom procesu neváže port, neotevírá naslouchač ani nezapisuje vzdáleného uživatele.

Můžete to ověřit z shellu. Na Macu, u kterého máte podezření, že obsluhuje, spusťte sudo lsof -nP -iUDP a hledejte porty, které váš protokol používá: 500 a 4500 pro IKEv2, 1194 pro výchozí OpenVPN, 51820 pro WireGuard. Stroj, který je jen klient, ukazuje sockety spárované se vzdálenou adresou a portem, ne navázání na zástupný znak, na které by se dostalo cokoli na internetu. Tunely běžící uvnitř Network Extension se mohou před lsof skrýt, takže v každém případě zkontrolujte i vlastní stavový panel aplikace; co nenajdete, je předvolba Apple, která z tohoto Macu udělá bránu.

Tři otázky oddělují dvě role

Projděte je popořadě. První obvykle rozhodne o zbytku a třetí je místo, kde se většina plánování specifického pro Mac pokazí.

1. Kdo začíná konverzaci? Pokud váš Mac vytáčí ven a druhá strana odpovídá, potřebujete klienta. Pokud zařízení na internetu musí vytáčet dovnitř, aby se dostala do vaší sítě, potřebujete bránu s veřejným vstupním bodem a Mac může zůstat klientem této brány.

2. Co musí být dostupné, dokud je tunel nahoru? Jedna služba na jednom hostiteli je rozhodnutí o přesměrování portu. Celá podsíť včetně překladu jmen je rozhodnutí o směrování a DNS a mění to, co má brána předávat, ne to, co říká klientský záznam.

3. Která verze OS běží na přijímající straně? U Maců má tato otázka tvrdou odpověď. Apple uvádí VPN jako odstraněnou z macOS Server 5.7.1 a samotná aplikace macOS Server byla ukončena 21. dubna 2022; stránkou, kterou je třeba si přečíst, když vás starý návod provádí zaškrtávacím políčkem služby VPN, která už neexistuje, je oznámení o historii služby.

Když první odpověď zní „někdo zvenčí začíná“, přestaňte hledat přepínač v klientském panelu Macu a vyberte hostitele, který tunel ukončí.

Kde místo toho může žít brána

Čtyři uspořádání pokrývají většinu domácích a malých kancelářských případů. Router se skutečným režimem serveru, na rozdíl od klientského režimu s jiným označením, ukončuje tunel na okraji a drží počet hostitelů nízko, ovšem za cenu vázanosti na podporu protokolů daného firmwaru. NAS nebo stále běžící mini PC spouští balíček serveru od výrobce a nechává vám logy, které můžete číst. Malý cloudový VM vám dává veřejnou adresu, kterou ovládáte, a domů se dostane druhým tunelem. Síť typu mesh postavená na WireGuardu, nebo spravovaná služba, která přeposílá mezi protějšky, obchází přesměrování příchozích portů tím, že oba konce vytáčejí ven.

Hranicí mezi těmito možnostmi je obvykle vaše internetové připojení, ne software. Pokud vás poskytovatel postaví za NAT na úrovni operátora, sebevětší přesměrování portů na routeru nevytvoří dostupný vstupní bod a poctivou odpovědí je uspořádání s relé nebo mesh. Porovnejte WAN adresu, kterou hlásí váš router, s adresou, kterou vidí vnější svět; pokud se liší a hodnota routeru leží v privátním nebo sdíleném rozsahu, plánujte případ s relé.

Ať vyberete kterýkoli hostitel, přesměrujte jeden protokol na jednom portu, ne rozsah, a držte Mac mimo příchozí cestu, ledaže tento konkrétní produkt dokumentuje roli serveru pro verzi macOS, kterou provozujete.

Potvrďte roli, než začnete rozdávat profily

Na kandidátské bráně dokažte, že naslouchač existuje, místo abyste věřili, že ho instalátor vytvořil. Na macOS to znamená sudo lsof -nP -iUDP filtrovaný na výše uvedené porty, plus sudo pfctl -s nat, pokud jsou pravidla paketového filtru součástí návrhu. Na Linuxu ss -lunp ukazuje stejná fakta bez dvojznačnosti.

Potom testujte zvenčí sítě, pomocí samotného protokolu. Ping dokazuje málo: ICMP se běžně filtruje a o UDP 51820 neříká nic. Klientský handshake s podrobným logováním, spuštěný z telefonu na mobilních datech, je nejlevnější skutečný test, protože prochází stejnou cestou jako vzdálený kolega.

Teprve potom se dotkněte klientských profilů. Na Macu scutil --nc list vypíše služby VPN, které systém zná; pokud mezi nimi brána, kterou jste právě postavili, není, konfigurujete jiný stroj, než jste testovali. Pokud handshake uspěje v LAN, ale zvenčí selže, je chyba v příchozí cestě: pravidlo NAT, CGNAT poskytovatele nebo firewall na bráně, přesně v tomto pořadí.

Než cokoli postavíte, rozhodněte čtyři body:

  • Která strana zahajuje spojení, váš Mac nebo vzdálené zařízení.
  • Zda verze OS a produkt přijímajícího hostitele opravdu podporují roli serveru.
  • Zda vám poskytovatel vůbec dává dostupnou veřejnou adresu.
  • Který jediný port a protokol bude brána přijímat a která služba za ní odpovídá.

Další krok je konkrétní: vyberte hostitele brány, potvrďte jeho naslouchač zvenčí a teprve potom vytvořte klientský záznam na Macu, který na něj ukazuje.

Související články