Nešiojamojo kompiuterio pavertimas maršrutizatoriumi yra populiarus būdas spręsti ne tą problemą. Peradresavimas egzistuoja tam, kad mašina galėtų perduoti paketus, kurių paskirties vieta yra ne ji pati, ir jis neturi nuomonės apie tai, kaip greitai toje pačioje mašinoje esanti naršyklė įkelia puslapį. Du keliai atrodo vienodi tik todėl, kad abu siunčia srautą per vieną tunelį. Atskirkite juos vieną kartą ir didelė dalis patarimų apie peradresavimo įjungimą ar ugniasienės atidarymą pasirodys aprašanti topologiją, kurios neturite.

Du paketų keliai, kurie nuo stalo atrodo vienodai

Nešiojamojo kompiuterio naršyklė sukuria savo užklausą. Hostas parenka tunelio maršrutą, kliento procesas apgaubia paketą ir nusiunčia jį partneriui, o atsakymas grįžta į programą. Niekas toje sekoje neperžengia peradresavimo sprendimo, nes ši mašina yra ir pokalbio šaltinis, ir paskirties vieta.

Dabar padėkite kitą įrenginį į sąmoningai sukonfigūruotą Ethernet segmentą ir padarykite nešiojamąjį kompiuterį jo numatytuoju šliuzu. Tas įrenginys pradeda užklausą, nešiojamasis kompiuteris gauna kitur adresuotą paketą, o branduolys turi nuspręsti, ar jį perduoti toliau. Tai peradresavimo vaidmuo, ir jis ateina su prielaidomis, kurių kliento vaidmeniui niekada nereikėjo: leidžiamas tranzito kelias, maršrutai abiejose pusėse ir grįžimo kelias, kuris vis dar veikia, jei vertimas yra dizaino dalis.

RoleWho originates the trafficWhat has to be true
Client onlyThe laptop itselfTunnel route, working resolver, supported profile
GatewayAnother deviceForwarding enabled, permitted transit, routes both ways, return-path decision

Ką iš tikrųjų keičia ip_forward

Branduolio IPv4 sysctl dokumentacija aprašo ip_forward kaip jungiklį, leidžiantį hostui perduoti paketus tarp sąsajų. Tai nėra greitas kelias srautui, kurį hostas pats sukūrė, ir joks to parametro skaitymas nepadaro vietinės naršyklės greitesnės. Jei jau, peradresavimas prideda būsenos ir politikos mašinai, kuri anksčiau dirbo mažiau.

Ta pati dokumentacija įspėja, kad pakeitus reikšmę kiti IPv4 parametrai grąžinami į hosto ar maršrutizatoriaus numatytąsias reikšmes. Tai paverčia jungiklį konfigūracijos įvykiu, o ne bandymu: suderinti nustatymai gali grįžti po jūsų kojomis, o pakeitimas gali būti atsakingas už regresiją, kurios niekas nepagalvotų jam priskirti. Tai taip pat reiškia, kad jungiklį reikia nustatyti vieną kartą, sąmoningai, tam, kam priklauso šliuzo vaidmuo. Jo perjungimas tiriant sulėtėjimą yra vienintelis atvejis, kai šalutinis poveikis garantuotai supainiojamas su simptomu.

Trys ugniasienės klausimai, kurie nėra tas pats klausimas

Leisti VPN klausytoją, leisti paslaugas, kurias vykdo nešiojamasis kompiuteris, ir leisti srautui praeiti per nešiojamąjį kompiuterį yra trys atskiri leidimai. Pirmasis leidžia partneriui pasiekti demoną, antrasis atskleidžia kažką vietinio, o trečiasis paverčia mašiną tranzitu kam nors kitam. Kiekvienas turi skirtingą apimtį, o paskutinis yra daug platesnis nei atsakymai, kurių reikia įprastai išeinančiai programai.

Kai konkretus srautas užblokuotas, įvardykite jo šaltinį, paskirties vietą, kryptį ir politikos savininką prieš taisydami taisyklę. Siaura taisyklė tam srautui yra pataisymas; visko priėmimas tunelio sąsajoje yra politikos pakeitimas, kuris atsitiktinai apima pataisymą. Naršyklė, kuri po to veikia, įrodo, kad srautas veikia, o ne kad plačios taisyklės reikėjo.

Matuokite tik tada, kai kelias teisingas

Matuokite su ta pačia paskirties vieta, tuo pačiu darbo krūviu ir palyginamomis sąlygomis, ir keiskite po vieną kintamąjį. Testas, kuris sujungia peradresavimo pakeitimą, ugniasienės išplėtimą ir nukopijuotą šifravimo nustatymą, duoda skaičių ir jokio paaiškinimo, nes niekas jame nepasako, kuri iš trijų dalykų pajudino rezultatą.

Laikykite maršrutų ir sprendiklio gedimus visiškai už našumo pokalbio ribų. Lėtai išsprendžiamas vardas nėra pralaidumo problema, o viename fiksuotame dydyje sustojantis perdavimas paprastai yra MTU klausimas, o ne greičio riba. Užrašykite, kurį iš šių trijų dalykų tikrai pastebėjote, prieš lygindami bet kokius skaičius. Priešingu atveju kitas skaitytojas paveldi matavimą, kuris matuoja ne tą dalyką, ir pakeitimą, kurio niekas negali pagrįsti.

Aprašykite topologiją, kurią turite, o ne etiketę ant kliento

Nešiojamasis kompiuteris, kuris dalijasi savo ryšiu, talpina maršrutizuotą konteinerių tinklą arba neša srautą virtualiajai mašinai, yra šliuzas, kad ir kaip programinė įranga save vadintų. Žodis klientas aprašo, kaip sukonfigūruotas tunelis, o ne tai, ar paketai perduodami kam nors kitam.

Padarykite vaidmenį aiškų eksploatavimo vadove: kas sukuria srautą, kas turi praeiti per mašiną ir apie kurį iš dviejų yra dabartinė užduotis. Įjunkite šliuzo vaidmenį, kai jis priklauso palaikomam planui, o ne kaip nepaaiškintas greičio koregavimas, taikomas topologijai, kuriai jo niekada nereikėjo.

Susiję straipsniai