Zwou Servicer kënnen allebéid um Port 443 äntweren ouni je ze konkurréieren, well en Lauschterer duerch Transport, Adress a Port zesummen bestëmmt gëtt, net duerch d’Nummer eleng. Setzt e Webserver an OpenVPN op eng Maschinn, an déi eenzeg Fro, déi et wäert ass fir d’éischt ze beäntweren, ass wéi ee Socket all Prozess vum Kernel freet. Schreift déi Lëscht op, ier Dir eng Konfiguratioun ännert, an déi meescht Feeler «Adress schonn a Gebrauch» erklären sech selwer. Alles nom Lëscht ass eng Wiel tëscht engem UDP-Lauschterer, engem gedeelten TCP-Socket oder engem Frontend, deen no Protokoll routet.

Fänkt mam Socket un, deen all Prozess freet

E Bind geléngt oder feelt op dësem Dräi, dofir stousse sech zwee Daemone just, wann all dräi Deeler zesummefalen. Dofir existéiert eng Websäit op TCP 443 onbegrenzt niewent engem OpenVPN-Lauschterer op UDP 443, an dofir mécht et och d’Diskussioun fäerdeg, ee vun deenen zwee op eng zweet lokal Adress um selwechten Host ze verréckelen. Liest déi lieweg Lauschterer amplaz vun de Fichieren, déi se sollten erstallt hunn, well en alen include oder eng vergiessen unit-Fichéi d’Ännerung iwwerlieft, un déi Dir Iech erënnert.

Line in the listener listWhat it establishesWhat to do next
One udp row and one tcp row, each on 443Separate transport sockets, nothing contestedPoint the VPN profile at udp and stop editing
A single tcp address and port listed by two processesA real bind collision between two daemonsMove one service, or put a dispatcher in front of both
A proxy process owns the socket, no vpn processThe proxy accepts and has to hand off correctlyCheck that its backend speaks the protocol it forwards

Fuert ss -lntup als root aus a liest all Zeil, déi 443 ernimmt, IPv6-Anträg abegraff. E Wildcard-Lauschterer fir v6 akzeptéiert meeschtens och v4-Trafic, an esou hält en vergiessene Lauschterer de Port besat, nodeems Dir de Fichier geännert hutt, deen Dir verantwortlech gegleeft hutt. Wann e Prozessnumm Iech iwwerrascht, enkert d’Ausgab mat ss -lntup 'sport = :443' enk, ier Dir eppes beréiert.

Schalt den Tunnel op UDP, wann d’Netz et erlaabt

En UDP-Lauschterer geet der Kollisioun komplett aus de Féiss an ass meeschtens déi kierzt Reparatur, well keen Socket gedeelt gëtt an keen zousätzlecht Produkt an de Wee kënnt. Mä et ass net gratis. E puer Client-Netzer verwerfen UDP 443 ouni en Reset ze schécken, sou datt den Tunnel ophält sech opzebauen amplaz um Bind ze scheieren, an de Benotzer mëllt de VPN als erof ouni e Feeler ze liesen. En UDP-Lauschterer iwwerlieft och en Neistart vun der Webschicht, wat op enger Maschinn zielt, deenen hir Säit dacks nei ausgerullt gëtt. Test aus dem Netz, wou d’Benotzer sëtzen, well eng Shell um Server just beweist, datt de Server sech selwer erreecht.

Ännert den Transport an der Serverkonfiguratioun an am Clientprofil zesummen. E Profil, deen nach TCP freet, dreet sech a Reconnect-Schleifen géint en UDP-nëmmen Lauschterer, an dat gesäit aus wéi en Netzfeeler, bis Dir déi zwee Fichieren vergläicht.

Loosst de VPN-Prozess TCP 443 besëtzen an de Rescht weiderleeden

Community OpenVPN am TCP-Servermodus liest déi éischt Bytes vun enger erakommender Verbindung a leet alles, wat net säin eegene Protokoll ass, un en HTTPS-Backend weider, an dofir ass d’Direktiv port-share do. Den Backend ass en normale Webserver mat aktivem TLS, am Direktiv mat Host a Port benannt an net mat enger URL.

port-share 10.0.0.5 8080

