Pretvaranje laptopa u ruter popularan je način da se riješi pogrešan problem. Prosljeđivanje postoji zato da bi mašina mogla proslijediti pakete čije odredište nije ona sama, i ono nema mišljenje o tome koliko brzo preglednik na istoj mašini učitava stranicu. Dvije putanje izgledaju isto samo zato što obje šalju saobraćaj kroz jedan tunel. Odvojite ih jednom i mnogo savjeta o uključivanju prosljeđivanja ili otvaranju firewall-a ispostavit će se kao opis topologije koju nemate.

Dvije putanje paketa koje sa stola izgledaju identično

Preglednik na laptopu stvara vlastiti zahtjev. Host bira rutu tunela, klijentski proces umotava paket i šalje ga partneru, a odgovor se vraća u aplikaciju. Ništa u tom nizu ne prelazi odluku o prosljeđivanju, jer je ova mašina i izvor i odredište razgovora.

Sad stavite drugi uređaj na namjerno konfigurisan Ethernet segment i učinite laptop njegovim podrazumijevanim prolazom. Taj uređaj započinje zahtjev, laptop prima paket adresiran negdje drugdje, a kernel mora odlučiti da li da ga proslijedi dalje. To je uloga prosljeđivanja i ona dolazi s preduslovima koje klijentska uloga nikad nije trebala: dozvoljena tranzitna putanja, rute na obje strane i povratna putanja koja još radi ako je prevođenje dio dizajna.

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

Šta ip_forward zapravo mijenja

Dokumentacija kernela za IPv4 sysctl opisuje ip_forward kao prekidač koji hostu dozvoljava da prosljeđuje pakete između interfejsa. To nije brza putanja za saobraćaj koji je host sam generisao, i nikakvo čitanje tog parametra ne čini lokalni preglednik bržim. Ako ništa drugo, prosljeđivanje dodaje stanje i politiku mašini koja je prije radila manje posla.

Ista dokumentacija upozorava da promjena vrijednosti vraća druge IPv4 parametre na njihove podrazumijevane vrijednosti za host ili ruter. To prekidač čini konfiguracijskim događajem, a ne probom: podešene vrijednosti mogu se vratiti pod vama, a promjena može biti odgovorna za regresiju koju niko ne bi pomislio pripisati njoj. To također znači da prekidač treba postaviti jednom, namjerno, onaj ko posjeduje ulogu prolaza. Okretanje tog prekidača tokom istrage o usporavanju jedini je slučaj u kojem je nuspojava zagarantovano pobrkana sa simptomom.

Tri firewall pitanja koja nisu isto pitanje

Dozvoliti VPN slušalac, dozvoliti servise koje laptop pokreće i dozvoliti saobraćaju da prolazi kroz laptop tri su odvojena dopuštenja. Prvo omogućava partneru da dođe do demona, drugo izlaže nešto lokalno, a treće pretvara mašinu u tranzit za nekog drugog. Svako ima drugačiji obim, a posljednje je mnogo šire od odgovora koje obična odlazna aplikacija treba.

Kada je određeni tok blokiran, imenujte njegov izvor, odredište, smjer i vlasnika politike prije nego uredite pravilo. Usko pravilo za taj tok je popravka; prihvatanje svega na tunelskom interfejsu je promjena politike koja slučajno uključuje popravku. Preglednik koji nakon toga radi dokazuje da tok radi, a ne da je široko pravilo bilo potrebno.

Mjerite tek kad je putanja ispravna

Mjerite s istim odredištem, istim radnim opterećenjem i uporedivim uslovima, i mijenjajte jednu varijablu odjednom. Test koji spoji promjenu prosljeđivanja, proširenje firewall-a i kopiranu postavku šifre daje broj i nikakvo objašnjenje, jer ništa u njemu ne kaže koja je od tri stvari pomjerila rezultat.

Držite otkaze ruta i rezolvera potpuno izvan razgovora o performansama. Ime koje se sporo razrješava nije problem propusnosti, a prijenos koji stane na jednoj fiksnoj veličini obično je pitanje MTU-a, a ne ograničenje brzine. Zapišite koje ste od te tri stvari zaista primijetili prije nego uporedite bilo kakve brojeve. Inače sljedeći čitalac naslijedi mjerenje koje mjeri pogrešnu stvar i promjenu koju niko ne može opravdati.

Opišite topologiju koju imate, a ne oznaku na klijentu

Laptop koji dijeli svoju vezu, hostuje rutiranu kontejnersku mrežu ili nosi saobraćaj za virtuelnu mašinu jest prolaz, kako god se softver nazivao. Riječ klijent opisuje kako je tunel konfigurisan, a ne da li se paketi prosljeđuju nekome drugom.

Učinite ulogu eksplicitnom u operativnoj proceduri: šta stvara saobraćaj, šta mora proći kroz mašinu i o kojoj od dvije stvari je trenutni zadatak. Uključite ulogu prolaza kada pripada podržanom planu, a ne kao neobjašnjenu prilagodbu brzine primijenjenu na topologiju kojoj nikad nije trebala.

Povezani članci