VPN-adaptilo montras /32: tio ne signifas unu celon
Masko 255.255.255.255 sur VPN-adaptilo estas la propra adreso de la kliento, ne limo de atingeblaj gastigantoj. Legu aparte la vojojn, la amplekson de la kluzo kaj la revenan vojon.
Adaptiloj montras 255.255.255.255, kaj ofte la konkludo estas, ke la VPN atingas ĝuste unu adreson. Tiu legado konfuzas la propran adreson de la kliento kun la aro de celoj enkursigitaj tra la tunelo. Sur punkto-al-punkta aŭ enkursigita interfaco temas pri du malsamaj objektoj, kaj nur unu el ili limigas atingeblon. La mito pluvivas ĉar la masko aspektas kiel la subreta masko, kiun homoj lernis sur Ethernet.
La mito: gastiganta masko signifas unu atingeblan gastiganton
Atribuo /32 diras al la interfaco, kiu adreso apartenas al ĉi tiu fino de la ligo, kaj sur punkto-al-punkta ligo tio estas ĉio, kion ĝi signifas. La adreso de la kunulo estas aparta kampo, kaj la vojoj, kiuj diras, kio kuŝas trans la kunulo, estas denove apartaj. Nenio en la masko priskribas la malproksiman reton, ĉar la masko ne estas la loko, kie oni priskribas malproksimajn retojn. Legi ĝin kiel atingeblecan limon estas kiel legi vian propran domnumeron kiel liston de ĉiuj adresoj, kiujn vi rajtas viziti.
La konfuzo havas veran radikon: sur Ethernet, gastiganta masko vere signifus unu solan adreson en tiu segmento. Tunelo ne estas Ethernet-segmento, kaj pri tio, kio pasas tra ĝi, decidas la enkursiga tabelo de la kliento, ne la masko. Tial la sama /32 povas stari antaŭ tuta datena centro.
Legu la adreson kaj la vojojn kiel apartajn objektojn
Presu la interfacon kaj la tabelon kune, kaj poste legu ilin kiel du respondojn al du demandoj. La adreso respondas, kiu estas ĉi tiu fino; la vojoj respondas, kien la trafiko rajtas iri. Tria demando, kiujn celojn la kluzo permesas, tute ne videblas ĉe la kliento. La adresa referenco de iproute2 priskribas la kampojn de loka adreso, kunulo kaj prefiksa vojo aparte ĝuste pro ĉi tiu kialo.
ip addr show tun0
ip route show
ip route get 10.60.5.10
En Windows la sama disigo ekzistas inter la adreslisto kaj la enkursiga tabelo, kaj la serĉa komando estas la plej rapida maniero vidi, kiu venkas por difinita celo. Se la serĉo redonas la tunelan interfacon, la kliento sendos la paketon tien. Se ĝi redonas la fizikan adaptilon, la kliento neniam demandas la VPN, kaj neniu permeso ĉe la servilo ŝanĝos tion. Kontrolu la celon, kiun vi vere bezonas, ne ĝeneralan publikan adreson.
Get-NetIPAddress -InterfaceAlias "VPN"
Find-NetRoute -RemoteIPAddress 10.60.5.10
Haltu, se la serĉo montras al la malĝusta interfaco. Tio estas enkursiga problemo ĉe la kliento, kaj ĝi estas riparata ĉe la kliento.
Kial plilarĝigi la maskon kutime plimalbonigas ĝin
Ŝanĝi la atribuon al /24 por aspekti kiel la oficeja LAN povas krei prefikson sur la ligo: la kerno nun kredas, ke la tuta /24 estas rekte alkroĉita al la tunela interfaco. Trafiko al adresoj, kiuj devus esti enkursigitaj tra la kluzo, estas tiam sendata kvazaŭ najbaro estus sur la ligo. La rezulto estas nigra truo, kiu aspektas kiel paneo de servilo.
Ĝi ankaŭ kaŝas la veran problemon, nome mankan vojon aŭ mankan permeson ĉe la kluzo. Nek unu nek la alia estas kreata de pli larĝa masko, kaj ambaŭ postvivas la ŝanĝon. Se la dezajno bezonas pli grandan prefikson ĉe la interfaco, tio estas decido por la uzata interfaca modelo, farita kun la dokumentaro en la mano. Kopii maskon el ekrankopioj de alia produkto ne estas tiu decido.
Se la vojo de la malproksima prefikso mankas, riparu ĝian provizadon. Se ĝi ekzistas kaj la konekto ankoraŭ estas rifuzata, la masko neniam estis la diagnozo.
Kiam la vojo estas ĝusta kaj la fluo ankoraŭ fiaskas
Ĝusta vojo pruvas nur, ke la kliento sendos la paketon. La kluzo ankoraŭ devas akcepti la celon, la reva vojo devas ekzisti por la atribuita adreso, kaj la servo devas permesi la fluon. Testu tiujn tri aparte: la serĉon ĉe la kliento, la permesitan amplekson de la kluzo, kaj peton al unu bezonata servilo. Sukcesa aŭtentigo antaŭ ol ĉiuj tri estas en loko estas normala, kaj tial konektita kliento povas ankoraŭ atingi nenion.
ping -c1 10.60.5.10
traceroute -n 10.60.5.10
curl -sv https://app.internal.example/ -o /dev/null
Tenu retajn objektojn kaj grupajn permesojn ĉe ilia posedanto en servo administrata de aparato. Tio, kion oni diras al la kliento atingi, kaj tio, kion ĝi rajtas uzi, estas malsamaj agordoj, ofte sur malsamaj ekranoj. Ŝanĝi unu kaj testi la alian estas kiel bileto resaltas inter du teamoj.
La mito forlasenda estas, ke la masko estas atingebleca limo. Legu la adreson, la vojojn kaj la kluzan politikon kiel tri apartajn faktojn, kaj /32 ĉesas aspekti kiel limigo kaj komencas aspekti kiel normala tunela atribuo.