Skipulagning IPv6 fyrir WireGuard-mistöð með tvo staði: forskeyti, jafningjar, leiðir
Farðu í gegnum einkamistöð IPv6 fyrir tvö LAN: veldu forskeyti, taktu frá gönguvistföng og leyfðu AllowedIPs að lýsa því hvaða jafningur á hvaða undirnet.
Tvö LAN, ein WireGuard-mistöð og IPv6-vistfangaskipulag sem verður að svara þremur aðskildum spurningum: hvaða forskeyti, hvaða vistfang tilheyrir hverjum beini og hvaða jafningur á hvaða undirnet. Eitt rangt svar framleiðir göng sem gera handaband og beina engu. Skipulagið hér að neðan fer í gegnum einkahönnun tveggja staða í þeirri röð. Það veitir viljandi ekki IPv6-internetaðgang.
Ákveddu hvað forskeytið er fyrir
Einstakt staðbundið forskeyti úr fd00::/8 er eðlilegi kosturinn þegar markmiðið er einkaaðgengi milli staða. Það helst stöðugt óháð því hvaða þjónustuveitandi þjónar hverjum stað, og það er ekki tilkynnt í alheimsbeiningartöflunni, svo það getur ekki lekið innri númerun þinni á internetið.
Sami eiginleiki er takmörkunin. ULA gefur enga opinbera afturleið, því enginn ytri aðili veit að beina á henni að gáttinni þinni. Ef krafan felur í sér IPv6-internetútgang þarftu úthlutun frá þjónustuveitanda sem beinir henni til þín, og það er sérstök hönnunarákvörðun með eigin forskeytisstærð.
Ekki gera ráð fyrir að hver uppsetning þurfi /48. RFC 6177 fjarlægðist eina skyldubundna stærð endastaðar, og rétt stærð fylgir fjölda neta sem þú munt reka. Búðu til ULA með RFC 4193-aðferðinni í stað þess að finna upp forskeyti sem önnur stofnun gæti líka notað. Skrifaðu niðurstöðuna í vistfangaskipulagið áður en nokkurt tæki er stillt, því forskeyti sem enginn skráði er forskeyti sem einhver mun endurnýta.
Skiptu forskeytinu í hlutverk
Dæmið hér að neðan notar fd7c:2e91:4a00::/48, og taflan er skipulögð eftir því hvar hver blokk er skrifuð, ekki eftir stað. Líttu á gildin sem sýnishorn og búðu til þín eigin áður en þú setur eitthvað upp.
| 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 |
LAN-blokkirnar eru /64 því venjulegt SLAAC gerir ráð fyrir 64 bita tengiidentifieri. Að skipta LAN í minni blokk brýtur þá forsendu á flestum hýslum, og rekstrarkostnaðurinn er ekki vistfangssparnaðarins virði í einkaskipulagi. Báðar LAN-blokkirnar koma úr miðju /48 og skilja lægra sviðið eftir laust fyrir síðari staði.
Gönguvistföngin eru stjórnunarlegur forði, ekki net á tengingunni. Hvert tengi fær eitt /128 úr honum, svo ekkert hýsil gerir ráð fyrir sameiginlegu undirneti á göngunum og nágrannauppgötvun keyrir ekki þar sem hennar er ekki þörf. Haltu hlutverkunum aðskildum og skráðu þau í vistfangaskipulag stofnunarinnar svo síðari staður endurnýti ekki blokk.
Gefðu hverjum beini eitt gönguvistfang
Úthlutaðu einu /128 á hvern beini og haltu núverandi lyklum og endapunktum mistöðvarinnar sem virkar. Gildin þrjú hér að neðan eru aðeins frábrugðin í hýsilhlutanum.
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
Þetta /128 lýsir eina vistfanginu sem úthlutað er því tengi. Það segir ekkert um hversu mörgum áfangastöðum jafningurinn má beina, því aðgengi er gefið upp í AllowedIPs en ekki í forskeyti tengisins.
Hver staðarbeiðir þarf líka vistfang í sinni LAN-blokk og leið til að dreifa því, venjulega beinatilkynningar fyrir SLAAC. WireGuard sendir ekki þessar tilkynningar fyrir þig og brúar ekki tvö LAN. Staðarbeiðirinn er beinir í báðar áttir.
Setja eignarhald undirnetsins í AllowedIPs
Jafningjafærsla mistöðvarinnar fyrir Stað A á gönguvistfang A og LAN A, og það par er öll eignarhaldsyfirlýsingin. Ekkert annað í þeim jafningjahluta þarf að lýsa staðnum.
AllowedIPs = fd7c:2e91:4a00:ff00::2/128, fd7c:2e91:4a00:10::/64
Jafningjafærslan fyrir Stað B á samsvarandi parið, og samhverfa skiptir hér meira máli en stuttleiki. Lestu línurnar tvær saman og eignarhaldsskiptingin verður sýnileg í einu augnabliki.
AllowedIPs = fd7c:2e91:4a00:ff00::3/128, fd7c:2e91:4a00:20::/64
Þetta eru tveir aðskildir jafningjahlutar, ekki tveir listar sem keppa um einn jafningja. WireGuard notar AllowedIPs í báðar áttir: það velur jafningjann fyrir útleið og hafnar innkomnu pakka þar sem uppruninn passar ekki við sviðið sem úthlutað var jafningjanum sem afkóðaði hann. Að gefa allt /48 til beggja jafningja myndi slökkva á þeirri seinni athugun og gera óljóst hvaða staður á hvaða blokk. Þessi aðgreining er það sem gerir rangt upprunavistfang sýnilegt í stað þess að vera hljóðlega samþykkt.
Hver staður þarf aðeins áfangastaðina sem nást í gegnum mistöðvarjafningjann: Staður A telur upp vistfang mistöðvarinnar, gönguvistfang Staðar B og LAN B, og Staður B telur upp andstæða mengið. Listarnir eru viljandi ósamhverfir, því hver beinir sér aðra hlið staðfræðinnar. Skrifaðu báða út frá vistfangaskipulaginu en ekki stillingum hins staðarins, því þannig lifir úrelt svið af endurnúmerun.
Með wg-quick búa þessi svið líka til leiðir. Með systemd-networkd eða handvirkri uppsetningu skaltu bæta samsvarandi leiðum við sjálfur; annars ber ganginn pakka sem kjarninn sendir aldrei inn í þau.
Ljúktu við vísun og prófaðu báðar áttir
Virkjaðu IPv6-vísun á mistöðinni og báðum staðarbeinum, og leyfðu nauðsynlegu þjónustuna milli staða í vísunarstefnunni. Haltu ICMPv6 Packet Too Big-skilaboðum nothæfum, því að henda þeim brýtur uppgötvun MTU leiðar og veldur stöðvunum í stórum flutningum sem líta út eins og villur í forritum. Mistöð sem vísar án leyfis eldveggjarins hendir pakkanum milli beiningar og gangsins. Þessi bilunarhamur er þess virði að þekkja, því gangurinn helst uppi og aðeins sum flæði deyja.
sysctl net.ipv6.conf.all.forwarding
ip -6 route
ping -6 -c 3 fd7c:2e91:4a00:20::1
Prófaðu frá hýsli á Stað A til hýsils á Stað B og svo í gagnstæða átt. Ping á gönguvistfang mistöðvarinnar prófar aðeins fyrsta hoppið og mun takast þótt LAN-leiðirnar séu rangar. Flæðið frá hýsli til hýsils er það sem sannar skipulagið.
Ytri WireGuard-tengingin getur gengið yfir IPv4 á meðan innri umferðin er IPv6, og það sjálfstæði er gagnlegt við flutning. Ef alheims IPv6-útgangur er bætt við síðar skal endurskoða úthlutun þjónustuveitandans, val upprunavistfangs og afturleiðabeiningu sem nýtt hönnunarþrep; einkaskipulagið hér að ofan helst gilt fyrir umferð milli staða.