Cynllunio IPv6 ar gyfer canolbwynt WireGuard dau safle: rhagddodiad, cymheiriaid, llwybrau
Ewch drwy ganolbwynt IPv6 preifat ar gyfer dwy LAN: dewiswch ragddodiad, cadwch gyfeiriadau twnnel, yna gadewch i AllowedIPs fynegi pa gymheiriaid sy’n berchen ar ba is-rwydwaith.
Dwy LAN, un canolbwynt WireGuard, a chynllun cyfeiriadau IPv6 sy’n gorfod ateb tri chwestiwn ar wahân: pa ragddodiad, pa gyfeiriad sy’n perthyn i bob llwybrydd, a pha gymheiriaid sy’n berchen ar ba is-rwydwaith. Mae cael un ohonynt yn anghywir yn cynhyrchu twnnel sy’n gwneud ysgydwad llaw ac yn llwybro dim. Mae’r cynllun isod yn gweithio drwy ddyluniad preifat dau safle yn y drefn honno. Yn fwriadol nid yw’n darparu mynediad rhyngrwyd IPv6.
Penderfynwch beth yw pwrpas y rhagddodiad
Mae rhagddodiad lleol unigryw o fd00::/8 yn ddewis naturiol pan mai’r nod yw cyrraedd preifat rhwng safleoedd. Mae’n aros yn sefydlog waeth pa ISP sy’n gwasanaethu pob lleoliad, ac nid yw’n cael ei hysbysebu i’r tabl llwybro byd-eang, felly ni all ollwng eich rhifo mewnol i’r rhyngrwyd.
Yr un nodwedd yw’r cyfyngiad. Nid yw ULA yn rhoi unrhyw lwybr dychwelyd cyhoeddus, oherwydd nid oes unrhyw lanlif yn gwybod i’w lwybro at eich porth. Os yw’r gofyniad yn cynnwys allbwn rhyngrwyd IPv6, mae arnoch angen dyraniad gan ddarparwr sy’n ei lwybro atoch, ac mae hynny’n benderfyniad dylunio ar wahân gyda’i faint rhagddodiad ei hun.
Peidiwch â thybio bod pob defnyddlu angen /48. RFC 6177 wthiodd oddi wrth un maint gorchymynol i safle terfynol, ac mae’r maint cywir yn dilyn nifer y rhwydweithiau y byddwch yn eu gweithredu. Cynhyrchwch yr ULA gyda gweithdrefn RFC 4193 yn lle dyfeisio rhagddodiad y gallai sefydliad arall ei ddefnyddio hefyd. Ysgrifennwch y canlyniad yn y cynllun cyfeiriadau cyn i unrhyw ddyfais gael ei ffurfweddu, oherwydd rhagddodiad na chofnododd neb yw rhagddodiad y bydd rhywun yn ei ailddefnyddio.
Rhennwch y rhagddodiad yn rolau
Mae’r enghraifft isod yn defnyddio fd7c:2e91:4a00::/48, ac mae’r tabl wedi’i drefnu yn ôl lle mae pob bloc yn cael ei ysgrifennu yn hytrach nag yn ôl safle. Triniwch y gwerthoedd fel sampl a chynhyrchwch eich rhai eich hun cyn defnyddio unrhyw beth.
| 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 |
Mae’r blociau LAN yn /64 oherwydd bod SLAAC cyffredin yn disgwyl dynodwr rhyngwyneb 64-did. Mae rhannu LAN yn floc llai yn torri’r dybiaeth honno ar y rhan fwyaf o westeiwyr, ac nid yw’r gost weithredol yn werth yr arbediad cyfeiriadau mewn cynllun preifat. Daw’r ddau floc LAN o ganol y /48, gan adael yr ystod isel yn rhydd ar gyfer safleoedd diweddarach.
Mae’r cyfeiriadau twnnel yn bwced weinyddol, nid yn rhwydwaith ar y cyswllt. Mae pob rhyngwyneb yn cael un /128 ohono, felly nid oes unrhyw westeiwr yn tybio is-rwydwaith a rennir ar y twnnel ac nid oes darganfod cymdogion yn rhedeg lle nad oes ei angen. Cadwch y rolau ar wahân a’u cofnodi yng nghynllun cyfeiriadau’r sefydliad fel nad yw safle diweddarach yn ailddefnyddio bloc.
Rhowch un cyfeiriad twnnel i bob llwybrydd
Neilltuwch un /128 fesul llwybrydd a chadwch allweddi a phenawdau presennol y canolbwynt sy’n gweithio. Dim ond yn rhan y gwesteiwr y mae’r tri gwerth isod yn wahanol.
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
Mae’r /128 yn disgrifio’r un cyfeiriad a neilltuwyd i’r rhyngwyneb hwnnw. Nid yw’n dweud dim am faint o gyrchfannau y caiff y cymheiriaid eu llwybro, oherwydd mynegir cyrhaeddiad yn AllowedIPs yn hytrach nag yn rhagddodiad y rhyngwyneb.
Mae ar bob llwybrydd safle hefyd angen cyfeiriad yn ei floc LAN ac ffordd i’w ddosbarthu, fel arfer hysbysebion llwybrydd ar gyfer SLAAC. Nid yw WireGuard yn anfon yr hysbysebion hynny drosoch, ac nid yw’n pontio’r ddwy LAN. Mae llwybrydd y safle yn llwybrydd yn y ddau gyfeiriad.
Rhowch berchnogaeth is-rwydwaith yn AllowedIPs
Mae cofnod cymheiriaid y canolbwynt ar gyfer Safle A yn berchen ar gyfeiriad twnnel A a LAN A, a’r par hwnnw yw’r datganiad perchnogaeth cyfan. Nid oes angen i unrhyw beth arall yn yr adran gymheiriaid honno ddisgrifio’r safle.
AllowedIPs = fd7c:2e91:4a00:ff00::2/128, fd7c:2e91:4a00:10::/64
Mae cofnod cymheiriaid Safle B yn berchen ar y par cyfatebol, ac mae cymesuredd yma’n bwysicach na byrevid. Darllenwch y ddwy linell gyda’i gilydd ac mae’r rhaniad perchnogaeth yn dod yn weladwy ar unwaith.
AllowedIPs = fd7c:2e91:4a00:ff00::3/128, fd7c:2e91:4a00:20::/64
Dwy adran gymheiriaid ar wahân yw’r rhain, nid dwy restr yn cystadlu am un cymheiriaid. Mae WireGuard yn defnyddio AllowedIPs yn y ddau gyfeiriad: mae’n dewis y cymheiriaid ar gyfer cyrchfan allanol, ac mae’n gwrthod pecyn sy’n dod i mewn nad yw ei ffynhonnell yn cyfateb i’r ystod a neilltuwyd i’r cymheiriaid a’i dadgryptiodd. Byddai rhoi’r /48 cyfan i’r ddau gymheiriaid yn analluogi’r ail wiriad hwnnw ac yn cymylu pa safle sy’n berchen ar ba floc. Y gwahaniaeth hwnnw sy’n gwneud cyfeiriad ffynhonnell anghywir yn weladwy yn hytrach na chael ei dderbyn yn dawel.
Nid oes angen ar bob safle ond y cyrchfannau y gellir eu cyrraedd drwy ei gymheiriaid canolbwynt: mae Safle A yn rhestru cyfeiriad y canolbwynt, cyfeiriad twnnel Safle B a LAN B, ac mae Safle B yn rhestru’r set gyfatebol. Mae’r rhestrau’n anghymesur yn fwriadol, oherwydd mae pob llwybrydd yn gweld ochr wahanol o’r topoleg. Ysgrifennwch y ddau o’r cynllun cyfeiriadau yn hytrach nag o ffurfweddiad y safle arall, sef sut mae ystod hen yn goroesi ailrifo.
Gyda wg-quick, mae’r ystodau hyn hefyd yn creu llwybrau. Gyda systemd-networkd neu osodiad â llaw, ychwanegwch y llwybrau cyfatebol eich hun; fel arall mae’r twnnel yn cario pecynnau nad yw’r cnewyllyn byth yn eu hanfon iddo.
Cwblhewch yr anfon ymlaen a phrofwch y ddau gyfeiriad
Galluogwch anfon ymlaen IPv6 ar y canolbwynt ac ar ddau lwybrydd y safle, a chaniatáu’r gwasanaethau rhwng safleoedd sy’n ofynnol yn y polisi anfon ymlaen. Cadwch negeseuon ICMPv6 Packet Too Big yn ddefnyddiadwy, oherwydd mae eu gollwng yn torri darganfod MTU llwybr ac yn achosi tagfeydd trosglwyddo mawr sy’n edrych fel diffygion cymhwysiad. Mae canolbwynt sy’n anfon ymlaen heb ganiatâd y wal dân yn gollwng y pecyn rhwng llwybro a’r twnnel. Mae’r modd methiant hwnnw’n werth ei wybod, oherwydd mae’r twnnel yn aros i fyny ac mai dim ond rhai ffrydiau sy’n marw.
sysctl net.ipv6.conf.all.forwarding
ip -6 route
ping -6 -c 3 fd7c:2e91:4a00:20::1
Profwch o westeiwr yn Safle A i westeiwr yn Safle B ac yna i’r cyfeiriad arall. Nid yw ping i gyfeiriad twnnel y canolbwynt yn profi ond y naid gyntaf ac fe fydd yn llwyddo hyd yn oed pan fo llwybrau LAN yn anghywir. Y llif o westeiwr i westeiwr yw’r un sy’n profi’r cynllun.
Gall y cysylltiad WireGuard allanol redeg dros IPv4 tra bo’r traffig mewnol yn IPv6, ac mae’r annibyniaeth honno’n ddefnyddiol yn ystod mudo. Os ychwanegir allbwn IPv6 byd-eang yn ddiweddarach, ailedrychwch ar ddyraniad y darparwr, dewis cyfeiriad ffynhonnell a llwybro dychwelyd fel cam dylunio newydd; mae’r cynllun preifat uchod yn parhau’n ddilys ar gyfer traffig safle-i-safle.