Ìrìn jade ti awọn blue

Ìrìn jade ti awọn blue

Bii Spotify ṣe le ṣe iranlọwọ fun ọ lati ka awọn daemons, RFCs, awọn nẹtiwọọki ati igbega orisun ṣiṣi. Tabi ohun ti o ṣẹlẹ ti o ko ba le sanwo, ṣugbọn o fẹ gaan diẹ ninu awọn ẹbun Ere.

Начало

Ni ọjọ kẹta, o ṣe akiyesi pe Spotify n ṣe afihan awọn ipolowo ti o da lori orilẹ-ede ti adiresi IP naa. Wọ́n tún ṣàkíyèsí pé láwọn orílẹ̀-èdè kan, a kì í kó ìpolówó ọjà wọlé rárá. Fun apẹẹrẹ, ni Republic of Belarus. Ati lẹhinna ero “o wuyi” ti wa ni gige lati mu ipolowo kuro ni akọọlẹ ti kii ṣe Ere.

Diẹ diẹ nipa Spotify

Ni gbogbogbo, Spotify ni eto imulo ajeji. Arakunrin wa ni lati ni ayidayida lẹwa lati ra Ere: yi ipo pada ni profaili rẹ si okeokun, wa kaadi ẹbun ti o dara ti o le san nikan fun PayPal, eyiti o n ṣe iyalẹnu laipẹ ati pe o fẹ ọpọlọpọ awọn iwe aṣẹ. Ni gbogbogbo, o tun jẹ ìrìn, ṣugbọn ti aṣẹ ti o yatọ. Botilẹjẹpe ọpọlọpọ eniyan ṣe eyi nitori ẹya alagbeka, Emi ko nifẹ ninu rẹ. Nitorinaa, ohun gbogbo ti o wa ni isalẹ yoo ṣe iranlọwọ nikan ni ọran ti ẹya tabili tabili. Jubẹlọ, nibẹ ni yio je ko si imugboroosi ti awọn iṣẹ. O kan gige diẹ ninu awọn afikun.

Kilode ti o jẹ idiju?

Ati pe Mo ro bẹ nigbati o forukọsilẹ awọn ibọsẹ-aṣoju data ninu atunto Spotify. Iṣoro naa ti jade lati jẹ pe ijẹrisi ni awọn ibọsẹ nipa lilo iwọle ati ọrọ igbaniwọle ko ṣiṣẹ. Pẹlupẹlu, awọn olupilẹṣẹ nigbagbogbo n ṣe nkan ni ayika aṣoju: boya gbigba laaye, lẹhinna ni idinamọ, tabi fifọ, eyiti o fun ni dide si gbogbo awọn panẹli ti awọn ijiroro lori aaye ita.

O ti pinnu lati ma gbẹkẹle awọn iṣẹ riru ati lati wa nkan diẹ ti o gbẹkẹle ati ti o nifẹ.

Ibikan nibi oluka gbọdọ beere: kilode ti o ko gba ssh pẹlu bọtini kan -D ati pe iyẹn ni ipari rẹ? Ati, ni gbogbogbo, oun yoo jẹ ẹtọ. Ṣugbọn, ni akọkọ, eyi tun nilo lati jẹ ẹmi-eṣu ati ṣe awọn ọrẹ pẹlu autossh, ki o má ba ronu nipa awọn asopọ ti o ya. Ati keji: o rọrun pupọ ati alaidun.

Ni eto

Gẹgẹbi igbagbogbo, jẹ ki a lọ lati osi si otun, oke si isalẹ ki a ṣe apejuwe ohun gbogbo ti a nilo lati ṣe imuse ero “rọrun” wa.

Ni akọkọ o nilo aṣoju kan

