proto udp nebo tcp-client: kterou z nich váš server slyší?
Direktiva určuje transport vnějšího připojení. Místní úpravou na serveru nevznikne posluchač, proto nejdřív zkontrolujte záznam remote.
Profil, který minulý měsíc fungoval, teď vyprší a někdo navrhne změnit proto udp na proto tcp-client. Někdy je to správný krok, jindy tím vznikne klient, který se připojuje k portu, kde nic neposlouchá, protože server nikdy nebyl pro druhý transport nakonfigurován. Direktiva popisuje, jak mluví vaše strana; nemůže vytvořit posluchače na druhé straně. Přečtěte si profil i server společně, než změníte kterýkoli z nich.
Přečtěte transport, který používá zvolené připojení
Profil může nést několik záznamů remote a každý může uvést svůj vlastní transport. Klient je prochází v pořadí, takže řádek, který vidíte první, nemusí být ten, který se použije.
Najděte záznam, který se skutečně zkouší, a pak si přečtěte jeho transport. Na pořadí záleží, protože klient tiše nepřechází dál. Některá sestavení zkoušejí další záznam až po vypršení časového limitu, takže funkční alternativa na konci souboru se dosáhne o pár sekund později, než čekáte. Sledujte v logu, který koncový bod se zkouší, místo abyste předpokládali, že vyhrál první řádek.
Pokud má soubor jeden řádek proto blízko začátku a několik záznamů remote pod ním, je tento řádek výchozí pro každý remote, který jej nepřepíše. Místní úprava výchozí hodnoty nic neudělá pro záznam remote, který uvádí svůj vlastní transport.
grep -nE '^(remote|proto)\b' client.ovpnUDP a TCP nejsou nastavení rychlosti
UDP posílá datagramy, aniž by vytvářel uspořádaný tok, takže vlastní provoz tunelu se neobaluje do druhého spolehlivého transportu. TCP vám dá cestu přes sítě, které zahazují nebo blokují UDP, za cenu vnořeného opětovného přenosu, který může ztrátové spojení pocitově zhoršit.
Je to obchod s dosažitelností, ne univerzální žebříček. Správná volba je ta, kterou síť před klientem dovolí. Cesta, která zahazuje UDP na portu VPN, nikdy nevyjedná, ať je profil napsaný sebelépe. Otestujte cestu a potom zvolte transport.
Vybírat mezi nimi jen podle měření je chyba, protože odpověď závisí na tom, co síť před vámi dovolí. Hotel nebo firemní proxy může povolit odchozí TCP na 443 a nic jiného, a proto poskytovatelé tuto variantu nabízejí. Zůstává to připojení OpenVPN na tomto portu, ne relace HTTPS, i když je číslo portu to známé.
Co tcp-client vlastně znamená
Direktiva na straně klienta pojmenovává stranu, která zahajuje připojení TCP. Strana serveru používá svou vlastní podobu naslouchání a zkopírování klientova slova do konfigurace serveru vytvoří posluchače, který očekává, že bude vytočen, ne toho, který přijímá.
Shoda znamená, že se obě strany shodnou na transportu, ne že sdílejí stejný řetězec.
grep -nE '^proto\b' /etc/openvpn/server/server.conf
ss -lntp | grep openvpnZeptejte se serveru, na čem naslouchá, než předpokládáte, že je profil špatný. Posluchač UDP se v seznamu TCP socketů neobjeví a naopak to platí také, proto se dívejte na pohled specifický pro protokol, ne na obecný.
Když se profil naimportuje, ale nikdy se nepřipojí
Importovaný profil, který okamžitě vyprší, obvykle selže ještě před jakoukoli autentizací. Paket jde na port bez posluchače, nebo ho síť tiše zahodí.
Otestujte cestu co nejjednodušeji: připojte se ke stejnému hostiteli a portu s transportem, který profil tvrdí, ze stejné sítě jako selhávající klient.
Pokud test UDP nic nedostane a test TCP se připojí, server nabízí druhý transport a profil je prostě zastaralý. Pokud neodpoví ani jeden, problém je výš než volba transportu a žádná úprava profilu ho neopraví. Rozlišení těchto dvou případů trvá minutu a ušetří hodinu ladění certifikátů, které nikdy nebylo relevantní.
Zaznamenejte funkční transport
Jakmile kombinace funguje, zapište ji se serverem, portem a protokolem a poznamenejte, ze které sítě byla testována.
Jinak další člověk, který narazí na vypršení, zopakuje stejný experiment opačným směrem a možná změní server, který byl v pořádku.
Pokud poskytovatel zveřejňuje obě varianty, ponechte oba soubory a označte je podle sítě, pro kterou se hodí. Dva jasně pojmenované profily brání náhodnému smíchání klientského transportu se serverovým posluchačem, který pro něj nikdy nebyl nakonfigurován.