Maaaring bigyan ng gateway ang isang gumagala na user ng parehong IPv4 at IPv6 virtual na address habang ang panlabas na tunnel ay dumadaan pa rin sa IPv4. Ito ay magkakahiwalay na desisyon, at ang pagtrato sa kanila bilang isa ang siyang punto kung saan kadalasang bumabagsak ang mga planong dual-stack. Ang mga panloob na pamilya ng kliyente, ang mga protektadong prefix na maaabot nito, at ang transport na nagdadala ng encapsulation ay tatlong magkakahiwalay na pagpipilian.

Karamihan ng kalituhan ay nagmumula sa paggamit ng salitang dual stack sa isang disenyo na dual stack sa isang lugar lamang. Ang isang serbisyo ay maaaring dual stack sa loob, single stack sa panlabas na address nito, at gayunpaman ay gumana nang maayos para sa mga kliyente. Ang hindi nito magagawa ay gumana nang nagkataon.

Dalawang pamilya sa loob, isang landas sa labas

Ang panlabas na koneksyon ay IKE sa ibabaw ng UDP, at nangangailangan ito ng isang maabot na pamilya ng address mula saanman naroon ang kliyente. Ang panloob na IPv6 address ay hindi nangangailangan ng provider na may IPv6, dahil ang panloob na packet ay kargamento sa loob ng panlabas. Maraming gumaganang deployment ang nagdadala ng IPv6 prefix sa pamamagitan ng uplink na IPv4 lamang.

Ang tunay na nililimitahan ng panlabas na landas ay ang maabot at ang pagdaan sa NAT. Kung ang gateway ay nag-anunsyo lamang ng IPv4 address, ang kliyente sa network na IPv6 lamang ay hindi makakonekta talaga, gaano man karaming pool ang iyong na-configure. Magpasya ng panlabas na pamilya batay sa populasyon ng iyong mga kliyente, hindi sa panloob na plano ng address.

Bigyan ang kliyente ng address sa bawat pamilya

Ang paghingi ng dalawang pamilya ay isang linyang pahayag sa panig ng kliyente, sa kondisyon na may ipamimigay ang gateway. Ang mga pinangalanang pool ay nagpapanatili ng mga pinagmulan na hiwalay sa mga network ng serbisyo, at ito ang katangiang nagpapabasa ng mga patakaran ng firewall pagkalipas ng anim na buwan.

pools {
  pool4 { addrs = 10.90.0.0/24 }
  pool6 { addrs = fd42:90::/64 }
}
connections {
  private-access {
    version = 2
    pools = pool4, pool6
    local  { auth = pubkey  certs = gateway.pem  id = vpn.example.com }
    remote { auth = pubkey  cacerts = ca.pem  vips = 0.0.0.0, :: }
    children {
      private { local_ts = 10.60.0.0/16, fd42:60::/48  remote_ts = dynamic }
    }
  }
}

Ang vips halaga ay humihingi ng address mula sa bawat pamilya, at ang listahan ng pool ang nagpapasya kung saan nagmumula ang mga address na iyon. Ang dokumentasyon ng strongSwan tungkol sa virtual IP ay sumasaklaw sa maraming kahilingan at paglalaan ng pool, kabilang ang puntong ang kliyenteng humihingi ng partikular na address ay nagpapahayag lamang ng kagustuhang maaaring pawalang-bisa ng tumutugon. Huwag bumuo ng patakaran sa pag-access na ipinapalagay na laging nakukuha ng kliyente ang parehong halaga.

Bumuo ng sarili mong natatanging lokal na prefix sa halip na kopyahin ang halimbawa. Dalawang organisasyon na kapwa fd42::/16 nagpapatupad nito ay matutuklasan ang banggaan sa unang pagkakataong magkakonekta sila, at ang pag-diagnose nito ay hindi kasiya-siya.

Inilalarawan ng mga selector ang mga destinasyon, hindi ang mga pinagmulan