Ati pe ọpọlọpọ awọn ọna yiyan wa ni ẹẹkan:

  • o le kan lọ mu lati awọn atokọ aṣoju ṣiṣi. Olowo poku (tabi dipo fun ohunkohun), ṣugbọn ko ni igbẹkẹle rara ati igbesi aye iru awọn aṣoju bẹẹ duro si odo. Nitorinaa, yoo jẹ pataki lati wa / kọ parser fun awọn atokọ aṣoju, ṣe àlẹmọ wọn nipasẹ iru ti o fẹ ati orilẹ-ede, ati ibeere ti aropo aṣoju ti o rii ni Spotify wa ni sisi (daradara, boya nipasẹ HTTP_PROXY gbe ati ṣẹda apẹrẹ aṣa fun alakomeji ki gbogbo awọn ijabọ miiran ko firanṣẹ sibẹ).
  • O le ra aṣoju ti o jọra ati fi ara rẹ pamọ lati ọpọlọpọ awọn iṣoro ti a ṣalaye loke. Ṣugbọn ni idiyele aṣoju kan, o le ra Ere lẹsẹkẹsẹ lori Spotify, ati pe eyi ko wulo fun iṣẹ-ṣiṣe atilẹba.
  • Gbe tirẹ ga. Bi o ṣe le sọ, eyi ni yiyan wa.

Nitootọ nipasẹ aye o le tan pe o ni ọrẹ kan pẹlu olupin ni Orilẹ-ede Belarus tabi orilẹ-ede kekere miiran. O nilo lati lo eyi ki o yi aṣoju ti o fẹ jade lori rẹ. Awọn olutọpa pataki le ni akoonu pẹlu ọrẹ kan pẹlu olulana lori DD-WRT. tabi iru software. Sugbon nibe rẹ iyanu aye ati pe aye yii ni kedere ko baamu si ilana itan yii.

Nitorinaa, awọn aṣayan wa: Squid - kii ṣe iwunilori, ati pe Emi ko fẹ aṣoju HTTP, ọpọlọpọ ti ilana yii ti wa ni ayika. Ati ni agbegbe awọn SOCKS ko si ohun ti o ni oye ayafi Dante ko ti firanṣẹ sibẹsibẹ. Nitorina, jẹ ki a gba.

Maṣe duro fun itọnisọna Dante lori fifi sori ẹrọ ati tunto. Oun o kan googling ati ki o jẹ ko ti pato anfani. Ni awọn kere iṣeto ni o nilo lati jabọ ni gbogbo ona ti client pass, socks pass, forukọsilẹ awọn atọkun tọ ati maṣe gbagbe lati ṣafikun socksmethod: username. Ni fọọmu yii, fun ijẹrisi, aami-iwọle yoo gba lati ọdọ awọn olumulo eto. Ati apakan nipa aabo: idinamọ iwọle si localhost, diwọn awọn olumulo, ati bẹbẹ lọ - eyi jẹ ẹni kọọkan, da lori paranoia ti ara ẹni.

Ranṣẹ aṣoju ti nkọju si nẹtiwọki

Ere naa wa ni awọn iṣe meji.

Ṣiṣe ọkan

A ti ṣeto aṣoju naa, ni bayi a nilo lati wọle si lati oju opo wẹẹbu agbaye. Ti o ba ni ẹrọ pẹlu IP funfun ni orilẹ-ede ti o fẹ, lẹhinna o le foju aaye yii lailewu. A ko ni ọkan (a, bi a ti sọ loke, ti gbalejo ni awọn ile awọn ọrẹ) ati IP funfun ti o sunmọ wa ni ibikan ni Germany, nitorina a yoo ṣe iwadi awọn nẹtiwọki.

Nitorinaa bẹẹni, oluka akiyesi yoo tun beere: kilode ti o ko gba iṣẹ ti o wa tẹlẹ bii ngrok tabi iru? Ati pe yoo jẹ ẹtọ lẹẹkansi. Ṣugbọn eyi jẹ iṣẹ kan, o tun nilo lati wa ni ẹmi èṣu, o tun le jẹ owo ati ni gbogbogbo kii ṣe ere idaraya. Nitorina, a yoo ṣẹda awọn kẹkẹ lati awọn ohun elo alokuirin.

Iṣẹ-ṣiṣe: aṣoju wa ni ibikan ti o jinna lẹhin NAT, o nilo lati gbele lori ọkan ninu awọn ebute oko oju omi ti VPS ti o ni IP funfun kan ati pe o wa ni eti agbaye.

O jẹ ohun ọgbọn lati ro pe eyi le ṣee yanju boya nipasẹ gbigbe ibudo (eyiti o jẹ imuse nipasẹ eyiti a mẹnuba loke ssh), tabi nipa apapọ hardware sinu nẹtiwọki foju nipasẹ VPN. PẸLU ssh a mọ bi a ṣe le ṣiṣẹ, autossh O jẹ alaidun lati mu, nitorinaa jẹ ki a mu OpenVPN.

