En profil, der virkede sidste måned, udløber nu, og nogen foreslår at skifte proto udp til proto tcp-client. Nogle gange er det det rigtige træk, og nogle gange giver det en klient, der forbinder til en port, hvor intet lytter, fordi serveren aldrig blev konfigureret til den anden transport. Direktivet beskriver, hvordan din ende taler; det kan ikke oprette en lytter i den anden ende. Læs profilen og serveren sammen, før du ændrer nogen af dem.

Læs den transport, som den valgte forbindelse bruger

En profil kan indeholde flere remote-poster, og hver af dem kan angive sin egen transport. Klienten gennemgår dem i rækkefølge, så den linje, du ser først, er ikke nødvendigvis den, der gælder.

Find den post, der faktisk forsøges, og læs derefter dens transport. Rækkefølgen betyder noget, fordi klienten ikke går videre i stilhed. Nogle builds prøver først den næste post efter en timeout, så et fungerende alternativ nederst i filen nås sekunder senere, end du forventer. Hold øje med loggen for det endepunkt, der forsøges, i stedet for at antage, at den første linje vandt.

Hvis filen har én proto-linje nær toppen og flere remote-poster under den, er den linje standard for enhver remote, der ikke tilsidesætter den. En lokal ændring af standarden gør intet for en remote-post, der angiver sin egen transport.

grep -nE '^(remote|proto)\b' client.ovpn

UDP og TCP er ikke en hastighedsindstilling

UDP sender datagrammer uden at opbygge en ordnet strøm, så tunnelens egen trafik ikke pakkes ind i en anden pålidelig transport. TCP giver dig en vej gennem netværk, der dropper eller blokerer UDP, på bekostning af indlejret gensending, som kan få et tabsramt link til at føles værre.

Det er en handel om tilgængelighed, ikke en universel rangliste. Det rigtige valg er det, netværket foran klienten tillader. En vej, der dropper UDP på VPN-porten, forhandler aldrig, uanset hvor godt profilen er skrevet. Test vejen, og vælg derefter transporten.

At vælge mellem dem alene ud fra en måling er en fejl, fordi svaret afhænger af, hvad netværket foran dig tillader. Et hotel eller en virksomhedsproxy tillader måske udgående TCP på 443 og intet andet, og derfor tilbyder udbydere den variant. Det forbliver en OpenVPN-forbindelse på den port, ikke en HTTPS-session, selvom portnummeret er det velkendte.

Hvad tcp-client egentlig betyder

Direktivet på klientsiden navngiver den ende, der starter en TCP-forbindelse. Serversiden bruger sin egen lyttende form, og at kopiere klientens ord til en serverkonfiguration giver en lytter, der forventer at blive ringet op, ikke en der accepterer.

At matche betyder, at de to ender er enige om transporten, ikke at de deler den samme streng.

grep -nE '^proto\b' /etc/openvpn/server/server.conf
ss -lntp | grep openvpn

Spørg serveren, hvad den lytter på, før du antager, at profilen er forkert. En UDP-lytter vises ikke i en TCP-socketliste, og det omvendte er også sandt, så kig på den protokolspecifikke visning i stedet for en generisk.

Når profilen importeres, men aldrig forbinder

En importeret profil, der straks udløber, fejler normalt før enhver godkendelse. Pakken går til en port uden lytter, eller netværket dropper den i stilhed.

Test vejen på den enklest mulige måde: forbind til den samme vært og port med den transport, som profilen hævder, fra det samme netværk som den fejlende klient.

Hvis en UDP-test intet får, og en TCP-test forbinder, tilbyder serveren den anden transport, og profilen er ganske enkelt forældet. Hvis ingen af dem svarer, ligger problemet før transportvalget, og ingen ændring af profilen vil løse det. At skelne de to tilfælde tager et minut og sparer en time med certifikatfejlfinding, der aldrig var relevant.

Skriv den fungerende transport ned

Når en kombination virker, skriv den ned med server, port og protokol, og noter, hvilket netværk den blev testet fra.

Ellers vil den næste person, der rammer en timeout, prøve det samme eksperiment i den anden retning og muligvis ændre en server, der var i orden.

Hvis udbyderen offentliggør begge varianter, behold begge filer, og mærk dem efter det netværk, de passer til. To klart navngivne profiler forhindrer den tilfældige blanding af en klienttransport med en serverlytter, der aldrig blev konfigureret til den.

Relaterede artikler