Ang mga lokal na selector ng trapiko ng child SA ay nagsasabi kung aling mga protektadong network ang nasa likod ng gateway, at ang mga malayong selector ay naglalarawan kung ano ang maaaring gamitin ng kliyente bilang pinagmulan. Ang address ng virtual pool ay kabilang sa panig ng pinagmulan ng patakarang iyon; ang ilagay ito sa listahan ng destinasyon ay karaniwang maling pagbasa ng configuration.

Ang dalawang pamilya ay nangangailangan ng mga pabalik na ruta at pinapayagang forwarding sa gateway. Ang pagdaragdag ng prefix sa isang selector na walang rutang pabalik sa pool ay gumagawa ng tunnel na naitatag, nagpapadaan ng isang direksyon ng trapiko at tahimik na itinatapon ang sagot. Ang selector ay patakaran, hindi routing.

Panatilihin ang mga pool at ang mga prefix ng serbisyo sa magkakahiwalay na bloke ng iyong plano ng address. Kapag nag-overlap ang mga ito, ang rutang dapat makarating sa isang protektadong host ay maaaring tumugma sa address ng pool at mawala sa loob ng tunnel.

Ang DNS at ang landas ng sagot ang nagpapasya kung mukhang tapos na

Ang mga sagot ng resolver ay independiyente sa transport na ginagamit upang maabot ito. Ang isang pangalan ay maaaring magbalik ng A record, AAAA record o pareho, at ang kliyente ay pumipili ayon sa sarili nitong mga patakaran ng kagustuhan. Kung ang isang panloob na serbisyo ay naglalathala ng AAAA record ngunit walang nagro-ruta sa prefix na iyon, susubukan muna ng mga kliyente sa dual-stack network ang landas ng IPv6 at mananatili roon hanggang sa mabigo ito. Wala sa configuration ng tunnel ang mukhang mali habang nangyayari iyon.

Kaya magpasya para sa bawat pangalan kung aling mga pamilya ang dapat magamit, pagkatapos ay tiyakin na ang kaukulang prefix ay nasa selector at may rutang pabalik. Ito ay desisyon bawat serbisyo. Ang paglalathala ng parehong uri ng record nang walang pagkakaiba ay ang paraan kung paano ang isang gumaganang serbisyong IPv4 lamang ay nagsisimulang mag-time out para sa kalahati ng mga user nito.

Tiyakin ang dalawang pamilya bago ito tawaging tapos

Ang configuration na naglo-load ay hindi configuration na gumagana. Basahin ang kalagayang iniuulat ng daemon, kumpirmahin ang mga paglalaan ng pool, pagkatapos ay tingnan ang mga rutang aktuwal na inilagay ng kliyente.

swanctl --list-sas
swanctl --list-pools
ip -6 addr show scope global
ip -6 route get fd42:60::10

Ang unang dalawang utos ay nagpapakita ng mga naitatag na child SA at kung aling mga pool ang may natitirang address, kaya ang planong gumagana para sa unang kliyente at nabigo sa ikasampu ay nagiging nakikita. Ang huling dalawa ay nagpapakita kung nakatanggap ang kliyente ng pandaigdigang IPv6 address mula sa pool at saan talaga pupunta ang trapiko patungo sa protektadong prefix. Ihambing ang itinalagang address sa pool na na-configure mo, hindi sa address na inasahan mo. Kung ang tumutugon ay pumili ng ibang halaga ayon sa patakaran nito, ang mga ruta at patakaran ng firewall ay dapat pa ring tumugma sa pinili nito.

Pagkatapos ay subukan ang isang protektadong host bawat pamilya, at subukan ang isang pangalang lumulutas sa pareho. Ang pagsubok sa isang pamilya ay walang sinasabi tungkol sa kalahati ng plano na hindi mo pa nasanay, at doon karaniwang matatagpuan ang nawawalang ruta.

Kaugnay na mga artikulo