Runbook honek proxya ezagutzen duen aplikazio bati lehendik dagoen WireGuard bide baterako sarbidea ematen dio, VPN zerbitzarian edo interneten proxy porturik argitaratu gabe. SOCKS daemonak aplikazioaren interfazea ematen du, WireGuadek lehendik onartutako IP bidea ematen du, eta batek ere ez du erabiltzailea zure ordez autentifikatzen. Beheko urrats bakoitzak ikus dezakezun zerbait sortzen du, eta bakoitzak atzera egiteko modu bat du: gelditu instantzia, kendu araua edo ken ezazu aplikazioaren proxy ezarpena. Hemengo ezerk ez du aldatzen ostalariaren bide lehenetsia.

Adibideak suposatzen du Dante 1.4.x instalatuta dagoela instantzia dedikatu eta kudeatu gisa Linux lan-estazio fidagarri batean, paketeak emandako zerbitzu-kontua eta erregistro konfigurazioa bere lekuan utzita. Lan-estazioak 10.77.0.2 du bere WireGuard interfazean, 10.60.0.20:443 helbidera iristen da tunel horretatik, eta zerbitzuaren izen propioa app.corp.example da.

1. urratsa: lotu entzulea loopback-era soilik

Jarri sare, metodo eta arau atalak instantziaren konfigurazio aktiboan, adibideko helbideak ordezkatuz. Zerbitzariaren ezarpen guztiak arau-blokeen aurretik doaz:

internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none

client pass {
    from: 127.0.0.1/32 to: 127.0.0.1/32
}

socks pass {
    from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
    command: connect
    protocol: tcp
}

Hau zati bat da, ez paketearen erabiltzaile eta erregistro ezarpenen ordezkoa. Aukeratu erabili gabeko tokiko portu bat eta egiaztatu instantzia dedikatu honek ez duela beste entzulerik, pasabide-arau zabalagorik ez eta kontratua aldatuko lukeen goragoko kate-sarrerarik. Aurreko konfigurazio batek socks pass utzi badu helmuga-mugarik gabe, kendu ezazu ezer probatu aurretik.

Urrats honen atzera egitea instantzia gelditzea da; konfigurazio fitxategia diskoan geratu daiteke atzera egiten duzun bitartean.

2. urratsa: idatzi bi arau, ez bat

Dante-ren konfigurazio erreferentziak zeregin desberdinak ematen dizkie bi arau motari. Bezeroaren arauak loopback entzulearekiko konexioa onartzen du, eta haren helmuga entzulearen helbidea bera da. SOCKS arauak onartutako ostalari eta portura eskatutako hurrengo konexioa baimetzen du. Bat ez datozen eskaerak blokeatu egiten dira lehenespenez, eta horregatik falta den arau bat bide hautsia bezain berdin ikusten da.

Kontuan izan konfigurazio honek nahita ez duena egiten: ez du SOCKS pasahitzik eskatzen. Hori tokiko ostalari fidagarri baterako egokia da, eta ez da erabiltzaile autentifikazioa. Makina horretako beste edozein prozesuk ere erabil dezake loopback. Mantendu urruneko aplikazioaren bere autentifikazioa, eta ez erabili autentifikaziorik gabeko forma hau tokiko erabiltzaile ez-fidagarrientzat edo LANera begira dagoen entzule batentzat.

3. urratsa: egiaztatu bidea iturri egokitik

external irteera iturburu helbide bat hautatzen du; ez du WireGuard biderik instalatzen. Irakurtzeko soilik den kontsulta adibideko iturri eta helmugarako:

ip -4 route get 10.60.0.20 from 10.77.0.2

Exekutatu hori Dante-ren benetako sare izen-espazioan, irekita duzun edozein shell-en ordez. Bideak, WireGuard kidearen hautaketak, urruneko aldeko baimenak eta itzulera-bideak bat egin behar dute iturburu helbide horrekin. Kontsulta arrakastatsua beharrezkoa da eta ez da nahikoa, ez baitu ezer esaten urruneko muturrak eskaera onartzen duen ala ez.

Egin aurre bide lehenetsi bat gehitzeko tentazioari kontsulta arrakastatsua izan dadin. Proxy portua lan-estazio honetan soilik dago; ostalariaren bide lehenetsia aldatzeak hura sortzeko diseinu osoa iraultzen du.

4. urratsa: probatu aurreikusitako identitatearekin

Jabeak instalatutako konfigurazioa baliozkotu eta instantzia bere zerbitzu-kudeatzailearen bidez abiarazi ondoren, eskaera adierazgarri bat hau da:

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/

Honekin: socks5h, Dante-k helmugaren ebazpena egiten du, baina Dante lan-estazio honetan exekutatzen da, beraz ezarpenak ez du DNSa tunelaren urruneko muturrera berak bidaltzen. Dante-k erabiltzen duen ebazle onartuak baimendutako helbidea itzuli behar du izen horretarako. Proxyrik gabeko zerrenda hutsak oinordetzan jasotako salbuespen bat isilean SOCKS saihesteko eragozten du.

Mantendu HTTPS ostalari-izenaren eta ziurtagiriaren baliozkotzea proban, gero ikuskatu benetako entzulea eta egiaztatu kontratuaren bi erdiak: baimendutako eskaerak arrakasta du eta baztertutako helmuga batek huts egiten du. Egiaztatu, halaber, onartzen ez diren birbidaltze-komandoek ukatuta jarraitzen dutela, zati honek SOCKS CONNECT komandoa onartzen baitu TCP gainean, eta ez UDP edo gailu osoko tunel orokor baten antzeko ezer.

5. urratsa: erabaki zer gertatzen den tunela erortzen denean

Probatu tunel-galtzea eta instantziaren berrabiaraztea hau produkzioa dela esan aurretik. WireGuard-en ondoren Dante abiarazten duen gainbegirale batek ez du fail-closed bideratzerik sortzen, ez eta fail-closed DNSik ere; biak sarearen jabearen bidez ezarri behar dira. Behatu zer egiten duen aplikazioak tunela behera dagoenean: errore garbi bat emaitza ona da, ebazle publiko batera isilka erortzea ez.

Koordinatu eguneratzeak lotutako tunel helbidea aldatzen bada, external berari lotuta baitago. Konponbidea beharrezkoa ez denean, erretiratu instantzia hau eta aplikazioaren proxy ezarpena elkarrekin, eta utzi WireGuard bidea haren jabe denari.

Erlazionatutako artikuluak