Dante SOCKS oo ku yaal loopback oo loogu talagalay adeeg HTTPS oo kaliya WireGuard
Ku xir dhegeyste SOCKS oo gaar ah loopback oo ogolow hal TCP goob. Kala hayso isha bixista ee Dante, waddada kernel, DNS iyo siyaasadda lumista tunnel-ka.
Buugan waxa uu siinayaa codsiga proxy-ga yaqaan gelitaan waddada WireGuard ee jirta isaga oo aan daabicin deked proxy ah serverka VPN ama internetka. SOCKS daemon-ku waxa uu bixiyaa interface-ka codsiga, WireGuard waxa uu bixiyaa waddada IP ee hore loo ansixiyay, mana jiro mid ka mid ah oo ku xaqiijiya isticmaalaha adiga. Tallaabo kasta oo hoose waxa ay soo saartaa wax aad baari karto, mid kastana waxa uu leeyahay dib-u-noqod: jooji instance-ka, ka saar qaanuunka ama ka saar dejinta proxy ee codsiga. Waxba halkan ma beddelo waddada caadiga ah ee host-ka.
Tusaalahu waxa uu u malaynayaa in Dante 1.4.x loo rakibay instance gaar ah oo la maareeyo oo ku yaal shaqo-joog Linux la aamini karo, iyada oo koontada adeegga iyo qaabeynta diiwaangelinta ee xidhmada lagu reebay meeshooda. Shaqo-jooggu waxa uu leeyahay 10.77.0.2 interface-kiisa WireGuard, waxa uu gaadhaa 10.60.0.20:443 isaga oo maraya tunnel-kaas, magaca saxda ah ee adeegguna waa app.corp.example.
Tallaabo 1: ku xir dhegeystaha loopback oo kaliya
Geli qaybaha shabakadda, habka iyo qaanuunada qaabeynta firfircoon ee instance-ka, adiga oo beddelaya cinwaannada tusaalaha. Dhammaan dejinta serverka waxa ay ka horreeyaan blocks-ka qaanuunada:
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
}Kani waa qayb, ma aha beddelka dejinta isticmaalaha iyo diiwaangelinta ee xidhmada. Dooro deked maxalli ah oo aan la isticmaalin, oo xaqiiji in instance-kan gaarka ah uusan lahayn dhegeysteyaal kale, qaanuunno maritaan ballaadhan iyo gelitaanno silsilad sare ah oo beddeli lahaa heshiiska. Haddii qaabeyn hore ay ka tagtay socks pass isaga oo aan lahayn xaddidaad goob, ka saar ka hor inta aadan wax tijaabin.
Dib-u-noqodka tallaabadan waa joojinta instance-ka; faylka qaabeynta waxa uu ku sii jiri karaa disk-ka inta aad dib u soo celinayso.
Tallaabo 2: qor laba qaanuun, ma aha hal
Dante tixraaca qaabeynta waxa uu siinayaa labada nooc ee qaanuunada hawlo kala duwan. Qaanuunka macmiilku waxa uu ogolaadaa xidhiidhka dhegeystaha loopback, goobtiisuna waa cinwaanka dhegeystaha laftiisa. Qaanuunka SOCKS waxa uu ogolaadaa xidhiidhka xiga ee la codsaday host iyo deked la ansixiyay. Codsiga aan iswaafajin waa la xidhaa si caadi ah, taasina waa sababta qaanuun maqan uu u eg yahay waddo jabtay.
Ogow waxa qaabeyntan si ula kac ah aysan samayn: ma codsato password SOCKS. Taasi waxa ay ku habboon tahay host maxalli ah oo la aamini karo, mana aha xaqiijin isticmaale. Nidaam kale oo ku yaal mishiinkaas ayaa sidoo kale isticmaali kara loopback. Hayso xaqiijinta codsiga fog ee u gaar ah, oo ha dib u isticmaalin qaabkan aan xaqiijin lahayn isticmaalayaal maxalli ah oo aan la aamini karin ama dhegeyste u jeedda LAN.
Tallaabo 3: xaqiiji waddada isha saxda ah
external waxa uu dooranayaa cinwaan isha bixista; ma rakibo waddo WireGuard. Raadin akhris-kaliya oo loogu talagalay isha iyo goobta tusaalaha:
ip -4 route get 10.60.0.20 from 10.77.0.2Ku socodsii tan namespace-ka shabakadda dhabta ah ee Dante, ma aha shell kasta oo aad furan haysato. Waddada, doorashada lammaanaha WireGuard, ogolaanshaha dhinaca fog iyo waddada soo noqodka dhammaantood waa in ay la jaanqaadaan cinwaanka ishaas. Raadin guulaysatay waa lagama maarmaan oo kuma filna, sababtoo ah waxba ma sheegto ku saabsan in cidhifka fog uu aqbalo codsiga.
Ka hortag damaca ah in aad ku darto waddo caadi ah si raadintu u guulaysato. Dekedda proxy waxa ay ku jirtaa shaqo-jooggan oo kaliya; beddelka waddada caadiga ah ee host-ka si loo abuuro waxa uu rogrogaa naqshadda oo dhan.
Tallaabo 4: ku tijaabi aqoonsiga loogu talagalay
Ka dib marka milkiiluhu xaqiijiyo qaabeynta la rakibay oo uu instance-ka ku bilaabo maareeyaha adeeggiisa, codsi tusaale ah waa:
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/Iyada oo la socks5h, Dante waxa uu sameeyaa xallinta goobta, laakiin Dante waxa uu ku shaqeeyaa shaqo-jooggan, sidaas darteed dejintu keligeed uma dirto DNS cidhifka fog ee tunnel-ka. Xalliyaha la ansixiyay ee Dante isticmaalo waa in uu soo celiyo cinwaanka la ogol yahay magacaas. Liiska madhan ee aan proxy lahayn waxa uu ka hortagaa in ka-reexan dhaxal ah uu si aamusan uga gudbo SOCKS.
Ku hay xaqiijinta magaca host iyo shahaadada HTTPS tijaabada, kadib baar dhegeystaha dhabta ah oo xaqiiji labada qaybood ee heshiiska: codsiga la ogol yahay waa guulaystaa oo goob la reebay waa guuldarraystaa. Sidoo kale xaqiiji in amarrada gudbinta aan la taageerayn ay sii ahaanayaan diidmo, sababtoo ah qaybtan waxa ay ogolaataa amarka SOCKS CONNECT TCP, mana ogolaato wax u eg tunnel UDP guud ama qalabka oo dhan.
Tallaabo 5: go'aanso waxa dhacaya marka tunnel-ku dhaco
Tijaabi lumista tunnel-ka iyo dib-u-bilaabista instance-ka ka hor inta aadan tan ugu yeedhin waxsoosaar. Kormeeraha bilaaba Dante ka dib WireGuard ma abuuro marin fail-closed, mana abuuro DNS fail-closed; labadaba waa in lagu xoojiyo milkiilaha shabakadda. Fiiri waxa codsigu sameeyo marka tunnel-ku hoos yahay: khalad nadiif ah waa natiijo wanaagsan, ku dhicid aamusan xalliyaha guud ma aha.
Isku duwo cusboonaysiinta haddii cinwaanka tunnel-ka xidhan uu is beddelo, sababtoo ah external waxa uu ku dheggan yahay. Marka habaynta aan loo baahnayn, ka fariiso instance-kan iyo dejinta proxy ee codsiga wada, oo u dhiib waddada WireGuard cid kasta oo iska leh.