Binubuksan mo ang routing table pagkatapos kumonekta at makikita ang isang address na niruruta sa tunnel habang ang subnet sa paligid nito ay papunta pa rin sa lokal na gateway. Ang entry na iyon ay host route: isang address, tinutugma ng prefix na puro isa. Mahalaga ito dahil ginagamit ng mga desisyon sa routing ang pinakamahabang tugmang prefix, kaya ang /32 ay maaaring mangibabaw sa /24 o sa default na ruta nang hindi binabago ang alinman sa kanila. Kung ito ay maingat na eksepsiyon o pagsira sa hinaharap ay nakasalalay sa kung aling address ang pinapangalanan nito at sino ang nag-aalaga nito.

Isang address, isang entry sa table

Ang host route na IPv4 ay may prefix na /32 at ang host route na IPv6 ay may /128, ibig sabihin ay eksaktong isang destinasyong address lang ang matutugma ng entry. Wala nang ibang gumagalaw sa table: ang sumasaklaw na subnet at ang default na ruta ay nananatili kung nasaan sila. Ang makitid na entry ang nananalo para sa address na iyon dahil mas mahaba ang prefix nito, hindi dahil naidagdag ito nang huli.

Ang katangiang iyon ang gumagawa sa host route na mabuting eksepsiyon at masamang ugali. Dalawang entry na /32 na nagpapangalan sa harapang pinto ng isang serbisyo ay hindi saklaw ang pangalawang address nito, ang IPv6 address nito, o ang address na lilipatan nito sa susunod na buwan. Ang table na puno ng hindi maipaliwanag na entry na isang address ay karaniwang nangangahulugang may patuloy na nagtatagpi-tagpi sa paligid ng desisyon sa subnet sa halip na gawin ito. Basahin muna ang haba ng prefix, pagkatapos ay itanong kung ano ang dapat protektahan ng entry.

Basahin ang entry mula sa kliyente pakanluran

Magsimula sa makina na may problema, dahil ang parehong address ay maaaring rutahin nang iba sa laptop at sa gateway sa harap nito. Tanungin ang kernel kung aling landas ang pipiliin nito para sa eksaktong address na ginagamit ng aplikasyon, sa halip na basahin ang table mula sa itaas. Kasama sa sagot ang interface at ang susunod na hop, na magkasamang bumubuo ng desisyon.

ip route get 203.0.113.25
ip -6 route get 2001:db8:4::25
ip route show | grep -F 203.0.113.25
Find-NetRoute -RemoteIPAddress 203.0.113.25

Ulitin ang query para sa address family na aktwal na pinipili ng aplikasyon, dahil maaaring mas gusto ng kliyente ang IPv6 at tahimik na laktawan ang eksepsiyon sa IPv4. Ihambing ang resulta bago at pagkatapos ng pagtaas ng tunnel, at itago ang parehong output. Ipinapakita ng paghahambing na iyon kung idinagdag ng kliyente ang entry noong kumonekta o naroon na ito.

Ang permanenteng entry at ang runtime entry ay nabigo nang magkaiba. Ang runtime ay nawawala kasama ng session, habang ang permanente ay nakakalampas sa reboot at patuloy na nagpapadala ng trapiko sa gateway na wala nang gayon.

Ang eksepsiyon sa endpoint at ang bitag ng recursion

Karaniwang nag-iinstall ang mga VPN client ng host route patungo sa panlabas na address ng server sa pamamagitan ng orihinal na gateway bago nila i-redirect ang default na ruta. Kung wala ang entry na iyon, ang mga naka-encrypt na packet ay ipapadala sa loob ng tunnel na sinusubukan nilang itayo, at ang koneksiyon ay iikot hanggang maubos ang oras.

Lumilitaw ang bitag kapag ang mga tinatanggap na subnet ng tunnel ay nagkataong kasama ang endpoint address na iyon, o kapag ang pangalawang profile ay nagdagdag ng mas malawak na ruta mamaya. Nawawala noon ang endpoint entry sa mas mahabang prefix at bumagsak ang session sa sandaling magsimula itong magpasa ng trapiko. Ang pagsulat ng endpoint address sa tabi ng mga tinatanggap na subnet ang pinakamurang paraan para mapansin ang banggaan bago pa ang mga user. Ipinapaliwanag din nito kung bakit gumagana ang parehong profile mula sa isang network at nabigo mula sa iba.

I-verify ang landas na aktwal na ginagamit ng aplikasyon

Ang matagumpay na ping sa hostname ay mahinang ebidensiya kapag ang aplikasyon ay kumokonekta sa ibang address o ibang family. I-verify ang eksaktong kombinasyon ng address, family, port at interface, mula sa makinang nagpapatakbo ng kliyente.

ip route get 203.0.113.25
sudo nft list ruleset | grep -A 4 'chain output'
curl -sS --max-time 8 -o /dev/null -w '%{remote_ip}
' https://app.example.net

Kung mali ang landas, magpasya kung network o isang address ang pangangailangan bago mag-edit ng anuman. Ang pangangailangan ng isang address ay nagbibigay-katwiran sa host route na may komento at may-ari; ang serbisyong may umiikot na address ay nangangailangan ng routing na nakabatay sa domain o tapat na desisyon sa subnet.

Alisin ang mga entry na hindi na tumutugma sa tunay na destinasyon at itala ang mga pinapanatili mo. Ang /32 na hindi maipaliwanag ay hindi na makikilala sa bug pagkalipas ng tatlong buwan, at buburahin ito ng susunod na tao nang hindi alam kung ano ang umaasa rito.

Kaugnay na mga artikulo