Una Pi moja, wasifu mmoja wa VPN unaotoka unaofanya kazi, na vifaa viwili vinavyopaswa kufikia intaneti kupitia hiyo. Swali linaloamua ujenzi wote si lile la mwongozo wa kufuata, bali ni kiasi gani cha utengaji unachohitaji. Bandari moja inaruhusu Pi kusimama kando ya vifaa hivyo kwenye LAN ya kipanga njia na kufanya kazi kama lango la ziada; bandari ya pili inakuruhusu kuviweka kwenye sehemu ambayo Pi ni njia pekee ya kutoka. Kila kitu baada ya chaguo hilo — DHCP, wigo wa firewall, DNS, hali ya kukatika — kinatokana na hilo.

Mipangilio miwili inatofautiana vipi kwa kweli

Mipango yote miwili inaelekeza njia. Tofauti ni nani mwingine amesimama kwenye kebo na nini kinatokea sera yako inapokuwa mbaya.

Layout A: Pi on the ISP LANLayout B: dedicated client port
CablingOne Ethernet port, existing switch portTwo interfaces: uplink plus a separate LAN port
Can a client bypass the Pi?Yes, by using the ISP router as its gatewayNo, unless the device has another radio or link
Who hands out addressesThe ISP router, with a per-client setting or a DHCP optionThe Pi, on its own LAN interface only
Blast radius of a mistakeAny LAN host, if a rule is too broadThe attached segment
Good fit forOne laptop, a console, a temporary test clientAppliances, always-on boxes, untrusted devices

Mhimili wa kweli ni utengaji. Mpangilio A ni wa ushauri: kifaa kinachopuuza lango lililotolewa na DHCP na kuchagua kipanga njia bado kinafanya kazi, lakini bila usimbaji fiche. Mpangilio B unalazimishwa na topolojia, kwa sababu hakuna hatua nyingine inayofuata ya kuchagua.

Mpangilio A: Pi kama lango la ziada kwenye LAN iliyopo

Tuseme kipanga njia cha ISP ni 192.168.50.1, Pi ni 192.168.50.2, na wateja waliochaguliwa wanaelekeza kwa Pi. Muhimu ni kwamba mitiririko miwili tofauti ya pakiti inashiriki kebo moja. Pakiti ya ndani ya mteja inafika kwa Pi na lazima itoke kupitia handaki; pakiti ya Pi yenyewe iliyosimbwa kuelekea mwenza wa VPN lazima itoke kupitia kebo hiyo hiyo kuelekea kipanga njia. Zinasafiri kwa mielekeo tofauti kwenye kiolesura kimoja na zinahitaji matibabu tofauti.

Toa Pi anwani yake kupitia meneja wa mtandao uliosakinishwa, si kwa mapishi ya zamani ya faili ya kiolesura yanayogombana nayo kwa kifaa. Kisha sanidi wateja: lango tuli kwenye kifaa kimoja, au uhifadhi wa DHCP unaotoa 192.168.50.2 kama kipanga njia. Usibadilishe wigo wote wa DHCP wa kipanga njia kwa ajili ya vifaa viwili, na usidhani kuwa mteja anaheshimu chaguo hilo — thibitisha.

Udhaifu ni wa kimuundo, si wa kurekebishwa. Mteja yeyote kwenye sehemu hiyo anaweza kuelekeza kwa 192.168.50.1 na kutoka kwa maandishi wazi, na kifaa kilicho na kiolesura cha pili au redio ya simu huacha njia yako ya utekelezaji kabisa. Ikiwa sentensi hiyo haikubaliki kwa kifaa husika, jibu unalo tayari: tumia mpangilio B.

Mpangilio B: bandari maalum hufunga vifaa ndani

Hapa Pi huhifadhi 192.168.50.2 kwenye kiungo cha juu na lango 192.168.50.1, na huchukua 10.20.0.1/24 kwenye kiolesura cha pili kwa vifaa vilivyounganishwa. Sasa Pi ni kipanga njia chenye mitandao miwili, na sehemu iliyounganishwa ina njia moja ya kutoka hasa.

Angalia wigo huo dhidi ya kila kitu kingine kabla ya kujitolea: subnet ya handaki yenyewe, viambishi vingine kati ya maeneo, na kila kitu kinachofikika kupitia VPN. 10.20.0.0/24 inayogongana na LAN ya mbali hutoa matokeo ya nusu-kufanya-kazi ambayo uchunguzi wake huchukua jioni moja. Ikiwa bandari ya pili ni adapta ya USB, thibitisha kuwa inaungwa mkono na bandika jina lake kwenye meneja wa mtandao ili kupanga upya baada ya kuwasha upya kusisogeze anwani yako ya LAN.

Endesha msikilizaji wa DHCP kwenye kiolesura hicho pekee. Seva inayojibu kwenye kiungo cha juu inashindana na kipanga njia cha ISP na hutoa anwani za sehemu yako kwa nyumba yote. Ifunge kwenye kiolesura cha LAN, iwekee kikomo cha wigo uliotangazwa, na uweke anwani ya Pi yenyewe nje ya bwawa.

Uelekezaji, tafsiri na kanuni ya kufunga wakati wa hitilafu

