Å gjere den berbare PC-en om til ein ruter er ein populær måte å løyse det gale problemet på. Vidaresending finst for at ei maskin skal kunne sende vidare pakkar der destinasjonen ikkje er maskina sjølv, og ho har inga meining om kor raskt ein nettlesar på same maskina lastar ei side. Dei to vegane liknar berre fordi begge sender trafikk gjennom ein tunnel. Skil dei ein gong, og ein stor del av råda om å slå på vidaresending eller opne brannmuren viser seg å skildre ein topologi du ikkje har.

To pakkevegar som ser identiske ut frå skrivebordet

Nettlesaren på den berbare PC-en lagar sin eigen førespurnad. Verten vel tunnelruta, klientprosessen pakkar inn pakken og sender han til motparten, og svaret kjem tilbake til programmet. Ingenting i den sekvensen kryssar ei vidaresendingsavgjerd, fordi denne maskina både er kjelda og destinasjonen for samtalen.

Set no ei anna eining på eit medvite konfigurert Ethernet-segment og gjer den berbare PC-en til standardgatewayen hennar. Den eininga startar førespurnaden, den berbare PC-en tek imot ein pakke adressert ein annan stad, og kjernen må avgjere om han skal sendast vidare. Det er vidaresendingsrolla, og ho kjem med føresetnader som klientrolla aldri trong: ein tillaten transitveg, ruter på begge sider og ein returveg som framleis verkar om omsetjing er ein del av designet.

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

Kva ip_forward faktisk endrar

IPv4 sysctl-dokumentasjonen til kjernen skildrar ip_forward som brytaren som lèt ein vert sende pakkar vidare mellom grensesnitt. Det er ikkje ein snarveg for trafikk verten sjølv har generert, og inga lesing av den parameteren gjer ein lokal nettlesar raskare. Om noko legg vidaresending til tilstand og policy på ei maskin som før gjorde mindre arbeid.

Den same dokumentasjonen åtvarar om at endring av verdien set andre IPv4-parameter tilbake til verts- eller rutarstandardane. Det gjer brytaren til ei konfigureringshending snarare enn ei prøve: finjusterte innstillingar kan rulle tilbake under deg, og endringa kan vere ansvarleg for ein regresjon som ingen ville tenkje på å tilskrive henne. Det tyder òg at brytaren bør setjast éin gong, medvite, av den som eig gateway-rolla. Å vippe han under ei gransking av tregleik er det einaste tilfellet der biverknaden garantert vert forveksla med symptomet.

Tre brannmursspørsmål som ikkje er det same spørsmålet

Å tillate ein VPN-lyttar, å tillate tenestene den berbare PC-en køyrer, og å tillate trafikk å passere gjennom den berbare PC-en er tre separate løyve. Den første lèt ein motpart nå ein daemon, den andre eksponerer noko lokalt, og den tredje gjer maskina til transitt for nokon andre. Kvar har eit anna omfang, og den siste er langt breiare enn svara ein vanleg utgåande applikasjon treng.

Når ein bestemt straum er blokkert, nemn kjelda, destinasjonen, retninga og policyeigaren før du redigerer ei regel. Ei smal regel for den straumen er ei retting; å akseptere alt på tunnelgrensesnittet er ei policyendring som tilfeldigvis inneheld rettinga. Ein nettlesar som verkar etterpå beviser at straumen verkar, ikkje at den breie regelen var nødvendig.

Mål først når vegen er rett

Mål med same destinasjon, same arbeidslast og samanliknbare tilhøve, og endre éin variabel om gongen. Ein test som samlar ei vidaresendingsendring, ei utviding av brannmuren og ei kopiert chifferinnstilling gjev eit tal og inga forklaring, fordi ingenting i han fortel kva av dei tre som flytta resultatet.

Hald rute- og løysarfeil heilt utanfor ytingssamtalen. Eit namn som vert løyst sakte er ikkje eit gjennomstrøymingsproblem, og ei overføring som stoppar ved éin fast storleik er vanlegvis eit MTU-spørsmål og ikkje ei hastigheitsgrense. Skriv ned kva av dei tre du faktisk såg før du samanliknar nokon tal. Elles arvar neste lesar ei måling som måler det gale og ei endring ingen kan grunngje.

Skildre topologien du har, ikkje etiketten på klienten

Ein berbar PC som deler tilkoplinga si, er vert for eit ruta containarnettverk eller ber trafikk for ei virtuell maskin, er ein gateway, kva programvara enn kallar seg sjølv. Ordet klient skildrar korleis tunnelen er konfigurert, ikkje om pakkar vert sende vidare til nokon andre.

Gjer rolla eksplisitt i driftsprosedyren: kva som skapar trafikk, kva som må passere gjennom maskina, og kva av dei to den aktuelle oppgåva handlar om. Slå på gateway-rolla når ho høyrer til den støtta planen, ikkje som ei uforklart hastigheitsjustering brukt på ein topologi som aldri trong ein.

Relaterte artiklar