Op enger Maschinn, wou d’Säit eng zweet privat Adress huet, schéckt déi Zeil Net-VPN-Trafic op 10.0.0.5:8080, dofir muss den HTTPS-Virtualhost do gebonne sinn an d’Firewall muss de lokale Sprong erlaben. De Webserver muss TLS selwer beëndegen, well d’Bytes, déi ukommen, dem Browser seng ursprénglech Handshake sinn an näischt dobaussen se entschlësselt huet. Richt d’Direktiv op en einfachen HTTP-Lauschterer an de Browser kritt e Feeler vun ongëlteger Method, dee wéi eng futti Säit gelies gëtt an net wéi en falsch plazéierte Backend. D’Direktiv gëtt et just am TCP-Servermodus, an en UDP-Lauschterer huet keen Stroum fir z’iwwerpréiwen.

Well de VPN-Prozess all Verbindung akzeptéiert, gesäit d’Webapplikatioun d’weidergeleet Ufro vun enger vun den eegene Adresse vum Host ukommen amplaz vum Besuch. Alles, wat déi richteg Clientadress brauch, hänkt vun der PROXY-Protokollënnerstëtzung am Backend of oder vun engem Frontend, deen se derbäisetzt. Den Backend op eng aner lokal Adress ze verréckelen bréngt d’Adress vum Besuch net zeréck; et ännert just, wéi eng vun den Hostadressen d’Säit festhält. Schreift déi Aschränkung an d’Deploymentsnotizen, ier en Analysrapport d’Fro opwerft.

En Ëmgekeehrte Proxy ass dat falscht Instrument; en Layer-Véier-Router net

En HTTP-Ëmgekeehrte-Proxy beënnigt TLS, fir Ufroe liesen ze kënnen, wat heescht, datt en en OpenVPN-Stroum net onberéiert duerchloosse kann. En Layer-Véier-Router, deen no SNI oder no Inspektioun vum éischte Pak weiderleet, kann virun deenen zwee stoen, wann en net d’Sessioun beënnigt, op déi de VPN ugewise ass. Déi zwee Apparater gesinn an engem Diagramm ähnlech aus a behuelen sech um Socket komplett anescht.

Den kommerziellen Access Server bréngt seng eege Portdeelungsastellungen mat, an déi entspriechen net een-zu-een der Communautéitsdirektiv. Identifizéiert Produkt a Versioun, ier Dir eng Guide upasst, déi fir deen anere geschriwwe gouf. Eng kopéiert Astellung, déi stëll ignoréiert gëtt, ass schlëmmer wéi keng Astellung, well d’Lauschtererlëscht duerno nach ëmmer plausibel ausgesäit.

Test d’Websäit an den Tunnel als zwee getrennt Weeër

Lued d’Säit a verbënnt den Tunnel, liest duerno d’Lauschtererlëscht nach eng Kéier, fir ze gesinn, wéi ee Prozess elo 443 huet. Eng Säit, déi lued, beweist näischt iwwer de VPN, an en Tunnel, dee sech verbënnt, beweist näischt iwwer d’Säit, och wann allebéid déiselwecht Nummer benotzen. Déi dräi Kommandoen hei drënner kontrolléieren de gedeelten Socket, de Webwee an de VPN-Service an där Reihenfolg.

ss -lntup 'sport = :443'
curl -sI https://vpn.example.com/ | head -n 1
journalctl -u openvpn-server@server -n 20

Vergläicht d’Clientadress am Access-Log vum Backend mat där am VPN-Log fir dee selwechte Moment. Wann d’Säit all Besuch als den Host selwer festhält, funktionéiert d’Weiderleedung an d’Adressbehandlung net. Wa béid Loge stëll bleiwen, huet de Frontend d’Verbindung ni iwwerginn. Wéi och ëmmer, d’Lauschtererlëscht entscheet, wien de Socket akzeptéiert, an dat ass de Fakt, deen ze bestätegen ass, ier Dir nach en anere Fichier ännert.

Loosst déi Lauschtererkaart nieft der Konfiguratioun leien, sou datt déi nächst Persoun, déi 443 beréiert, weess, wéi ee Prozess akzeptéiert a wou den anere Protokoll higaangen ass. Bestätegt d’Eegentum nom Changement amplaz ze vertrauen, wat d’Ännerung sollt maachen.

Ähnlech Artikelen