Ano ang VPN tunnel, at saan nagtatapos ang proteksyon
Nilalagyan ng tunnel ng pangalawang sobre ang mga piling pakete sa ibabaw ng link na mayroon ka na. Sundan ang isang kahilingan at tingnan kung aling address ang aktwal na itinatala ng isang site.
Sinasabi ng kliyente na konektado, nakasara ang kandado, at nagtatala pa rin ang isang site ng address ng iyong flat. Walang nabigo. Hindi pinapalitan ng tunnel ang Wi-Fi o mobile link mo; nilalagyan nito ng pangalawang sobre ang ilang pakete at ipinapadala ang sobreng iyon sa network na mayroon ka na. Ang pag-unawa sa trick ay halos tungkol sa pagsunod sa isang kahilingan at pagpansin kung saan binubuksan ang sobre, dahil halos lahat ng nakakalitong sintomas, mula sa tumutulong address ng bahay hanggang sa natigil na malaking download, ay nagmumula sa hangganang iyon.
Dalawang sobre, isang pisikal na link
Pinapanatili ng laptop mo ang normal na koneksyon nito sa router, at pinapanatili ng router ang normal na koneksyon nito sa provider. Walang nagbabago sa landas na iyon kapag tumaas ang tunnel. Ang nagbabago ay ang mga piling pakete ay ibinibigay sa isang virtual na interface, binabalot sa isang bagong pakete na naka-address sa VPN peer, at ipinapadala bilang ordinaryong trapiko sa pisikal na link.
Ang receiving end ay isang device na nagbubukas ng sobre at nagpapasa ng orihinal na pakete patungo sa destinasyon nito. Sa pagitan ng dalawang dulo, nakikita ng observer ang panlabas na header at wala tungkol sa panloob, maliban kung ini-encrypt ito ng protocol, na ginagawa ng karamihan ng consumer protocol at hindi hinihiling ng pangkalahatang teknik.
Kaya ang virtual na interface ay totoo at nakakalito nang sabay. Umiiral ito bilang kernel object na may address at maximum transmission unit, at pinapasa ng operating system ang trapiko papasok dito tulad ng sa anumang ibang interface. Hindi ito cable, at ang pag-iral nito ay nagpapatunay lamang na may naka-install na component. Kung ginagamit ito ng browser mo ay pinagpapasyahan ng mga ruta, hindi ng kung nakabukas ang interface.
Sundan ang isang kahilingan sa paglalakbay
Pumili ng destinasyon at tanungin ang kernel kung aling interface ang gagamitin. Ang nag-iisang utos na ito ay nagtatapos sa karamihan ng pagtatalo tungkol sa kung may ginagawa ang tunnel:
ip route get 203.0.113.7
ip -brief addr show
ip -4 addr show dev wg0
Kung pinangalanan ng output ng ruta ang interface ng tunnel, babalutin ang pakete. Kung pinangalanan nito ang pisikal na interface, hindi ito babalutin, at walang pag-restart ng kliyente ang makakabago niyon. Ipinapakita ng pangalawang utos ang dalawang interface nang magkatabi, at ganoon mo namamataan ang isang tunnel na tumaas nang walang address o may address mula sa maling pamilya.
Pagkatapos tingnan ang unang hop mula sa loob ng sobre, at ihambing ito sa unang hop mula sa labas:
traceroute -n -m 3 203.0.113.7
sudo tcpdump -ni wg0 -c 5
Sa loob ng tunnel ang unang hop ay ang panloob na address ng peer, hindi ang router mo. Ipinapakita ng capture sa interface ng tunnel ang mga panloob na pakete, iyon ang trapikong inaakala ng application na ipinapadala nito. Ang sabay na pag-capture sa pisikal na interface ay nagpapakita ng mga panlabas na pakete, at ang dalawa nang magkasama ang pinakamalinaw na pagpapakita ng aktwal na ginagawa ng tunnel.
Tatlong address, at isa lang ang nakikita ng site
Patuloy na pinagkakamalan ng mga tao ang mga ito, at ang kalituhan ay gumagawa ng mga huwad na ulat ng pagtagas. Magkaibang field ang mga ito sa magkaibang header na may magkaibang habang-buhay.
| Address | Where it appears | Who can see it |
|---|---|---|
| Endpoint address | Outer header, the peer you connect to | Your access network and the path to it |
| Inner tunnel address | Inside the envelope, on the virtual interface | The peer, and anything the peer routes to |
| Exit address | Source of the packet that reaches the website | The website and its upstream |
Ang numero sa tabi ng virtual adapter ay ang pangalawang hilera. Hindi ito ang address na itinatala ng isang site, at ang pagsipi dito bilang public IP mo ay simpleng mali. Ang address na nakikita ng isang site ay ibinibigay ng exit, at sa isang tunnel patungo sa pribadong network maaaring walang public exit, dahil ang destinasyon ay nasa loob ng organisasyon at hindi sa internet.
Ang tunnel sa pagitan ng mga site ay parehong mekanismo na may ibang endpoint. Dalawang router ang nagbabalot ng trapiko sa pagitan ng mga network, at walang indibidwal na device ang may naka-install na kliyente. Ang sobre ay magkapareho sa prinsipyo, ang administratibong hangganan ay hindi.
Saan binubuksan ang sobre, at ano ang nakakaligtas dito
Nagtatapos ang tunnel sa peer nito. Kung ang sariling encryption ng application ay mas malayo pa, nakakaligtas ito sa hangganang iyon, na normal na kaso para sa HTTPS: nagtatapos ang session ng browser sa site, kaya ipinapasa ng exit ang ciphertext na hindi nito mabasa.
Walang ibang nakakaligtas bilang default. Ang isang kahilingang hindi naka-encrypt ay nababasa sa exit kung paano ito nababasa sa Wi-Fi ng café, at hindi nagdadagdag ang tunnel ng proteksyong hindi kailanman nagkaroon ang application. Gayundin, ang mga firewall rule at patakaran sa pagpapasa ng exit ang nagpapasya kung ano ang susunod; ang matagumpay na handshake ay katotohanan tungkol sa koneksyon sa peer, hindi tungkol sa natitirang bahagi ng paglalakbay.
Ang overhead ay ang isa pang nakikitang bunga. Bawat pakete ay may dalang karagdagang header, at ang panlabas na transport ay maaaring magdagdag ng sarili nito, kaya lumiliit ang magagamit na payload bawat pakete. Sa isang landas na may nakapirming maximum transmission unit, iyon nga ang dahilan kung bakit ang isang tunnel ay nakakapasa ng ping at nakakapigil ng malaking upload.
Suriin ang landas na aktwal na tinahak ng application
Ang huling hakbang ay kumpirmahin ang partikular na application, hindi ang makina sa pangkalahatan. I-resolve ang destinasyon, tingnan ang ruta para sa address na iyon, at pagkatapos ay obserbahan ang koneksyon habang bukas ito:
getent hosts example.com
ip route get "$(getent hosts example.com | awk '{print $1; exit}')"
ss -tnp state established '( dport = :443 )'
Kung pinangalanan ng ruta ang tunnel ngunit ang listahan ng socket ay nagpapakita ng koneksyong may source address mula sa pisikal na interface, ang application ay nakatali sa isang partikular na bagay, o may pangalawang tunnel na nakikipag-agawan sa default na ruta. Ito ay tanong sa routing, at masasagot mula sa tatlong output na ito kaysa sa status screen ng kliyente.
Ang arkitekturang panseguridad ng RFC 4301 ay naglalarawan ng bersyon sa antas IP ng pagbabalot na ito para sa IPsec, at ang parehong lohika ng antas ay nalalapat sa WireGuard at OpenVPN. Kapag naipapakita mo na ang panloob na pakete at ang panlabas na pakete bilang magkaibang bagay, ang karamihan ng pag-uugali ng tunnel ay tumitigil na maging misteryoso at nagiging routing table na mababasa mo.