Netwerke wat slegs volmag-uitgang toelaat, is waar 'n werkende profiel skielik doodgaan. Die volmagadres is die minste interessante veranderlike in daardie mislukking. Wat alles bepaal, is die vorm van die verkeer wat die volmag sal deurgee, want hierdie volmagte stuur 'n greystroom deur en 'n UDP-tonnel is nie een nie. Dit laat twee argitekture oor, en hulle breek op verskillende plekke.

Een beperking bepaal die ontwerp

SOCKS5 spesifiseer wel 'n UDP-assosiasiemodus. OpenVPN se kliëntvolmagondersteuning is nietemin rondom strome gebou: socks-proxy is gedokumenteer vir TCP-profiele, en 'n HTTP CONNECT-volmag het hoegenaamd geen datagrampad nie. Een reël dokumentasie beslis die argitektuur voordat jy 'n konfigurasielêer aanraak.

Die vraag is dus nie watter volmag om te kies nie. Dit is of die tonnel 'n stroom word, of 'n datagram bly en iets anders die volmag laat oorneem.

Opsie A: maak die tonnel 'n stroom

Dit vereis 'n bediener met 'n TCP-luisteraar, en 'n kliëntprofiel wat die volmag noem. Albei stukke is nodig, en die bedienerkant is die een wat mense vergeet:

proto tcp-client
remote vpn.example.net 443
socks-proxy 127.0.0.1 1080

Vervang die laaste reël met http-proxy proxy.internal 8080 wanneer die volmag HTTP praat, en voeg 'n geloofwaardigheidslêer by as dit een vereis. Die volmag moet bereid wees om aan jou VPN-poort te CONNECT, en die bediener moet op TCP antwoord; 'n slegs-UDP-luisteraar ignoreer die poging. Om 443 te kies is 'n praktiese skuif, want baie beperkende netwerke laat dit en min anders toe.

Die koste is TCP gestapel op TCP. Een verlore buitenste segment strem elke binnerste stroom wat daardie verbinding deel, so herstel wat normaalweg onafhanklik sou wees, word gedeel. Opstelling neem ook langer, en 'n wispelturige buitenste pad word 'n wispelturige tonnel eerder as 'n stadige een.

Opsie B: los die tonnel alleen

Wanneer die tonnel op UDP moet bly, is die tonnel nie waar jy enigiets opstel nie. In plaas daarvan word uitgaande TCP van programme na 'n plaaslike SOCKS-luisteraar herlei, en die programme leer nooit dat 'n volmag bestaan nie. Op Linux is dit tipies redsocks plus 'n NAT REDIRECT-reël in die nat-tabel.

Weer net TCP. 'n Slegs-HTTP-volmag soos privoxy kan nie willekeurige protokolle deurgee nie, en hierdie ontwerp voeg ook geen datagramondersteuning vir die programme by nie.

Om elke program direk van die volmag te vertel, is gewoonlik beter waar die sagteware dit ondersteun. Dit is makliker om te oudit, en dit misluk op 'n plek wat jy werklik kan sien.

Waar elke opsie misluk

Opsie A misluk wanneer die bediener 'n TCP-luisteraar kort, wanneer die volmag die CONNECT-teiken weier, of wanneer die buitenste stroom tot onder wat die tonnel nodig het, gesmoord word. Die eerste twee laat 'n inskrywing in die volmaglog; die derde laat 'n verbinding wat vestig en dan verkeerd voel. Lees daardie log voor jy die profiel wysig, want dit skei 'n toestemmingsprobleem van 'n kapasiteitsprobleem. 'n Voltooide CONNECT skuif die ondersoek in die tonnel in.

Opsie B misluk vir enigiets wat datagramme nodig het, vir protokolle wat die volmag nie verstaan nie, en stilweg op gashere waar die herleidingsreël bestaan maar roetering die verkeer daar verby stuur.

Nie een opsie verander die toestelvereiste nie. Pakkette het steeds 'n TUN- of TAP-node nodig voordat die kern hulle sal roeteer, so die proses het steeds toestemming op /dev/net/tun. 'n Omhulsel verander wat ná daardie node oop is gebeur, nie of jy een nodig het nie.

Bewys watter pad jy gebou het

Kyk na sokke eerder as die taakbalkikoon. Die VPN-proses moet 'n gevestigde verbinding na die volmagadres hou, en die volmag moes die teiken gelog het wat gevra is om te bereik:

ss -tnp | grep openvpn

Reik dan na 'n bestemming wat net die tonnel kan bedien, en 'n naam wat net die tonnel-oplosser kan antwoord. 'n Voltooide volmagverbinding met 'n dooie tonnel beteken gewoonlik dat die verre kant nooit die vervoer aangebied het wat in jou profiel genoem word nie.

Noteer die vervoer en die aanvaardende volmag op 'n duursame plek. Wanneer dieselfde profiel op 'n ander netwerk misluk, sluit daardie nota die volmag binne sekondes in of uit.

Verwante artikels