Inti tqajjem it-tunnel, tagħmel ping lil fe80::1 bit-tunnel bħala l-interface tas-sors, u ma tiġi lura xejn. Din mhix regola tal-firewall li insejt. Indirizz link-local għandu tifsira biss fuq dak il-link wieħed fejn ifforma, u VPN bl-instradar mhuwiex dak il-link. Il-fe80::1 tar-router remot jgħix fuq is-segment LAN remot; inti qiegħed hop 'il bogħod fuq segment ieħor, u IPv6 m'għandux mekkaniżmu biex router jgħaddi pakketti link-local xejn.

Il-prefiss fe80 jiddeskrivi ambitu, mhux firxa

Link-local unicast huwa fe80::/10, u l-proprjetà li tiddefinixxi mhix in-numru iżda l-ambitu. L-indirizz huwa validu biss fuq link wieħed, u kull interface jifforma wieħed mill-identifikatur tiegħu stess, u għalhekk żewġ magni mhux relatati fuq żewġ netwerks mhux relatati jistgħu t-tnejn iwieġbu lil fe80::1 mingħajr l-iċken konflitt. Il-prefiss bażikament jgħid “fuq xi link”; il-link innifsu jiġi mill-kuntest.

Fuq host, dak il-kuntest huwa ż-żona, jew scope ID, li żżid wara sinjal tal-persentaġġ: fe80::1%eth0 fuq Linux, fe80::1%3 jew fe80::1%12 fuq Windows u fi għodod li juru l-indiċi tal-interface. Il-kernel jissolva l-indirizz flimkien mal-indiċi tal-interface u mbagħad jibgħat. Jekk tneħħi ż-żona, id-destinazzjoni ssir ambigwa, u għalhekk l-istack m'għandux mod kif jagħżel segment.

Għaliex tunnel bl-instradar ma jistax iwassalha

VPN bl-instradar huwa interface punt-punt li jġorr l-indirizzi tiegħu stess, normalment /64 ta' spazju IPv6 unique-local jew privat ġewwa t-tunnel. Il-LAN remot huwa link separat, milħuq mill-punt tat-tarf tat-tunnel li jinstrada u jgħaddi f'ismek. Dawn huma żewġ segmenti distinti, u għalhekk indirizz minn wieħed mhuwiex destinazzjoni valida fuq l-ieħor.

Ir-regola tal-għoti hija espliċita fl-istandard, mhux stramberija tal-klijent tiegħek: ir-routerers ma jgħaddux pakketti b'sors jew destinazzjoni link-local. Għalhekk il-pakkett imut anki meta t-tabella tal-instradar tidher korretta. Żid rotta għal fe80::/64 lejn it-tunnel u stack konformi jew jiċħadha jew jaċċettaha u jwarrab kull pakkett li jaqbel: l-ambitu tad-destinazzjoni jgħid “dan il-link biss”, u l-interface ħierġa mhix dak il-link.

L-iskoperta tal-ġirien issaħħaħ l-istess konfini. Il-hosts jissolvu l-hopijiet li jmiss link-local b'talba tal-ġirien mibgħuta lill-multicast tal-ambitu tal-link b'limitu ta' hop ta' 255, u għalhekk ir-routerers jistgħu jiċħdu kull ma jiġi mgħoddi. Li tagħmel dan jaħdem minn naħa għall-oħra tat-tunnel ifisser li tipproxja l-iskoperta għal segment remot, li hija bridging Layer 2 b'kappell differenti.

Hemm it-tieni falliment aktar kwiet, u dan jaqbad lil dawk li xorta jippruvaw iġiegħlu r-rotta: iż-żona. Kwalunkwe żona li tittajpja lokalment issemmi l-interface tat-tunnel, filwaqt li l-indirizz li trid huwa marbut mal-interface tal-LAN remot. It-tnejn qatt ma jaqblu, u għalhekk il-pakkett ma jistax jiġi dirett lejn l-interface t-tajba fit-tarf remot.

Kif jidher il-falliment fil-prattika

L-output tal-għodda għal żball fl-ambitu jinqara bħal żball fl-instradar jew fil-firewall, u huwa eżattament għalhekk li n-nies iqattgħu nofs ta' jum fil-saff ħażin.

What you runWhat you seeWhat it means
ping fe80::1 with no zoneInvalid argument on Linux, or a transmit failure on WindowsThe stack cannot pick an interface for an ambiguous destination
ping -6 -I tun0 fe80::1Destination unreachable, or a silent timeoutThe address is not on the tunnel link, so there is nothing on-link to answer
ssh user@fe80::1 after the tunnel is upHangs, then no route to hostThe SYN never left the machine in a deliverable form; the server logs nothing
ip -6 neigh show dev tun0Empty tableNo neighbor entry can exist for a link-local host that is not on this link
fe80::/64 inside AllowedIPs or route-ipv6Config accepted, traffic still droppedThe tunnel carried the packet; the receiving stack refused to forward it