Mambo manne mara nyingi yanaelezwa kama kitu kimoja na si kimoja. Kuwasha uelekezaji (net.ipv4.ip_forward=1) humwambia kerneli tu kwamba anaweza kuhamisha pakiti kati ya violesura; yenyewe hairuhusu kitu na haihakikishi njia yoyote. Kuchagua njia ya kutoka ni uamuzi wa uelekezaji. Kuruhusu pakiti ni uamuzi wa sera kwenye mnyororo wa forward. Kuandika upya chanzo chake ni uamuzi wa postrouting. Ujenzi unaofanya kitu cha kwanza pekee hutoa Pi inayoelekeza kwa furaha trafiki ya wateja nje kupitia kiungo cha juu.

Weka kikomo cha ruhusa kwa vyanzo ulivyokusudia na kwa kiolesura ambacho trafiki inapaswa kutumia, na ujumuishe njia ya kurudi na maeneo yanayohitajika na Pi yenyewe. Kisha tafsiri kwenye njia ya kutoka ya handaki ikiwa mtoa huduma haelekezi kiambishi chako cha LAN kurudi kwako. mwongozo wa nftables huchukulia uelekezaji, pato la ndani na tafsiri ya chanzo kama shughuli tofauti, na hiyo ni mfano sahihi wa kufikiri hapa.

Hitilafu ya kawaida ni kanuni pana ya masquerade kwenye kiolesura halisi. Wakati huo trafiki hufikia intaneti kwa njia ya ISP wakati, kutoka upande wa mteja, inaonekana sawa kabisa na VPN inayofanya kazi. Hilo halithibitishi kitu. Weka tafsiri imefungwa kwenye njia ya kutoka iliyotangazwa, na weka kanuni zako kwenye firewall ambayo mwenyeji tayari anaitumia, badala ya kuongeza seti ya kanuni pinzani inayofuta mnyororo wa postrouting unaoshirikiwa.

Kisha shughulikia kutokuwepo kwa handaki. Wasifu wa mteja unaosakinisha njia pana ya chaguo-msingi pia unamaanisha kuwa handaki linapoanguka, chaguo-msingi la kawaida linaweza kurudi na trafiki ya mteja inarudi kimya kwenye kiungo cha juu. Pale kurudi kwa maandishi wazi hakukubaliki, pale sera ya forward lazima ikatae kwa uwazi trafiki kutoka mteja kuelekea kiungo cha juu, katika hali ambayo njia ya VPN imeondoka. Andika hilo kama kanuni ya kukataa, si kama dhana. Usafirishaji uliosimbwa wa Pi yenyewe kuelekea mwenza wa VPN ni mtiririko tofauti wa local-output na lazima ubaki umeruhusiwa, vinginevyo handaki haliwezi kurudi kamwe.

DNS na IPv6 zinahitaji jibu lao

Wateja wakitumia Pi kama kitatuzi, wanafika kwa msikilizaji wa ndani na Pi huanzisha swali jipya. Swali hilo la juu hufuata njia ya Pi yenyewe, si kanuni ya forward uliyoiandikia wateja, kwa hivyo njia ya mteja kupitia handaki pekee pamoja na kitatuzi kinachotoka moja kwa moja ni uvujaji bila ujumbe wowote wa hitilafu. Amua kwa makusudi: kitatuzi kinachofikika kupitia handaki, au cha ndani unachokubali kama cha moja kwa moja, na ulinganishe sera ya pato ya Pi yenyewe na uamuzi huo.

IPv6 ni kesi tofauti tena. Kanuni ya forward ya IPv4 haizuii kitu kuhusu IPv6, na matangazo ya kipanga njia kwenye kiungo cha juu yanaweza kumpa Pi, na kupitia hiyo sehemu iliyounganishwa, chaguo-msingi la pili linalopita sera yako. Ama mpe IPv6 njia yake ya ulinzi kwa kanuni hiyo hiyo, ama iwekee kikomo kwa uwazi kwenye sehemu ya wateja na useme hivyo.

Jaribu mpaka kabla ya kuutegemea

Kubali mpangilio tu baada ya ukaguzi manne tofauti, kwa sababu jaribio moja la kuvutia — kufungua kivinjari kwenye mteja mmoja — hupita katika hali kadhaa zilizovunjika.

Thibitisha kuwa mteja mmoja halisi anafikia intaneti kupitia handaki, kisha thibitisha kuwa mteja huyo huyo hawezi kufikia intaneti handaki likiwa chini. Thibitisha kuwa utatuzi wa DNS unafanya kazi na swali linatoka mahali ulipokusudia. Thibitisha kuwa usafirishaji wa Pi yenyewe bado unafanya kazi baada ya kuwasha upya handaki, na urejeshaji hauhitaji kuwasha upya mashine. Mwisho, angalia kifaa usichokuchagua: katika mpangilio A kinapaswa kuendelea kufanya kazi kawaida, na katika mpangilio B hakipaswi kuwepo kabisa kwenye sehemu hiyo.

  • Bandari mbili na kanuni ya kukataa hutoa utekelezaji; bandari moja na chaguo la DHCP hutoa ushauri.
  • Tafsiri kwenye kiolesura kisichofaa inaonekana kama mafanikio na sivyo.
  • Trafiki ya Pi yenyewe, DNS na IPv6 kila kimoja kinahitaji uamuzi, si dhana.

Makala zinazohusiana