DigitalOcean ni iyanu manul lori ọrọ yii. Emi ko ni nkankan lati fi kun. Ati pe atunto abajade le jẹ ni rọọrun sopọ pẹlu alabara OpenVPN ati systemd. Kan fi sii (konfigi) sinu /etc/openvpn/client/ maṣe gbagbe lati yi itẹsiwaju pada si .conf. Lẹhin iyẹn, fa iṣẹ naa [email protected]maṣe gbagbe lati ṣe fun u enable si yọ pe ohun gbogbo fò lọ.

Nitoribẹẹ, a nilo lati mu eyikeyi atunṣe ti ijabọ si VPN tuntun ti a ṣẹda, nitori a ko fẹ lati dinku iyara lori ẹrọ alabara nipasẹ gbigbe ijabọ nipasẹ idaji rogodo kan.

Ati bẹẹni, a nilo lati forukọsilẹ adiresi IP aimi kan lori olupin VPN fun alabara wa. Eyi yoo nilo diẹ diẹ ninu itan naa. Lati ṣe eyi o nilo lati mu ṣiṣẹ ifconfig-pool-persist, satunkọ ipp.txt, to wa pẹlu OpenVPN ki o si mu client-konfigi-dir ṣiṣẹ, pẹlu satunkọ atunto ti alabara ti o fẹ nipa fifi kun ifconfig-push pẹlu iboju to tọ ati adiresi IP ti o fẹ.

Ṣiṣe meji

Bayi a ni ẹrọ kan lori “nẹtiwọọki” ti o dojukọ Intanẹẹti ati pe a le lo fun awọn idi amotaraeninikan. Eyun, àtúnjúwe apa ti awọn ijabọ nipasẹ o.

Nitorinaa, iṣẹ-ṣiṣe tuntun: o nilo lati pa ijabọ ti o de ni ọkan ninu awọn ebute oko oju omi VPS pẹlu IP funfun kan ki ijabọ yii lọ si nẹtiwọọki foju tuntun ti a ti sopọ ati idahun le pada lati ibẹ.

Solusan: dajudaju iptables! Nigba miiran iwọ yoo ni iru anfaani agbayanu bẹẹ lati ṣe adaṣe pẹlu rẹ?

Iṣeto ti a beere ni a le rii ni kiakia, ni awọn wakati mẹta, ọgọrun awọn ọrọ bura ati ọwọ diẹ ti awọn ara ti o padanu, nitori awọn nẹtiwọki n ṣatunṣe aṣiṣe jẹ ilana pataki kan.

Ni akọkọ, o nilo lati mu atunṣe ijabọ ṣiṣẹ ni ekuro. Nkan yi ni a npe ni ipv4.ip_forward ati pe o ṣiṣẹ ni iyatọ diẹ ti o da lori OS ati oluṣakoso nẹtiwọki.

Ni ẹẹkeji, o nilo lati yan ibudo kan lori VPS ki o fi ipari si gbogbo ijabọ ti n lọ si inu subnet foju kan. Eyi le ṣee ṣe, fun apẹẹrẹ, bii eyi:

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.8.0.2:8080

Nibi a ṣe atunṣe gbogbo ijabọ TCP ti nbọ si ibudo 8080 ti wiwo ita si ẹrọ pẹlu IP 10.8.0.2 ati ibudo 8080 kanna.

Fun awọn ti o fẹ awọn alaye idọti ti iṣẹ naa netfilter, iptables ati afisona ni apapọ, o jẹ Egba pataki lati ronú eyi ni tabi eyi ni.

Nitorinaa, ni bayi awọn apo-iwe wa fo si subnet foju ati… wọn duro sibẹ. Ni deede diẹ sii, idahun lati awọn aṣoju ibọsẹ n fo pada nipasẹ ẹnu-ọna aiyipada lori ẹrọ pẹlu Dante ati olugba silẹ, nitori ninu awọn nẹtiwọọki kii ṣe aṣa lati firanṣẹ ibeere kan si IP kan ati gba esi lati ọdọ miiran. Nitoribẹẹ, a nilo lati tẹsiwaju lati ṣagbe.

