Kwa nini net.ipv4.conf.default.forwarding haigusi tun0
default.forwarding hupanda tu violesura vipya, si handaki inayotumika. Linganisha ip_forward, kiolezo na violesura katika namespace inayoimiliki.
Uliweka net.ipv4.conf.default.forwarding=1, ukaanzisha VPN upya, na handaki bado inatupa pakiti ambazo lango linapaswa kuzielekeza. Mpangilio unaonekana sawa katika faili, na violesura bado vinaripoti kuwa upelekaji umezimwa. Hakuna kilichovunjika: ulibadilisha thamani ambayo violesura vijavyo vitarithi, si ile ambayo handaki inayotumika inatumia.
Pitia hili kwenye mwenyeji anayemiliki handaki, katika namespace ya mtandao ambako handaki ipo kweli. Kontena au namespace ya mtandao inaweza kushikilia violesura wakati mwenyeji akionyesha namba nyingine.
Soma thamani tatu pamoja
Anza kwa kulinganisha swichi ya lango zima, kiolezo cha violesura vipya na violesura unayojali. Badilisha tun0 na violesura halisi vya kuingia, na soma pia violesura vya kurudi, kwa sababu upelekaji hupimwa mahali ambapo pakiti inafika.
sysctl net.ipv4.ip_forward
sysctl net.ipv4.conf.default.forwarding
sysctl net.ipv4.conf.tun0.forwardingMatokeo ya kawaida ni ip_forward = 0, default.forwarding = 1 na tun0.forwarding = 0. Mbili za kwanza hazikubaliani kuhusu jukumu la mwenyeji, na ya tatu inaonyesha kile violesura hufanya kwa kweli. Mchanganyiko huo unaendana na mwenyeji ambaye hakuwahi kusanidiwa kama kielekezi, bali alipewa thamani ya kiolezo tu. Namba tatu hazipingani; zinajibu maswali matatu tofauti. Kuandika thamani ya kiolezo pia hakuamui jukumu la mwenyeji.
Kwa nini swichi ya kimataifa ndiyo inayosogea
net.ipv4.ip_forward ni udhibiti wa lango zima. Kuibadilisha husasisha mipangilio ya upelekaji kwa kila violesura kama sehemu ya operesheni hiyo hiyo, ndiyo sababu uandishi mmoja unaweza kufanya handaki iliyopo ianze kupeleka. default.forwarding hupanda tu violesura vinavyoanzishwa baadaye, kwa hiyo handaki iliyokuwepo tayari huhifadhi thamani iliyozaliwa nayo.
Nyaraka za kernel zinaashiria ip_forward kama maalum kwa sababu inayohusiana: kuibadilisha hurejesha kundi la vigezo vingine vya IPv4 kwenye chaguo-msingi za mwenyeji au kielekezi. Hilo huifanya kuwa chombo butu. Kuiweka mara moja kama sehemu ya kuanzisha jukumu la lango ni sawa; kuibadilisha mara kwa mara kama hila ya utatuzi kunaweza kuandika upya kwa utulivu usanidi uliokuchukua muda kuurekebisha.
Thamani kwa kila violesura pia zipo kwa sababu. Lango linalosimamiwa kwa makusudi linaweza kuweka upelekaji umezimwa kwenye violesura ambavyo havipaswi kamwe kuelekeza, hata wakati mwenyeji anapeleka mahali pengine. Ndiyo sababu kusoma violesura hai ni muhimu na ndiyo sababu thamani ya kimataifa peke yake si jibu kamili. Soma ubaguzi kama huo kama uamuzi wa makusudi, na andika kwa nini violesura hivyo ni tofauti. La sivyo mhandisi anayefuata atavi"rekebisha" kwa upole.
Fanya mpangilio uwe wa kudumu mahali pazuri
Mara moja iliyofanikiwa ya sysctl -w inathibitisha kwamba kernel inakubali thamani hiyo. Haiwezi kustahimili kuwashwa upya, na haiwezi kustahimili msimamizi wa mtandao anayetumia tena fikra zake kuhusu usanidi wa violesura wakati wa kuunganisha upya. Weka jukumu la lango katika faili ya usanidi ya sysctl au katika msimamizi wa mtandao anayemiliki mwenyeji, kisha uanzishe upya huduma inayotumia hilo.
Mpangilio wa mfululizo ni muhimu kwa handaki. Ikiwa msimamizi huunda violesura wakati wa kuwasha na kutumia upelekaji baadaye, violesura vinaweza kurithi chaguo-msingi la zamani. Kuwasha upya huduma inayounda handaki upya pia ni tukio la uundaji, na ni rahisi kuikosa wakati kitengo kinaonekana kizima. Angalia mfululizo, si maudhui ya mwisho ya faili peke yake.
Soma tena thamani hizo tatu baada ya VPN kuunganisha upya na tena baada ya kuwasha upya. Handaki mpya iliyoundwa ni violesura vipya, na violesura vipya huchukua chaguo-msingi linalotumika wakati wa uundaji. Ikiwa namba zinabadilika kati ya matukio hayo, usanidi unatumiwa na kitu ambacho bado hukutambua.
Usirekebishe hili kwa chombo kisichofaa
Upelekaji ulipoonekana umevunjika, jaribu kuweza kusafisha firewall au kuongeza masquerading. Hakuna kati ya hizo kinachoshughulikia swichi ya upelekaji. Hali ya upelekaji, ruhusa ya kupeleka, njia ya kufikia lengwa na njia ya kurudi ni mahitaji manne tofauti, na ya kwanza peke yake ndiyo sysctl.
Jaribu pia kwa mtiririko sahihi. Ombi linalofanywa kwenye lango lenyewe halifanyi mazoezi ya upelekaji hata kidogo; ni trafiki inayozalishwa ndani. Swali ni kama pakiti inayotoka kwa mteja wa VPN au mwenyeji wa LAN inakubaliwa na kuelekezwa mbele, kwa hiyo jaribio lazima lianze nyuma ya lango.
Tenganisha kisa cha IPv6
Hapa kila kitu ni IPv4. Upelekaji wa IPv6, matangazo ya kielekezi na tabia ya accept_ra vina udhibiti wao wenyewe, na kunakili njia ipv4 kwenye mpangilio ipv6 huzalisha faili linaloonekana kuaminika na lisilofanya lolote lenye manufaa. Lango lenye rafu mbili linahitaji seti zote mbili kusanidiwa kwa makusudi.
Ukaguzi wa mwisho: baada ya thamani kukubaliana, thibitisha kwamba njia ya handaki imechaguliwa kwa lengwa na kwamba njia ya jibu ipo. Upelekaji uliowashwa kwenye violesura visivyo na njia bado ni shimo jeusi, na hitilafu hiyo inaonekana sawa kutoka upande wa mteja.