Tento návod dáva aplikácii, ktorá rozumie proxy, prístup k existujúcej ceste WireGuard bez zverejnenia proxy portu na serveri VPN alebo na internete. Démon SOCKS poskytuje rozhranie aplikácie, WireGuard poskytuje už schválenú IP cestu a ani jeden z nich za vás neoveruje používateľa. Každý krok nižšie vytvára niečo, čo môžete skontrolovať, a každý má návrat: zastavte inštanciu, odoberte pravidlo alebo zrušte nastavenie proxy v aplikácii. Nič tu nemení predvolenú trasu hostiteľa.

Príklad predpokladá, že Dante 1.4.x je nainštalovaný ako vyhradená, spravovaná inštancia na dôveryhodnej linuxovej pracovnej stanici, so servisným účtom a konfiguráciou protokolovania z balíka ponechanými na mieste. Pracovná stanica vlastní 10.77.0.2 na svojom rozhraní WireGuard, dosahuje 10.60.0.20:443 cez tento tunel a správny názov služby je app.corp.example.

Krok 1: naväžte poslucháč iba na loopback

Vložte sekcie siete, metódy a pravidiel do aktívnej konfigurácie inštancie a nahraďte ukážkové adresy. Všetky nastavenia servera idú pred blokmi pravidiel:

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
}

Toto je fragment, nie náhrada používateľských a logovacích nastavení balíka. Vyberte nepoužívaný lokálny port a potvrďte, že táto vyhradená inštancia nemá iných poslucháčov, žiadne širšie pravidlá priepustnosti ani záznamy nadradeného reťazenia, ktoré by zmenili kontrakt. Ak predchádzajúca konfigurácia ponechala socks pass bez obmedzenia cieľa, odstráňte ho pred akýmkoľvek testovaním.

Návratom pre tento krok je zastavenie inštancie; konfiguračný súbor môže zostať na disku, kým ho vraciate.

Krok 2: napíšte dve pravidlá, nie jedno

Dantov referenčný sprievodca konfiguráciou dáva obom typom pravidiel rôzne úlohy. Klientske pravidlo pripúšťa spojenie s poslucháčom na loopbacku a jeho cieľom je adresa samotného poslucháča. Pravidlo SOCKS povoľuje požadované nadväzujúce spojenie so schváleným hostiteľom a portom. Nezodpovedajúce požiadavky sa predvolene blokujú, a preto chýbajúce pravidlo vyzerá rovnako ako rozbitá trasa.

Všimnite si, čo táto konfigurácia zámerne nerobí: nevyžaduje žiadne heslo SOCKS. To sa hodí pre dôveryhodného lokálneho hostiteľa a nie je to overovanie používateľa. Akýkoľvek iný proces na tom stroji môže loopback používať tiež. Ponechajte vlastné overovanie vzdialenej aplikácie a tento neoverený tvar znova nepoužívajte pre nedôveryhodných lokálnych používateľov ani pre poslucháča obráteného do LAN.

Krok 3: overte trasu zo správneho zdroja

external vyberá odchádzajúcu zdrojovú adresu; neinštaluje trasu WireGuard. Vyhľadanie iba na čítanie pre ukážkový zdroj a cieľ:

ip -4 route get 10.60.0.20 from 10.77.0.2

Spustite to v skutočnom sieťovom mennom priestore Danta, nie v akomkoľvek náhodne otvorenom shelli. Trasa, výber partnera WireGuard, oprávnenie na vzdialenej strane a spiatočná cesta musia všetky zodpovedať tej zdrojovej adrese. Úspešné vyhľadanie je nutné, ale nie postačujúce, pretože nič nehovorí o tom, či vzdialený koniec požiadavku prijme.

Odolajte pokušeniu pridať predvolenú trasu, aby vyhľadanie uspelo. Proxy port existuje len na tejto pracovnej stanici; zmena predvolenej trasy hostiteľa, aby ste ho vytvorili, obracia celý návrh naruby.

Krok 4: testujte so zamýšľanou identitou

Keď vlastník overí nainštalovanú konfiguráciu a spustí inštanciu cez svojho správcu služieb, ilustratívna požiadavka je:

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

S socks5h vykonáva Dante rozlíšenie cieľa, ale Dante beží na tejto pracovnej stanici, takže nastavenie samo neposiela DNS na vzdialený koniec tunela. Schválený resolver, ktorý Dante používa, musí pre tento názov vrátiť povolenú adresu. Prázdny zoznam bez proxy bráni zdedenej výnimke potichu obísť SOCKS.

V teste zachovajte overovanie názvu hostiteľa a certifikátu HTTPS, potom skontrolujte skutočného poslucháča a potvrďte obe polovice kontraktu: povolená požiadavka uspeje a vylúčený cieľ zlyhá. Overte aj to, že nepodporované príkazy preposielania zostávajú zamietnuté, pretože tento fragment povoľuje príkaz SOCKS CONNECT cez TCP a nič podobné všeobecnému UDP alebo tunelu celého zariadenia.

Krok 5: rozhodnite, čo sa stane, keď tunel spadne

Otestujte stratu tunela a reštart inštancie, kým to nazvete produkciou. Supervízor, ktorý spúšťa Danta po WireGuarde, nevytvára fail-closed smerovanie a nevytvára ani fail-closed DNS; oboje musí byť vynútené cez vlastníka siete. Sledujte, čo aplikácia robí, keď je tunel mimo prevádzky: čistá chyba je dobrý výsledok, tichý návrat k verejnému resolveru nie.

Koordinujte aktualizácie, ak sa zviazaná adresa tunela zmení, pretože external je na ňu pripútaný. Keď usporiadanie už nie je potrebné, vyraďte túto inštanciu a nastavenie proxy v aplikácii spoločne a cestu WireGuard ponechajte tomu, kto ju vlastní.

Súvisiace články