Nitorinaa, ni bayi o nilo lati darí gbogbo awọn apo-iwe lati aṣoju pada si subnet foju si VPS pẹlu IP funfun kan. Nibi ipo naa buru diẹ, nitori pe o kan iptables a ko ni ni to, nitori ti a ba ṣe atunṣe adirẹsi ibi-ajo ṣaaju lilọ kiri (PREROUTING), lẹhinna package wa kii yoo fo si Intanẹẹti, ati pe ti a ko ba ṣatunṣe rẹ, package yoo lọ si default gateway. Nitorina, o nilo lati ṣe awọn atẹle: ranti pq mangle, ni ibere lati samisi awọn apo-iwe nipasẹ iptables ki o si fi ipari si wọn ni tabili ipa ọna aṣa ti yoo firanṣẹ wọn si ibiti wọn yoo lọ.

Ki a to Wi ki a to so:

iptables -t mangle -A OUTPUT -p tcp --sport 8080 -j MARK --set-mark 0x80
ip rule add fwmark 0x80 table 80
ip route add default via 10.8.0.1 dev tun0 table 80

A gba ijabọ ti njade, samisi ohun gbogbo ti o fo lati ibudo lori eyiti aṣoju joko (8080 ninu ọran wa), ṣe atunṣe gbogbo awọn ijabọ ti o samisi si tabili itọnisọna pẹlu nọmba 80 (ni gbogbogbo, nọmba naa ko dale lori ohunkohun, a kan fẹ to) and add a single law , ni ibamu si eyiti gbogbo awọn apo-iwe ti o wa ninu tabili yii fo si subnet VPN.

Nla! Bayi awọn apo-iwe fò pada si ọna VPS… ki o ku sibẹ. Nitori VPS ko mọ kini lati ṣe pẹlu wọn. Nitorinaa, ti o ko ba yọ ara rẹ lẹnu, o le nirọrun darí gbogbo awọn ijabọ ti o de lati inu subnet foju pada si Intanẹẹti:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 172.42.1.10

Nibi, ohun gbogbo ti o de lati 10.8.0.0 subnet pẹlu iboju-boju ti 255.255.255.000 ti wa ni ti a we ni orisun-NAT o si fo si awọn aiyipada ni wiwo, eyi ti o ti wa ni tan-si awọn ayelujara. O ṣe pataki lati ṣe akiyesi pe nkan yii yoo ṣiṣẹ nikan ti a ba firanṣẹ siwaju ibudo ni gbangba, iyẹn ni, ibudo ti nwọle lori VPS baamu ibudo ti aṣoju wa. Bibẹẹkọ iwọ yoo ni lati jiya diẹ diẹ sii.

Ibikan ni bayi ohun gbogbo yẹ ki o bẹrẹ ṣiṣẹ. Ati pe o ku diẹ: maṣe gbagbe lati rii daju pe gbogbo awọn atunto iptables и route ko tẹsiwaju lẹhin atunbere. Fun iptables awọn faili pataki wa bi /etc/iptables/rules.v4(ninu ọran ti Ubuntu), ṣugbọn fun awọn ipa ọna ohun gbogbo jẹ diẹ idiju diẹ sii. Mo tì wọn sinu up/down Ṣii awọn iwe afọwọkọ VPN, botilẹjẹpe Mo ro pe wọn le ti ṣe diẹ sii daradara.

Fi ipari si ijabọ lati ohun elo ni aṣoju

Nitorinaa, a ni aṣoju pẹlu ijẹrisi ni orilẹ-ede ti o fẹ, wiwọle nipasẹ adiresi IP funfun aimi kan. Gbogbo awọn ti o ku ni lati lo o ati ki o àtúnjúwe ijabọ lati Spotify nibẹ. Ṣugbọn nuance kan wa, bi a ti sọ loke, ọrọ igbaniwọle-iwọle fun aṣoju ni Spotify ko ṣiṣẹ, nitorinaa a yoo wa bii o ṣe le wa ni ayika rẹ.

