Klien terhubung, terowongan membawa ping ke gateway, dan tidak ada yang menjawab di baliknya. Keadaan itu normal untuk gateway yang sejak awal hanya dimaksudkan memberi akses ke jaringan terlindungi, dan itu adalah kesalahan untuk gateway yang diiklankan sebagai keluaran terowongan penuh. Sebelum mengubah aturan, pastikan layanan mana yang dijanjikan. Lalu ikuti satu permintaan publik melalui empat tempat yang dapat menghentikannya. Satu permintaan dan satu tangkapan paket menyelesaikan lebih banyak daripada satu halaman dugaan.

Pastikan keluaran internet memang pernah menjadi desain

Profil terowongan terpisah hanya mengarahkan subnet terlindungi ke VPN, sehingga penjelajahan publik tetap melalui tautan lokal dan tidak pernah menyentuh gateway. Profil terowongan penuh memasang rute default ke dalam terowongan, yang membuat gateway bertanggung jawab atas seluruh jalur. Keduanya adalah desain yang sah, dan mencampuradukkannya menghasilkan laporan kesalahan di tempat yang tidak ada. Baca rute yang diumumkan klien sebelum menguji hal lain, karena tabel rute menjawab pertanyaan yang biasanya salah diajukan dalam tiket.

Apa yang dipasang klien tidak selalu sesuai dengan maksud profil. Rute yang didorong dapat dikalahkan oleh rute lokal dengan metrik lebih rendah, dan klien yang mempertahankan rute LAN sambil menambahkan rute default berperilaku seperti terowongan terpisah untuk subnet itu.

Ikuti satu permintaan publik

Pilih satu tujuan dan ikuti dari klien ke luar. Pada klien, periksa apakah paket benar-benar memilih terowongan dan alamat lokal mana yang dipakai sebagai sumber. Lalu periksa gateway: apakah paket tiba, dan apakah keluar dari antarmuka publik. Setiap jawaban itu menghapus satu kategori penyebab.

ip route get 1.1.1.1
ip -4 addr show tun0
conntrack -L | grep 1.1.1.1
tcpdump -ni any host 1.1.1.1

Jika gateway tidak pernah melihat paket, rute klien atau pemilihan terowongan salah. Jika paket tiba dan tidak keluar, masalah ada di gateway, dan tiga pemeriksaan tersisa berlaku.

Periksa penerusan, rute, dan terjemahan

Panduan penerusan yang disertakan dengan strongSwan berlaku untuk gateway semua jenis terowongan: kernel harus diizinkan memindahkan paket antarmuka, dan rute yang dapat dipakai harus menunjuk ke internet. Kebijakan firewall kemudian harus mengizinkan lalu lintas, dan alamat sumber harus salah satu yang dapat dijawab sisi publik. Alamat klien privat yang diteruskan tanpa perubahan ke internet tidak pernah menerima balasan.

sysctl net.ipv4.ip_forward
ip route get 1.1.1.1
nft list ruleset | grep -A6 forward
sysctl net.ipv4.conf.all.rp_filter

Terjemahan sumber adalah bagian yang biasanya hilang. Dengannya gateway menulis ulang sumber klien ke alamat publiknya dan melacak aliran; tanpanya balasan tidak punya tempat tujuan. Platform cloud menambahkan batas kedua, tempat tabel rute atau grup keamanan instans dapat membuang lalu lintas yang diizinkan firewall tamu. Batas itu mudah terlewat karena sistem tamu terlihat terkonfigurasi benar dari dalam.

Penyaringan jalur balik pada pengaturan asimetris juga dapat membuang paket yang sah. Baca penghitung aturan itu alih-alih menganggapnya baik-baik saja, karena pengaturan ketat pada antarmuka publik menolak lalu lintas yang datang melalui jalur berbeda dari yang diperkirakan tabel rute.

Jalur balasan dan resolver adalah dua jawaban berbeda

Perhatikan juga balasannya, bukan hanya permintaannya. Jika permintaan keluar dalam keadaan diterjemahkan dan balasan kembali ke aliran yang diterjemahkan, penerusan bekerja meskipun aplikasi masih gagal, dan penyelidikan berikutnya menjadi milik aplikasi atau DNS.

Situs yang mengembalikan kesalahan HTTP adalah bukti bahwa penerusan ke internet berfungsi. Nama yang tidak dapat diselesaikan sementara akses melalui alamat berfungsi adalah masalah resolver, bukan masalah NAT.

Setelah koreksi yang sempit, uji ulang klien serta setiap sumber daya privat yang sengaja dibatasi. Memberi akses internet tidak boleh diam-diam memperlebar akses ke setiap jaringan yang terhubung ke gateway.

Artikel terkait