Tor lest qabel il-VPN: ordna l-bieb tat-tnedija kif suppost
Proċess tor li qed jaħdem mhuwiex trasport. Għatti l-VPN b'sinjal dokumentat ta' klijent lest, imbagħad bil-peer tiegħu stess, u żomm il-mogħdijiet alternattivi separati.
Li tosserva proċess tor u mbagħad tibda l-VPN hija l-aktar mod komuni kif dan l-stack jinbena ħażin. Id-daemon jidher ħafna qabel ma jkun jista' jġorr fluss tal-klijent, u stenna fissa hija rabta tal-ħsieb imlibbsa bħala dipendenza. Il-bieb għandu jkun l-istat li l-komponent li jmiss tassew jeħtieġ. Għaddi mill-erba' passi hawn taħt fl-ordni, u ittratta kull wieħed bħala kundizzjoni separata u mhux bħala dewmien li għandu jiġi aġġustat.
Pass 1: agħżel it-trasport li tassew għandek
Ibda mill-protokoll, għax il-bqija tad-disinn jiddependi minnu. L-interface SOCKS ta' Tor ma timplimentax UDP ASSOCIATE, għalhekk kull ma jinġarr minnha għandu jkun fluss TCP. Profil OpenVPN li juża UDP mhux se jaħdem minn din it-triq, irrispettivament kif inkitbu s-supervisor. Ibdel il-profil għal TCP u kkonferma li l-peer remot jaċċettah qabel ma tmiss il-loġika tat-tnedija.
Imbagħad ikkonferma li l-klijent tiegħek jista' jasal għal proxy SOCKS xejn inqas. OpenVPN 2.6 tiddokumenta għażla socks-proxy għal profili TCP, u klijenti differenti joffru appoġġ differenti għall-proxy. Tnedija li tinjora l-għażla tal-proxy bil-kwiet se tikkonnettja direttament u tidher li qed taħdem, li hija agħar milli tfalli.
Ikteb it-trasport magħżul fir-runbook, għax kull verifika aktar tard tiddependi minnu.
Pass 2: aqra l-fażi bootstrap, mhux il-lista tal-proċessi
Il-protokoll tal-kontroll ta' Tor iwieġeb għal GETINFO status/bootstrap-phase bl-aħħar stat bootstrap, inkluż persentaġġ ta' progress u tag ta' sommarju. Dak it-tweġiba hija utli proprju għax kontrollur jista' jikkonnettja wara li d-daemon ikun diġà lesta l-bootstrap. Supervisor li jisma' biss avvenimenti se jitlef il-każ fejn Tor kien diġà lest qabel ma beda s-supervisor.
Awtorizza l-konnessjoni tal-kontroll kif suppost. Port tal-kontroll huwa interface amministrattiva, u kulħadd li jista' jitkellem miegħu jista' jerġa' jikkonfigura d-daemon. Żommu fuq localhost, żomm l-awtentikazzjoni bil-cookie jew bil-password attiva, u tneħħix waħda minnhom biex tagħmel skript tat-tnedija aktar sempliċi.
Aqra l-fażi darba fit-tnedija, imbagħad abbona għall-avvenimenti tal-progress għall-veduta diretta.
printf 'AUTHENTICATE\r\nGETINFO status/bootstrap-phase\r\nQUIT\r\n' | nc 127.0.0.1 9051
ss -ltn | grep -E '9050|9051'
tor --verify-config -f /etc/tor/torrcTweġiba bi progress 100 u t-tag done tfisser li d-daemon lesta t-tnedija tiegħu stess. Għadha ma tfissirx li teżisti ċirkuwitu użabbli lejn id-destinazzjoni tiegħek.
Pass 3: stenna avveniment taċ-ċirkuwitu tal-klijent
Il-protokoll tal-avvenimenti ta' Tor jiddefinixxi CIRCUIT_ESTABLISHED, li jirrapporta li l-klijent għandu ċirkuwitu li jista' juża. Dak huwa s-sinjal ta' tħejjija li l-bieb tat-trasport irid, għax huwa eqreb lejn il-kapaċità li teħtieġ milli persentaġġ. Abbona għall-avveniment u rreġistra t-tranżizzjoni, sabiex il-log juri meta t-trasport sar użabbli u mhux meta deher il-proċess.
Ittratta l-avveniment bħala permess biex tipprova, mhux bħala garanzija dwar xi destinazzjoni partikolari. Politika tal-ħruġ xorta tista' tirrifjuta l-peer remot, u l-handshake tal-VPN stess xorta jista' jfalli għal raġunijiet li m'għandhom x'jaqsmu xejn ma' Tor.
Żomm iż-żewġ kundizzjonijiet separati fil-kodiċi. Boolean wieħed bl-isem ready se jgħaqqadhom u jagħmel l-inċident li jmiss mhux li jinqara.
Pass 4: għatti l-VPN fuq il-handshake tiegħu stess
Il-VPN għandu l-kundizzjoni ta' tħejjija tiegħu, u hija l-unika waħda li tipprova li t-tunnel tela'. Stenna l-klijent jirrapporta stat konness b'indirizz assenjat, imbagħad iċċekkja li r-rekwiżit tal-proxy baqa' fis-seħħ. Ċiklu ta' tentattivi mill-ġdid li jwarrab l-għażla socks-proxy wara falliment wieħed se jikkonnettja direttament u jgħeleb bil-kwiet id-disinn kollu.
Iddeċiedi x'jiġri meta l-peer ma jkunx jista' jintlaħaq qabel ma jkollok bżonn tkun taf. Tentattiv mill-ġdid limitat bi falliment viżibbli huwa eħħef biex tħaddmu minn ċiklu infinit, u jagħti lis-sistema tal-monitoraġġ xi ħaġa li twissi dwarha. L-istess deċiżjoni tgħodd għat-trasport: jekk Tor jerġa' jinbeda, il-VPN irid jingħalaq u jerġa' jgħaddi mill-bieb u mhux jinżamm jaħdem fuq ċirkuwitu mejjet.
Fl-aħħar, żomm il-politika tal-applikazzjoni stess fis-seħħ waqt li l-VPN ikun mitfi. Supervisor li jistenna kif suppost ma jagħmel xejn biex iżomm proċess mhux relatat milli jibgħat traffiku direttament.
Iċċekkja l-erba' tranżizzjonijiet li trid tgħaddi minnhom
Erba' każijiet ikopru d-disinn: tnedija kiesħa fejn Tor jitla' l-ewwel, supervisor li jingħaqad ma' Tor diġà lest, peer VPN mhux disponibbli, u telf tat-trasport waqt li t-tunnel ikun 'il fuq. Kull wieħed għandu tranżizzjoni mistennija differenti, u kull wieħed jipproduċi linja tal-log differenti jekk il-bieb jinkiteb kif suppost.
Ħaddimhom apposta, wieħed wieħed, u aqra l-bidliet fl-istat u mhux il-lista tal-proċessi.
journalctl -u tor@default -n 30 --no-pager
systemctl status [email protected]
curl -sS --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ipMeta t-trasport jaqa', il-VPN għandu jinżel miegħu fi żmien interval wieħed ta' tentattiv mill-ġdid u mhux jibqa' mdendel b'tunnel skadut. Meta Tor jerġa' lura, il-bieb għandu jerġa' jinfetaħ biss wara l-avveniment taċ-ċirkuwitu, mhux wara t-tnedija tal-proċess. Irreġistra liema kundizzjoni kienet nieqsa f'kull falliment, u l-persuna li jmiss fuq ix-xift mhux se jkollha tirkostruwixxi l-ordni mill-marki tal-ħin.