It-tielet ringiela taħli l-aktar ħin, għax klijent ssh mingħajr output jidher bħal problema ta' servizz li qed jisma'. Jekk għandek xi mod kif tidħol, iċċekkja n-naħa remota u kkonferma jekk sshd huwiex marbut mal-indirizzi kollha jew ma' wieħed biss.

Uża indirizz li kien maħsub biex jiġi instradat

Għal kull ma trid tilħaq mit-tunnel, uża l-indirizz li s-servizz ingħata għal dan il-għan: indirizz unicast globali, jew indirizz unique-local minn fc00::/7, il-firxa riservata eżattament għal dan il-każ intern. Ikkonferma li s-sempliċi jorbotha tassew, u ċċekkja l-passaġġ tar-ritorn u kwalunkwe regola tal-firewall tal-host.

Ħares lejn il-host remot minflok ma taħseb. ip -6 addr show jelenka l-indirizzi li jeżistu, u ss -6 -ltn jelenka fuq xiex qed jisma' d-daemon. Servizz marbut biss ma' fe80:: jista' jintlaħaq biss mis-segment tiegħu stess, li normalment huwa default li ħadd ma għażel apposta u li jista' jinbidel bil-qbil tal-amministratur.

Meta s-servizz tassew ma jistax jerġa' jiġi marbut, tellgħa l-pont għas-saff tal-applikazzjoni minflok is-saff tan-netwerk. Relay fuq il-host remot li jisma' fuq indirizz instradabbli u jikkonnettja ma' dak link-local issolvi l-problema mingħajr ma testendi ebda segment:

socat TCP6-LISTEN:8080,bind=[fd00:1:2::10] TCP6:[fe80::1%eth0]:80

Hawnhekk iż-żona tinsab fuq in-naħa t-tajba, fuq il-host li tassew għandu eth0 fuq dak il-link. Il-klijent tiegħek jitkellem ma' fd00:1:2::10, li jiġi instradat normalment, u r-relay jagħmel il-hop link-local lokalment. L-istess trick jaħdem għall-UI web ta' apparat jew BMC antik li jirreklama biss indirizz link-local.

Meta l-bridging tassew hija t-tweġiba, u x'għandek tiċċekkja

Xi installazzjonijiet tassew jeħtieġu segment wieħed maqsum: apparat li jitkellem biss skoperta link-local, apparat li jiddependi mill-multicast, laboratorju li jirriproduċi LAN ċatta. Din hija problema ta' Layer 2 u teħtieġ tweġiba ta' Layer 2, bħal apparat tap magħqud mal-interface remot jew prodott tal-klijent b'modalità bridged espliċita. Dan jiswielek traffiku broadcast u multicast li jaqsam it-tunnel flimkien ma' skoperta tal-ġirien li trid taħdem mill-bidu sat-tmiem.

Taqrabx dan billi żżid fe80::/64 ma' profil instradat. Dan jipproduċi l-agħar stat: il-konfigurazzjoni tidher lesta, it-tabella tal-instradar turi entrata, u kull pakkett xorta jiġi mwarrab xi mkien bejn żewġ stacks li t-tnejn qed iġibu ruħhom sew.

Ivverifika bl-interface mhux bil-ping. ip -6 addr show tun0 jgħidlek jekk il-link tat-tunnel ifformax indirizz link-local tiegħu stess, u ip -6 route get fe80::1%tun0 jgħidlek x'jagħmel il-kernel tassew b'destinazzjoni bl-ambitu. Meta l-kernel jgħid li d-destinazzjoni ma tintlaħaqx fuq dak l-interface, ebda setting tat-tunnel ma jbiddel dan, u wasal iż-żmien li tieqaf teditja l-profil.

Sekwenza qasira li ssolvi l-mistoqsija:

  • Aqra l-indirizz fuq il-host remot u innota jekk huwiex fe80:: jew prefiss instradabbli.
  • Jekk huwa fe80::, erġa' orbotha s-servizz, agħmel relay fuq dak il-host, jew għaqqad is-segment b'pont; jekk huwa instradabbli, sewwi r-rotta, il-firewall jew l-indirizz tal-irbit.
  • Erġa' iċċekkja ż-żona kull darba li terġa' tittestja, għax kmand ikkupjat normalment iżomm l-interface ħażina.

Sorsi: RFC 4291, arkitettura tal-indirizzar IPv6.

Artikli relatati