Lati bẹrẹ pẹlu, jẹ ki a ranti nipa aṣoju. Nla nkan na, sugbon o-owo bi Elo bi starship ($40). Pẹlu owo yii a le tun ra Ere ati ṣee ṣe pẹlu rẹ. Nitorinaa, a yoo wa diẹ sii ọfẹ ati ṣiṣi awọn analogues lori Mac (bẹẹni, a fẹ lati tẹtisi orin lori Mac). Jẹ ki a ṣawari gbogbo ohun elo kan: isunmọtosi. Ati pe a yoo fi ayọ lọ fun u.

Ṣugbọn ayọ naa yoo jẹ igba diẹ, nitori pe o nilo lati mu ipo yokokoro ṣiṣẹ ati awọn amugbooro ekuro aṣa ni MacOS, faili atunto kan ki o loye pe ọpa yii ni iṣoro kanna bi Spotify: ko ​​le ṣe ijẹrisi nipa lilo wiwọle-ọrọigbaniwọle lori ibọsẹ-aṣoju.

Ibikan ni ayika nibi o to akoko lati ja ati ra Ere kan ... ṣugbọn rara! Jẹ ká gbiyanju lati beere fun o lati wa ni titunse, o ni ìmọ orisun! Jẹ ká ṣe Tiketi. Ati ni idahun a gba itan itanjẹ ọkan nipa bii olutọju nikan ko ni MacBook ati si ọrun apadi pẹlu rẹ, kii ṣe atunṣe.

A yoo tun binu lẹẹkansi. Ṣugbọn lẹhinna a yoo ranti ọdọ wa ati C, tan-an ipo yokokoro ni Dante, ma wà nipasẹ awọn ọgọọgọrun kilobytes ti awọn igi, lọ si RFC1927 Fun alaye nipa ilana SOCKS5, jẹ ki a wo Xcode ki o wa iṣoro naa. O to lati ṣe atunṣe ohun kikọ kan ninu atokọ ti awọn koodu ọna ti alabara nfunni fun ijẹrisi ati pe ohun gbogbo bẹrẹ ṣiṣẹ bi clockwork. A yọ, a gba alakomeji idasilẹ, a ṣe fa ìbéèrè a si lọ sinu Iwọoorun ati ki o lọ si tókàn ojuami.

Ṣe adaṣe rẹ

Ni kete ti Proximac ṣiṣẹ, o nilo lati jẹ ẹmi-eṣu ati gbagbe nipa. Odidi eto ipilẹṣẹ kan wa ti o dara fun eyi, eyiti o rii ni MacOS, eyun ifilọlẹ.

A ri ni kiakia Afowoyi ati pe a loye pe eyi kii ṣe rara systemd ati ki o nibi o jẹ fere ofofo ati xml. Ko si awọn atunto ti o wuyi fun ọ, ko si awọn aṣẹ bii status, restart, daemon-reload. Nikan ogbontarigi irú start-stop, list-grep, unload-load ati ọpọlọpọ awọn siwaju sii oddities. Bibori gbogbo eyi a kọ plist, ikojọpọ. Ko ṣiṣẹ. A ṣe iwadi ọna ti n ṣatunṣe aṣiṣe ẹmi èṣu, ṣatunṣe rẹ, loye ohun ti o wa ENV даже PATH a ko gba eyi ti o ṣe deede, a jiyan, a mu wa wọle (afikun /sbin и /usr/local/bin) ati nikẹhin a ni inudidun pẹlu autostart ati iṣẹ iduroṣinṣin.

Mu jade

Kini abajade? Ọsẹ kan ti ìrìn, zoo kan kunlẹ lati awọn iṣẹ ti o jẹ ọwọn si ọkan ati ṣe ohun ti o nilo rẹ. Imọ diẹ ni awọn agbegbe imọ-ẹrọ ṣiyemeji, orisun ṣiṣi ati ẹrin lori oju rẹ lati inu ero “Mo ṣe!”

PS: eyi kii ṣe ipe fun boycott ti awọn kapitalisimu, fun fifipamọ lori awọn ere-kere tabi fun ẹtan lapapọ, ṣugbọn o kan itọkasi awọn iṣeeṣe ti iwadii ati idagbasoke nibiti, ni gbogbogbo, iwọ ko nireti wọn.

orisun: www.habr.com

Fi ọrọìwòye kun