Kupanga IPv6 kwa kitovu cha WireGuard cha maeneo mawili: kiambishi, wenza, njia
Fanyia kazi kitovu cha IPv6 cha faragha kwa LAN mbili: chagua kiambishi, hifadhi anwani za handaki, kisha acha AllowedIPs ieleze mwenza gani anamiliki subneti gani.
LAN mbili, kitovu kimoja cha WireGuard na mpango wa anwani za IPv6 ambao lazima ujibu maswali matatu tofauti: kiambishi kipi, anwani ipi ni ya kila kipanga njia, na mwenza gani anamiliki subneti gani. Kosa moja kati ya haya huzalisha handaki inayofanya kupeana mikono na haielekezi chochote. Mpango ulio hapa chini unapitia muundo wa faragha wa maeneo mawili kwa mpangilio huo. Kwa makusudi hautoi ufikiaji wa intaneti kwa IPv6.
Amua kiambishi ni cha nini
Kiambishi cha kipekee cha ndani kutoka fd00::/8 ni chaguo la asili wakati lengo ni ufikiaji wa faragha kati ya maeneo. Kimebaki thabiti bila kujali ni ISP gani inahudumia kila mahali, na hakitangazwi kwenye jedwali la njia la kimataifa, kwa hivyo hakiwezi kuvujisha nambari zako za ndani kwenye intaneti.
Sifa hiyo hiyo ndiyo kikomo. ULA haitoi njia ya kurudi ya umma, kwa sababu hakuna mtoa huduma wa juu anayejua kuielekeza kwenye lango lako. Ikiwa hitaji linajumuisha kutoka intaneti kwa IPv6, unahitaji ugawaji kutoka kwa mtoa huduma anayelekeza kwako, na huo ni uamuzi wa muundo tofauti wenye ukubwa wake wa kiambishi.
Usidhani kila usambazaji unahitaji /48. RFC 6177 uliondoka kwenye ukubwa mmoja wa lazima wa eneo la mwisho, na ukubwa sahihi unafuata idadi ya mitandao utakayoendesha. Zalisha ULA kwa utaratibu wa RFC 4193 badala ya kubuni kiambishi ambacho shirika lingine linaweza pia kutumia. Andika matokeo kwenye mpango wa anwani kabla ya kifaa chochote kusanidiwa, kwa sababu kiambishi ambacho hakuna aliyekirekodi ni kiambishi ambacho mtu atakitumia tena.
Gawanya kiambishi katika majukumu
Mfano ulio hapa chini unatumia fd7c:2e91:4a00::/48, na jedwali limepangwa kulingana na mahali kila bloku inapoandikwa, sio kulingana na eneo. Chukua thamani kama mfano na zalisha zako kabla ya kusambaza chochote.
| Where it is written | What appears there | Block used | What it establishes |
|---|---|---|---|
| Hub wg0.conf, interface address | A single host address on the tunnel | fd7c:2e91:4a00:ff00::1/128 | The hub's own tunnel identity |
| Hub wg0.conf, Site A peer | Two ranges in one AllowedIPs line | ::2/128 and :10::/64 | That A owns its tunnel address and its LAN |
| Hub wg0.conf, Site B peer | Two ranges in one AllowedIPs line | ::3/128 and :20::/64 | That B owns its tunnel address and its LAN |
| Site A wg0.conf, interface address | A single host address on the tunnel | fd7c:2e91:4a00:ff00::2/128 | A's identity as the hub sees it |
| Site B wg0.conf, interface address | A single host address on the tunnel | fd7c:2e91:4a00:ff00::3/128 | B's identity as the hub sees it |
Bloku za LAN ni /64 kwa sababu SLAAC ya kawaida inatarajia kitambulishi cha kiolesura cha biti 64. Kugawanya LAN katika bloku ndogo huvunja dhana hiyo kwa mwenyeji wengi, na gharama ya uendeshaji haifai kuokoa anwani katika mpango wa faragha. Bloku zote mbili za LAN zinatoka katikati ya /48, zikiacha safu ya chini huru kwa maeneo ya baadaye.
Anwani za handaki ni akiba ya kiutawala, sio mtandao kwenye kiungo. Kila kiolesura hupata /128 moja kutoka humo, kwa hivyo hakuna mwenyeji anayedhani subneti inayoshirikiwa kwenye handaki na ugunduzi wa majirani hauendeshwi mahali pasipohitajika. Weka majukumu tofauti na uyarekodi katika mpango wa anwani wa shirika ili eneo la baadaye lisitumie tena bloku.
Mpe kila kipanga njia anwani moja ya handaki
Gawa /128 moja kwa kila kipanga njia na uhifadhi funguo na vituo vya mwisho vya kitovu kinachofanya kazi. Thamani tatu zilizo hapa chini zinatofautiana tu katika sehemu ya mwenyeji.
Hub: Address = fd7c:2e91:4a00:ff00::1/128
Site A: Address = fd7c:2e91:4a00:ff00::2/128
Site B: Address = fd7c:2e91:4a00:ff00::3/128
Hii /128 inaelezea anwani moja iliyotengwa kwa kiolesura hicho. Haisemi chochote kuhusu ni maeneo mangapi mwenza anaweza kuyaelekeza, kwa sababu ufikiaji unaonyeshwa katika AllowedIPs na sio katika kiambishi cha kiolesura.
Kila kipanga njia cha eneo pia kinahitaji anwani katika bloku yake ya LAN na njia ya kuisambaza, kwa kawaida matangazo ya kipanga njia kwa SLAAC. WireGuard haitumi matangazo hayo kwa niaba yako, na haiunganishi LAN mbili. Kipanga njia cha eneo ni kipanga njia katika pande zote mbili.
Weka umiliki wa subneti katika AllowedIPs
Ingizo la mwenza wa kitovu kwa Eneo A linamiliki anwani ya handaki ya A na LAN ya A, na jozi hiyo ndiyo tamko lote la umiliki. Hakuna kingine katika sehemu hiyo ya mwenza kinachohitaji kuelezea eneo.
AllowedIPs = fd7c:2e91:4a00:ff00::2/128, fd7c:2e91:4a00:10::/64
Ingizo la mwenza kwa Eneo B linamiliki jozi inayolingana, na ulinganifu hapa ni muhimu zaidi kuliko ufupi. Soma mistari miwili pamoja na mgawanyo wa umiliki unaonekana kwa mtazamo mmoja.
AllowedIPs = fd7c:2e91:4a00:ff00::3/128, fd7c:2e91:4a00:20::/64
Hizi ni sehemu mbili tofauti za wenza, sio orodha mbili zinazoshindania mwenza mmoja. WireGuard hutumia AllowedIPs katika pande zote mbili: huchagua mwenza kwa lengo la kutoka, na hukataa pakiti inayoingia ambayo chanzo chake hakilingani na masafa yaliyotengwa kwa mwenza aliyeisimbua. Kumpa kila mwenza /48 yote kungezima ukaguzi huo wa pili na kufifisha ni eneo gani linamiliki bloku gani. Tofauti hiyo ndiyo inayofanya anwani ya chanzo isiyo sahihi ionekane badala ya kukubaliwa kimya.
Kila eneo linahitaji tu maeneo yanayofikiwa kupitia mwenza wake wa kitovu: Eneo A huorodhesha anwani ya kitovu, anwani ya handaki ya Eneo B na LAN ya B, na Eneo B huorodhesha seti ya kinyume. Orodha hazilingani kwa makusudi, kwa sababu kila kipanga njia kinaona upande tofauti wa topolojia. Andika zote kutoka kwenye mpango wa anwani na sio kutoka kwenye usanidi wa eneo lingine, kwa sababu ndivyo masafa ya zamani yanavyopita uwekaji nambari upya.
Kwa wg-quick, masafa haya pia huunda njia. Kwa systemd-networkd au usanidi wa mikono, ongeza njia zinazolingana wewe mwenyewe; vinginevyo handaki hubeba pakiti ambazo kerneli haitumi kamwe ndani yake.
Kamilisha uelekezaji na ujaribu pande zote mbili
Washa uelekezaji wa IPv6 kwenye kitovu na kwenye vipanga njia vyote viwili vya maeneo, na ruhusu huduma zinazohitajika kati ya maeneo katika sera ya uelekezaji. Weka jumbe za ICMPv6 Packet Too Big zikitumika, kwa sababu kuzitupa huvunja ugunduzi wa MTU ya njia na huzalisha kusimama kwa uhamishaji mkubwa kunakoonekana kama hitilafu za programu. Kitovu kinachoelekeza bila idhini ya ukuta wa moto hutupa pakiti kati ya uelekezaji na handaki. Hali hii ya kushindwa inafaa kujulikana, kwa sababu handaki inabaki hai na ni baadhi ya mitiririko tu inayokufa.
sysctl net.ipv6.conf.all.forwarding
ip -6 route
ping -6 -c 3 fd7c:2e91:4a00:20::1
Jaribu kutoka mwenyeji katika Eneo A hadi mwenyeji katika Eneo B kisha kuelekea upande wa pili. Ping kwa anwani ya handaki ya kitovu hufanyia mazoezi tu hatua ya kwanza na itafanikiwa hata njia za LAN zikiwa mbovu. Mtiririko wa mwenyeji-hadi-mwenyeji ndio unaothibitisha mpango.
Muunganisho wa nje wa WireGuard unaweza kukimbia juu ya IPv4 wakati trafiki ya ndani ni IPv6, na uhuru huo ni muhimu wakati wa uhamishaji. Ikiwa baadaye ataongezwa utokaji wa kimataifa wa IPv6, pitia upya ugawaji wa mtoa huduma, uchaguzi wa anwani ya chanzo na uelekezaji wa kurudi kama hatua mpya ya muundo; mpango wa faragha ulio juu unabaki halali kwa trafiki kati ya maeneo.