VPN připojeno, ale jedna služba selhává: izolujte fázi
Dokončený handshake neříká nic o jménu, trase, velikosti paketu ani o posluchači. Projděte čtyři fáze a nechte první selhání pojmenovat závadu.
„Připojeno“ je nejméně informativní údaj ve VPN tiketu. Zaznamenává, že dva uzly dokončily handshake, a nic o jménu, které se dotazovalo, rozhraní, kterým paket odešel, jeho velikosti ani o tom, zda ho vzdálená strana přijala. Proto může jedna služba selhat, zatímco každá další aplikace na stejném notebooku funguje. Projděte fáze popořadě a první selhávající fáze závadu pojmenuje.
Začněte jménem, ne tunelem
Překládejte dřív, než routujete, protože špatná odpověď dělá každý další test bezvýznamným. Zeptejte se na jméno systémovým resolverem a porovnejte tuto odpověď s adresou, kterou aplikace skutečně použila. Soukromé jméno, které se vrátí jako veřejná adresa, znamená, že dotaz šel resolveru, který na něj nemá co odpovídat. Jméno, které se nepřeloží, je stejná kategorie, jen hlasitější.
resolvectl query host.internal
getent hosts host.internal
Prohlížeče s vlastním nastavením zabezpečeného DNS zde selhávají, zatímco zbytek systému funguje. Proto stížnost týkající se jen prohlížeče patří nejdřív do této fáze, než kdokoli sáhne na trasu. Porovnejte oba příkazy, ne jeden, protože getent jde cestou NSS a dotaz na resolver ne.
Zeptejte se jádra, kterou cestu si vybralo
Směrovací tabulka je pořadí preferencí a cesta, kterou jádro vybere, není vždy ta z diagramu. Zeptejte se ho přímo na dotyčné cílové umístění. Odpověď pojmenuje rozhraní, další hop a zdrojovou adresu, která bude použita. Paket může tunelem odejít se zdrojovou adresou, kterou vzdálená strana odmítá, a konkrétnější záznam ve fyzické tabulce ho může poslat ven přes rozhraní Wi-Fi.
ip route get 10.20.30.40
ip -brief address show
Čtěte pole dev, via a src v tomto pořadí, protože každé odstraňuje jiné podezření. Tato fáze také vlastní stav, který klient nainstaloval, protože pravidla firewallu a trasy mohou po abnormálním ukončení zůstat. Proto „bez internetu bez tunelu“ a „bez internetu, dokud klient neběží“ jsou jedna rodina závad, ne dvě.
Otestujte velikost paketu
Malá odpověď, která se vrátí, zatímco velký přenos zamrzne, ukazuje nejdřív na MTU cesty. Jedna sonda s nastaveným bitem do-not-fragment, odeslaná zevnitř tunelu, oddělí tuto fázi od ostatních. Zvyšujte payload, dokud sonda neselže, a máte číslo, na kterém záleží.
ping -M do -s 1400 10.20.30.40
Malé sondy procházejí, zatímco výpis adresáře nebo nahrávání visí — to je podpis této fáze. Stížnost zní jako přihlašovací údaje nebo pravidlo firewallu, a není ani jedno.
Číslo je vlastnost cesty, ne klienta, takže hodnota, která funguje na kancelářském připojení, může na mobilním spoji selhat. Uchovejte sondu u tiketu, protože další člověk potřebuje stejné měření. Pokud projde menší payload, řešením je clamp nebo nižší MTU tunelu, ne nová šifra.
Otestujte vzdálenou stranu
Otestujte cíl podle jeho adresy a pak se podívejte, co tam poslouchá. Odmítnuté spojení a spojení, které nikdy neodpoví, jsou různé nálezy. První říká, že něco běží a neobsluhuje ten port, druhé, že se nic nevrátilo. Ani jedno není ve výchozím stavu problém klienta.
curl -sv http://10.20.30.41:8080/health
nc -vz -w 3 10.20.30.41 3389
ss -lnt 'sport = :8080'
Nic dosažitelného tunelem nemůže být služba poslouchající jen na 127.0.0.1, protože posluchač paket nikdy nevidí. Když firewall vzdáleného hostitele povolí kancelářskou podsíť a odmítne pool tunelu, výsledek vypadá jako závada klienta a není. Vzdálená plocha nebo sdílení souborů se rozbijí, zatímco webový provoz přežívá — obvykle to skončí tady, ať to uživatel formuluje jakkoli.
Přiřaďte stížnost jedné fázi
Většina hlášení spadá do jednoho z pěti tvarů a každý tvar pojmenuje fázi. Jeden web, který funguje jen tunelem, je odpověď jména nebo politika vázaná na zdrojovou adresu. Aktualizace selhávají bez tunelu, zatímco prohlížení funguje — to je problém jména nebo trasy pro toho klienta.
Vše se zastaví, když se spustí klient poskytovatele, je nainstalovaný stav, tedy otázka trasy a firewallu. Jedna služba nedostupná, zatímco zbytek je v pořádku, je vzdálená strana. Přenosy zamrznou po několika sekundách — to je velikost paketu. Přiřaďte tvar dřív, než spustíte příkazy, protože rozhoduje, které důkazy se sbírají první.
Zaznamenejte fázi, která dala první selhání, spolu s výstupem příkazu. Tiket, který říká, že zdrojová adresa byla špatná, s přiloženým řádkem trasy, stojí za akci, zatímco ten, který hlásí rozbitou VPN, ne.