IPv6 gegnum OpenVPN-göng: ferð um heimilisbeini
IPv6 deyr eða lekur þegar göngin úthluta forskeyti sem beinirinn getur ekki beint. Farðu í gegnum biðlarann, laugina, framsendinguna, proxy NDP og afturleiðina í röð.
Fartölvan er með IPv6-tölu, göngin eru uppi yfir IPv4 og samt mistekst hvert IPv6-próf. Eða verr: prófið heppnast og umferðin fór út um slóð þjónustuveitandans án þess að komast inn í göngin. Báðar niðurstöður rekja sig til einnar vantar ákvörðunar: enginn gaf beininum forskeyti sem hann gæti beint að biðlurunum. Að ganga slóðina frá biðlaranum út finnur hvaða hluta vantar.
Byrjaðu þar sem biðlarinn situr
Skoðaðu biðlarann áður en þú snertir þjóninn. ip -6 addr ætti að sýna göngutölu úr lauginni og ip -6 route ætti að sýna ýtta forskeytið sem bendir á göngutækið. Þegar talan er til en slóðin ekki, vantar ýtinguna eða biðlarinn hunsaði hana. Þegar hvorki er til, úthlutaði þjónninn alls engu.
Athugaðu síðan hvað biðlarinn telur um umheiminn. Sjálfgefna slóð um göngin krefst allrar IPv6-umferðar, en slóð fyrir 2000::/3 krefst aðeins alheims unicast. Báðar geta verið réttar og svara mismunandi spurningum um leka.
Biðlari án nokkurrar sjálfgefinnar IPv6-slóðar mistekst í hverju opinberu prófi þótt göngin sjálf séu fullkomlega heilbrigð. Það er skarð í stefnu, ekki brotin göng.
Athugaðu laugina sem þjónninn getur raunverulega beint
Þjónn getur aðeins úthlutað úr forskeyti sem hann stjórnar raunverulega. Ef þjónustuveitandinn frameselur /56, vistaðu eitt /64 fyrir göngin og láttu restina vera fyrir LAN. Þar sem veitandinn afhendir aðeins eitt /64 á WAN og beinir engu frekar, skildu LAN-forsk eyðið eftir og gefðu göngunum einstakt staðbundið svið, og samþykktu að biðlararnir hafi enga alheimsútgöngu.
Laugin og ýtingin fara saman. server-ipv6 2001:db8:80:10::/64 úthlutar tölum og push "route-ipv6 2000::/3" segir biðlurunum hvað eigi að senda inn í göngin. Að ýta 2000::/3 nær yfir alheims unicast og heldur link-local og multicast sviðum utan gönganna.
Skrifaðu valið forskeyti í uppsetningarskrána. Sá sem breytir afhendingu veitandans næst þarf að vita hvaða /64 göngin taka þegar.
Kveiktu á framsendingu fyrir aðra fjölskylduna
IPv4-framsending þýðir ekki IPv6-framsendingu. Stilltu net.ipv6.conf.all.forwarding=1 og speglaðu allt sem IPv4 FORWARD-stefnan leyfir þegar. Á beini þar sem FORWARD-keðjan hendir sjálfgefið lítur vantar reglusett nákvæmlega út eins og dauð göng.
Handabandið heppnast, biðlarinn fær tölu og ekkert kemur til baka. Bættu við reglum fyrir báðar áttir og WAN-fótinn, því göng sem ná til LAN en ekki internetsins mistekst í þriðja prófinu. Eftir misheppnaða tilraun skoðaðu teljara keðjunnar, því regla sem passaði aldrei er annað vandamál en sú sem passaði og hendi.
ip6tables -A FORWARD -i br0 -o tun0 -j ACCEPT
ip6tables -A FORWARD -i tun0 -o br0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i tun0 -o wan0 -j ACCEPT
Ein aukaverkun grípur þá sem enda á að kenna göngunum um. Þegar framsending er kveikt sleppir kjarninn tölustillingu gegnum Router Advertisement nema annað sé sagt, og sjálfgefin slóð sem lærð er þannig hverfur með henni. Annaðhvort festu skýra sjálfgefna slóð á WAN-viðmótið eða stilltu accept_ra viljandi á 2 þar. Eftir hvora breytinguna sem er, staðfestu að beinirinn hafi enn nothæfa IPv6-slóð út áður en þú prófar biðlarana aftur.
Svaraðu nágrannauppgötvun þegar uppstreymið beinir ekki
Búnaður uppstreymis lítur stundum á frameselt /64 sem hluta af eigin tengingu og neitar að beina undirforsk eyði til VPN-kassans. Þegar það gerist verður eitthvað að svara nágrannabeiðnum fyrir hverja biðlaratölu sérstaklega.
OpenVPN afhjúpar úthlutaða töluna fyrir client-connect-kroki, svo færslur geta fylgt raunverulegu lauginni í stað lista sem haldið er við höndina. Krokið bætir ip -6 neigh add proxy $ifconfig_pool_remote_ip6 dev eth0 við og samsvarandi client-disconnect-kroki fjarlægir það. Án fjarlægingar verður proxy-taflan gömul og síðari biðlari getur erft færslu fyrir tölu sem hann fékk aldrei. Staðfestu stöðuna með ip -6 neigh show proxy.
Líttu á proxy sem vinnubrögð í neyð. Staðbundin slóð fyrir /64 gönganna sem beinist að beininum lifir af biðlaraskipti og þarf alls ekki forréttindakroki í skel.
Fylgdu slóðinni út, stökk eftir stökk
Prófaðu út í þremur skrefum: fyrst göngutölu beinisins, svo LAN-hýsil og þriðja opinbert áfangastað með traceroute6. Laugin er sönnuð með fyrsta, framsendingin og LAN-eldveggurinn með öðru og afturleiðin um uppstreymið með þriðja. Hvert mistök þrengja leitina að einu tæki í stað þess að opna alla hönnunina aftur.
Fylgstu með MTU ganganna, því IPv6-beinar á slóðinni sundra ekki fyrir þig. Of stórt MTU kemur fram sem packet-too-big-villa og stöðnuð TLS í stað hreins mistaks. Stilltu það skýrt og prófaðu með hleðslu nálægt mörkunum.