Apa itu terowongan VPN, dan di mana perlindungannya berhenti
Terowongan membungkus paket terpilih dalam amplop kedua di atas tautan yang sudah Anda miliki. Ikuti satu permintaan dan lihat alamat mana yang benar-benar dicatat sebuah situs.
Klien menyatakan terhubung, gembok terkunci, dan sebuah situs tetap mencatat alamat flat Anda. Tidak ada yang gagal. Terowongan tidak menggantikan Wi-Fi atau tautan seluler Anda; ia menaruh amplop kedua di sekitar paket tertentu dan mengirim amplop itu melalui jaringan yang sudah Anda miliki. Memahami triknya terutama berarti mengikuti satu permintaan dan memperhatikan di mana amplop dibuka, karena hampir setiap gejala yang membingungkan, dari alamat rumah yang bocor hingga unduhan besar yang macet, berasal dari batas itu.
Dua amplop, satu tautan fisik
Laptop Anda mempertahankan koneksi normalnya ke router, dan router mempertahankan koneksi normalnya ke penyedia. Tidak ada yang berubah pada jalur itu saat terowongan naik. Yang berubah adalah paket terpilih diserahkan ke antarmuka virtual, dibungkus dalam paket baru yang dialamatkan ke rekan VPN, dan dikirim sebagai lalu lintas biasa melalui tautan fisik.
Ujung penerima adalah perangkat yang membuka amplop dan meneruskan paket asli menuju tujuannya. Di antara kedua ujung, pengamat melihat tajuk luar dan tidak tahu apa pun tentang yang dalam kecuali protokol mengenkripsinya, yang dilakukan sebagian besar protokol konsumen dan tidak diwajibkan oleh teknik umum.
Itulah sebabnya antarmuka virtual sekaligus nyata dan menyesatkan. Ia ada sebagai objek kernel dengan alamat dan unit transmisi maksimum, dan sistem operasi merutekan lalu lintas ke dalamnya seperti ke antarmuka lain. Ia bukan kabel, dan keberadaannya hanya membuktikan bahwa sebuah komponen terpasang. Apakah peramban Anda memakainya ditentukan oleh rute, bukan oleh antarmuka yang menyala.
Amati satu permintaan menempuh perjalanan
Pilih tujuan dan tanyakan kepada kernel antarmuka mana yang akan dipakai. Perintah tunggal ini menyelesaikan sebagian besar perdebatan tentang apakah terowongan melakukan sesuatu:
ip route get 203.0.113.7
ip -brief addr show
ip -4 addr show dev wg0
Jika keluaran rute menyebut antarmuka terowongan, paket akan dibungkus. Jika menyebut antarmuka fisik, paket tidak akan dibungkus, dan berapa kali pun klien dimulai ulang hal itu tidak berubah. Perintah kedua menampilkan kedua antarmuka berdampingan, dan begitulah Anda menemukan terowongan yang naik tanpa alamat atau dengan alamat dari keluarga yang salah.
Lalu lihat lompatan pertama dari dalam amplop, dan bandingkan dengan lompatan pertama dari luar:
traceroute -n -m 3 203.0.113.7
sudo tcpdump -ni wg0 -c 5
Di dalam terowongan, lompatan pertama adalah alamat dalam rekan, bukan router Anda. Tangkapan pada antarmuka terowongan memperlihatkan paket dalam, yaitu lalu lintas yang diyakini aplikasi sedang dikirimnya. Tangkapan pada antarmuka fisik pada saat yang sama memperlihatkan paket luar, dan keduanya bersama adalah demonstrasi paling jelas tentang apa yang sebenarnya dilakukan terowongan.
Tiga alamat, dan hanya satu yang dilihat situs
Orang terus mencampuradukkan ini, dan kebingungannya menghasilkan laporan kebocoran palsu. Ini bidang yang berbeda pada tajuk yang berbeda dengan masa hidup yang berbeda.
| 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 |
Angka di samping adaptor virtual adalah baris kedua. Itu bukan alamat yang dicatat situs, dan menyebutnya sebagai IP publik Anda jelas salah. Alamat yang dilihat situs diberikan oleh pintu keluar, dan pada terowongan jaringan pribadi mungkin tidak ada pintu keluar publik sama sekali, karena tujuannya berada di dalam organisasi dan bukan di internet.
Terowongan antarsitus adalah mekanisme yang sama dengan ujung berbeda. Dua router membungkus lalu lintas antarjaringan, dan tidak ada perangkat tunggal yang memasang klien. Amplopnya identik secara prinsip, sedangkan batas administratifnya tidak.
Di mana amplop dibuka, dan apa yang bertahan darinya
Terowongan berakhir di rekannya. Jika enkripsi aplikasi itu sendiri menjangkau lebih jauh, ia bertahan melewati batas itu, yang merupakan kasus normal bagi HTTPS: sesi peramban berakhir di situs, sehingga pintu keluar meneruskan teks tersandi yang tidak dapat dibacanya.
Tidak ada yang lain bertahan secara bawaan. Permintaan tanpa enkripsi terbaca di pintu keluar persis seperti terbaca di Wi-Fi kafe, dan terowongan tidak menambahkan perlindungan yang tidak pernah dimiliki aplikasi. Demikian pula, aturan tembok api dan kebijakan penerusan pintu keluar menentukan apa yang terjadi berikutnya; jabat tangan yang berhasil adalah fakta tentang koneksi ke rekan, bukan tentang sisa perjalanan.
Overhead adalah akibat lain yang terlihat. Setiap paket membawa tajuk tambahan, dan transportasi luar dapat menambahkan tajuknya sendiri, sehingga muatan berguna per paket menyusut. Pada jalur dengan unit transmisi maksimum tetap, itulah tepatnya alasan terowongan dapat meloloskan ping dan menghentikan unggahan besar.
Periksa jalur yang benar-benar diambil aplikasi
Langkah terakhir adalah memastikan aplikasi tertentu, bukan mesin secara umum. Selesaikan tujuan, lihat rute untuk alamat itu, lalu amati koneksinya saat terbuka:
getent hosts example.com
ip route get "$(getent hosts example.com | awk '{print $1; exit}')"
ss -tnp state established '( dport = :443 )'
Jika rute menyebut terowongan tetapi daftar soket menunjukkan koneksi dengan alamat sumber dari antarmuka fisik, aplikasi terikat pada sesuatu yang spesifik, atau terowongan kedua bersaing untuk rute bawaan. Ini pertanyaan perutean, dan dapat dijawab dari tiga keluaran ini alih-alih dari layar status klien.
Arsitektur keamanan RFC 4301 menjelaskan versi lapisan IP dari pembungkusan ini untuk IPsec, dan logika lapisan yang sama berlaku untuk WireGuard dan OpenVPN. Begitu Anda dapat menunjuk paket dalam dan paket luar sebagai objek terpisah, sebagian besar perilaku terowongan berhenti menjadi misterius dan menjadi tabel perutean yang dapat Anda baca.