Inštancia sa spustí, inštalácie balíkov uspejú a služba dokonca hlási bežiaci stav, no nič sa nepripojí. Tento vzor je na virtuálnych privátnych serveroch bežný, pretože hosť, ktorý sa pohodlne dostane na internet, stále nemusí vedieť vytvoriť rozhranie, ktoré váš protokol vyžaduje. Päť kontrol oddeľuje hostiteľa, ktorý dokáže obslúžiť tunel, od toho, ktorý len vyzerá pripravený, a prvá neúspešná kontrola zvyčajne vysvetlí všetko po nej. Každá je lacná na spustenie a končí rozhodnutím, nie poznámkou.

Overte rozhranie, ktoré protokol potrebuje

OpenVPN cez TUN potrebuje znakové zariadenie a jadrový modul za ním; WireGuard potrebuje vlastnú podporu v jadre alebo používateľskú implementáciu so zodpovedajúcimi očakávaniami. Spravované kontajnery môžu zdieľať jadro hostiteľa, ktoré zariadenie nikdy nesprístupní, a niektoré platformy vytváranie tunelových rozhraní úplne zakazujú bez ohľadu na to, čo je nainštalované.

Testujte schopnosť namiesto čítania stránky podpory, pretože marketingové štítky sa menia rýchlejšie ako základné limity. Zoznam funkcií napísaný pre jeden plán nemusí opisovať jadro, na ktorom hosť skutočne beží. Dva krátke príkazy odpovedajú na otázku pre bežne používané protokoly a oba po sebe upracú. Príkazy nižšie nevytvárajú nič trvalé a okamžite sa odstraňujú.

sudo ip tuntap add dev tun9 mode tun
sudo ip tuntap del dev tun9 mode tun
sudo ip link add wgtest type wireguard && sudo ip link del wgtest

Odmietnutie pri prvej dvojici znamená, že TUN nie je dostupný a predvolený režim OpenVPN nemôže štartovať; odmietnutie v poslednom riadku znamená, že chýba jadrové rozhranie WireGuard. Dokumentácia jadra o TUN/TAP opisuje zariadenie, ktoré prvá kontrola precvičuje. Ani jedna z týchto dvoch chýb sa neopraví preinštalovaním balíka VPN.

Pamätajte, že prichádzajúca cesta má dvoch vlastníkov

Sieťové pravidlá poskytovateľa a firewall hostiteľa sú oddelené systémy a premávka musí prejsť oboma. Násluch na hostiteľovi neznamená nič, ak bezpečnostná skupina poskytovateľa port zahodí, a otvorené pravidlo poskytovateľa nič nerobí, ak hosť paket odmietne. Overte násluch, potom pravidlá hostiteľa, potom panel poskytovateľa, v tomto poradí, a potvrďte aj protokol, aj číslo portu. Preskočenie priamo na panel poskytovateľa je spôsob, akým ľudia otvoria rozsah, ktorý nepotrebovali.

UDP je obvyklá obeť: mnohé platformy predvolene povoľujú TCP a pravidlá UDP považujú za samostatnú položku. Ak inštancia stojí za NAT poskytovateľa namiesto toho, aby mala verejnú adresu, preposielanie portov na strane poskytovateľa sa stáva treťou konfiguráciou, ktorú treba zladiť.

Plánujte spiatočnú cestu, nielen výstup

Služba plného tunela potrebuje zapnuté preposielanie, schému prekladu alebo smerovania pre klientsku premávku a spiatočnú cestu, ktorá dosiahne na skupinu klientov. Otvorenie násluchu nič z toho nedodá. Tunel, ktorý sa nadviaže, ale nenesie užitočnú premávku, zvyčajne zlyhá tu, nie pri autentifikácii. Úspešné podanie ruky berte ako začiatok diagnostiky, nie ako jej koniec.

Napíšte plán ako tri konkrétne rozhodnutia: aký rozsah zdrojov klienti dostanú, ako ich premávka odchádza k internetu a ako sa odpovede vracajú späť. Potom overte, že jadro s plánom súhlasí, ešte pred testovaním klienta, aby sa tichý nesúlad nepomýlil s chybou na klientskej strane.

sysctl -n net.ipv4.ip_forward
sudo nft list ruleset | head -n 40
ip -4 route show default

Rozhodnite o IPv6 výslovne

IPv6 prichádza niekoľkými mechanizmami, ktoré sa pre bránu správajú odlišne: adresa na inštancii, smerovaný prefix alebo nič. Iba smerovaný prefix umožňuje serveru dávať adresy klientom bežným spôsobom. Predpoklad, že funkčná adresa IPv6 na hostiteľovi znamená použiteľný klientsky prefix, je chyba, ktorá sa neskôr prejaví ako napoly rozbité pripojenie. Je to druh poruchy, ktorá prežije každý test vykonaný len s IPv4.

Ak poskytovateľ nesmeruje žiadny prefix, rozhodnite, či je tunel iba pre IPv4 a či to majú klienti vedieť. Zdokumentovaná neprítomnosť je bezpečnejšia ako čiastočná konfigurácia, ktorá ticho posiela destinácie IPv6 do čiernej diery pre pripojených používateľov.

Dokážte to z externého klienta

Miestny stav služby opisuje jeden proces na jednom hostiteľovi. Užitočný test je autorizovaný klient v inej sieti, ktorý sa pripojí profilom, ktorý chcete distribuovať, potom dosiahne aplikáciu a preloží meno. Pripojte sa ešte raz, pretože tunel, ktorý funguje len na prvý pokus, nespĺňa požiadavku, na ktorej v praxi záleží najviac.

sudo wg show wg0 latest-handshakes
ip -4 route get 203.0.113.44
sudo journalctl -u wg-quick@wg0 -n 15 --no-pager

K testu si držte prevádzkové základy: priestor na aktualizácie, obmedzené logy, administratívny prístup, ktorý nezávisí od tunela, konzolu na obnovu a poznámku o tom, čo sa stane s klientskymi profilmi, keď sa inštancia prestavia a jej verejná adresa sa zmení. Ak požadované rozhranie alebo model preposielania jednoducho nie je k dispozícii, žiadna zmena na strane klienta to nedodá, a čestným ďalším krokom je iný typ inštancie, nie viac konfigurácie.

Súvisiace články