IPv6 a ródú idir dhá shuíomh thar VPN atá ann cheana
Is féidir le WAN IPv4 amháin IPv6 inmheánach a iompar fós. Lean roghnóirí, róid eithne, cur chun cinn agus an réimír fillte a scaoileadh freagraí go ciúin.
Nuair a chuireann tú réimír IPv6 le tollán suíomh-go-suíomh, ní thaistealaíonn an phaicéad mar a mholann an léaráid. Glactar an phaicéad IPv6 iomlán ag an ngeata áitiúil, cuirtear i gcód é, agus cuirtear ceannteideal IP seachtrach os a chomhair a mbíonn a theaghlach seolaí socraithe ag seolaí na bhfoircinní, ní ag an méid atá istigh. Baineann an geata i bhfad i gcéin an ceannteideal seachtrach sin agus seolann sé an phaicéad bunaidh chuig a LAN, áit a bhíonn sé arís mar ghnáthphaicéad IPv6. Is dhá chomhrá ar leith iad tollán seachtrach agus trácht inmheánach a roinneann eochair, péire foircinní, agus rud ar bith eile.
Dhá cheannteideal, dhá theaghlach seolaí
I mód tollán IPsec, déantar paicéad IPv6 inmheánach an ualach taobh chúl ceannteideal ESP. Is féidir leis an gceannteideal seachtrach a iompraíonn an phaicéad ESP sin a bheith IPv4 nó IPv6, agus leanann sé local_addrs agus remote_addrs. Déanann WireGuard an rud céanna le níos lú searmanais: is é an paicéad inmheánach ualach datagram UDP chuig foircinn an phiara. Fágann an dá cheann an ceannteideal inmheánach gan teagmháil, agus sin an fáth ar féidir leis an taobh i bhfad é a ródú tar éis dí-chochrú.
Ní fheiceann an bealach idir na suíomhanna ach UDP 4500 nuair a úsáideann IPsec NAT traversal, nó UDP 51820 do ghnáth-éisteoir WireGuard. Is féidir le gach ródaire ar an mbealach a bheith IPv4 amháin agus trasnaíonn an trácht IPv6 mar sin féin, toisc nach bhfeictear riamh é mar phaicéad IPv6 ar an mbealach sin. Tugann sé sin chéad scoilt ghlan: léiríonn tcpdump -ni eth0 udp port 51820 an bealach criptithe, léiríonn tcpdump -ni wg0 ip6 an trácht inmheánach. Ciallaíonn gabháil sheachtrach ghnóthach le ceann inmheánach ciúin nach bhcuireann an eithne IPv6 sa tollán; ródú nó beartas atá ann, ní staid nasc.
Laghdaíonn an geata an Hop Limit inmheánach freisin agus é ag cur chun cinn, mar sin áirítear na foircinní mar ródairí ar an mbealach IPv6. Gluaiseann líon na nead seachtrach agus an Hop Limit inmheánach go neamhspleách, agus paicéad a fhaigheann bás ag an ngeata i bhfad i gcéin fuair sé bás sa chur chun cinn, ní sa chriptiú.
Is é na roghnóirí agus AllowedIPs an liosta ceadanna
Idirbheartaíonn IKEv2 cé na réimírí inmheánacha a fhéadann child SA a iompar. Ar strongSwan 5.9 agus níos déanaí, breathnaíonn sé mar seo iad a scríobh amach in swanctl.conf:
children {
net6 {
local_ts = 2001:db8:aa::/48
remote_ts = 2001:db8:bb::/48
mode = tunnel
esp_proposals = aes256gcm16-prfsha384-ecp384
start_action = trap
}
}
Fág local_ts agus remote_ts agus díorthaíonn strongSwan ó fo-íomháineachas an chomhéadan a roghnaíonn sé iad. Ar óstach dé-shraithdeánach táirgeann an t-aicearra sin péire IPv4 amháin go minic: ardaíonn an SA agus diúltaítear IPv6 sula sroicheann sé cód ESP. Má scríobhann tú an dá réimír amach bíonn an SA incháilithe chun iad a iompar, agus ardaíonn start_action = trap ag an gcéad phaicéad a thagann leis.
Tá liosta amháin ag WireGuard a dhéanann dhá phost. Sa bhloc piara, is é AllowedIPs = 2001:db8:bb::/48, fd00:bb::/48 an bealach a shuiteáiltear agus tú ag seoladh agus an scagaire a chuirtear i bhfeidhm agus tú ag fáil: scaoiltear paicéad díchriptithe a thiteann a fhoinse inmheánach lasmuigh de liosta an phiara sin go ciúin. Cuireann wg-quick bealach le gach iontráil, mar sin ní gá don bhloc piara thíos ordú ip -6 route ar leith.
[Interface]
Address = 2001:db8:aa:ff::1/64, fd00:aa:ff::1/64
ListenPort = 51820
[Peer]
PublicKey = <site-b-public-key>
Endpoint = 203.0.113.20:51820
AllowedIPs = 2001:db8:bb::/48, fd00:bb::/48
Ní mór an dá liosta a mhúrán: glacann suíomh B le réimír suíomh A mar roghnóir i bhfad agus ródaíonn sé ar ais é, agus ní oibríonn an tollán ach nuair a thagann an dá threo le chéile. Tugann liosta neamhshiméadrach an tsiomptóm a chaileann an t-am is mó — croith lámh sláintiúil, cuntair ag gluaiseacht ar thaobh amháin, agus ping ó A go B a éiríonn agus rud ar bith ó B ag sroicheadh A.
Cur chun cinn, róid agus an réimír fillte
Ní chuirfidh Linux IPv6 chun cinn go dtí go ndeir tú é, agus tá an socrú de réir namespace seachas de réir comhéadan:
sysctl -w net.ipv6.conf.all.forwarding=1
ip -6 route add 2001:db8:bb::/48 dev wg0
ip -6 route get 2001:db8:bb::10 from 2001:db8:aa::10
Is é an dara líne an ceann a ndéanann daoine dearmad air i ndearaí bunaithe ar róid. Suiteáil IPsec beartas-bhunaithe beartas XFRM a thagann leis na réimírí, ach teastaíonn bealach IPv6 fíor a dhíríonn ar an ngléas sin ó shocrú bealach-bhunaithe le vti6 nó WireGuard. Coinneáil an sysctl faoi /etc/sysctl.d/; mura ndéanfaidh tú, cuireann atosaigh an cur chun cinn ar ais go dtí as go ciúin.
Tá fo-iarsma ag an gcur chun cinn is fiú a fháil amach: ansin déanann an eithne neamhaird de fhógraí ródaire mura mbíonn net.ipv6.conf.<wan>.accept_ra 2, mar sin is féidir le geata a dtagann a sheoladh WAN trí SLAAC a bheith caillte ag a bhealach réamhshocraithe an nóiméad a chumasaíonn tú an cur chun cinn. Socraigh accept_ra = 2 ar an gcomhéadan sin sa chomhad céanna agus maireann an bealach. Ní mór do chroí suíomh B 2001:db8:aa::/48 a fhoghlaim ó gheata an tolláin freisin, trí bhealach statach nó prótacal ródaithe thar an tollán, nó faigheann an freagra bás taobh istigh dá líonra féin.
Seiceáil ceithre chéim a aimsiú an briste
Oibrigh san ord seo agus stop ag an gcéad chéim a theipeann, mar gheall ar gach céim ina dhiaidh sin ag brath ar na cinn roimhe.
- Roghnóirí: ba cheart go léiríonn
swanctl --list-sasan péire réimíreach IPv6 ar an child SA, nó go léiríonnwg show wg0 allowed-ipsan réimír i bhfad lelatest-handshakesdeireanach. - Bealach eithne: caithfidh
ip -6 route get 2001:db8:bb::10freagra a thabhairt leis an ngléas tolláin, ní leis an gcomhéadan WAN. - Gabháil inmheánach:
tcpdump -ni wg0 ip6agus tú ag ping idir óstaigh LAN fírí. Pointe paicéid a fhágann agus aon cheann a fhilleann ar bhealach nó ar balla dóiteáin B; ní pointe aon phaicéad ar ais go céim 1 nó 2. - Ceann scríbe: ar óstach B, dearbhaíonn
ss -6 -ltngo n-éisteann an tseirbhís ar IPv6, agus léiríonn cuntair an bhalla dóiteáin áitiúil ar glacadh leis an bpaicéad nó ar scaoileadh é.
Tagann an MTU sa phas céanna. Ní déanann ródairí IPv6 ilroinnt, mar sin scaoiltear paicéad rómhór agus filleann Packet Too Big ar an seoltóir. Má oibríonn croith lámha agus ping bheag ach stopann aistriú comhad, laghdaigh an t-ualach go dtí go n-imeireann sé: ping -6 -s 1400 -c 3 2001:db8:bb::10. Tá MTU 1420 beart de réir réamhshocraithe ag comhéadain WireGuard agus baineann IPsec thar IPv4 níos mó, mar sin b'fhearr an MTU inmheánach a shocrú ná bheith ag súil le fionnachtana MTU bealach trí bhalla dóiteáin a scaoileadh ICMPv6.
Móid teipe a fhéachann cosúil le fadhbanna balla dóiteáin
Ní balla dóiteáin ar chor ar bith an ceann is coitianta: ceanglaíonn an tseirbhís le 0.0.0.0 in áit ::, tá an taifead AAAA ann, agus faigheann an cliant diúltadh tapaidh thar IPv6 a cheiltíonn brabhsálaí dé-shraithdeánach trí fhilleadh ar IPv4. Má theipeann ar chúpla feidhmchlár amháin, seiceáil an teaghlach éisteachta sula dteagmháil le sraith riail.
Is é an dara ceann scagadh ICMPv6. Tá Neighbor Discovery agus Packet Too Big mar chuid de ghnáthoibriú, ní de dhiagnóisic, agus chruthaíonn beartas a scaoileadh gach ICMPv6 tollán a nascann, a bhailíonn, agus ansin a stopann ar rud ar bith níos mó ná paicéad beag. Ceadaigh na cineálacha a mbíonn an bealach ag brath orthu agus fág na cuntair ar siúl ionas go bhfeictear scaoileadh.
Is é an tríú ceann réimír a chuirtear leis an tollán ach nach gcuirtear riamh le plean seolaí an tsuíomh a shealbhaíonn é, mar sin ní fhógraíonn aon ródaire é agus ní féidir le haon óstach freagra a thabhairt as. Tosaigh le réimír amháin agus péire óstach amháin, cruthaigh an dá threo leis na ceithre chéim, ansin cuir an chuid eile leis; fanann réimír briste mar aon líne amháin i gcumraíocht in áit athdhearadh. Is é an t-aon tagairt oifigiúil is fiú a choinneáil oscailte ná RFC 8200, a shainmhíníonn an ceannteideal a iompraíonn an tollán.