Basis data yang berfungsi sebelum VPN tersambung dan gagal setelahnya jarang merupakan masalah kredensial. Firewall cloud mencocokkan alamat sumber, dan tunnel penuh menggantikan alamat yang sedang mereka cocokkan. Selisih antara apa yang Anda kira dikirim laptop Anda dan apa yang diterima server adalah seluruh bug, dan dapat diukur dalam satu langkah.

Apa yang menjadi alamat sumber

Dalam tunnel penuh, setiap paket keluar melalui gateway VPN, sehingga server melihat alamat keluar gateway, bukan koneksi rumah Anda. Jika ada proxy penerus di jalur tersebut, alamatnya yang tiba. Keduanya sumber yang sah, dan tidak satu pun merupakan alamat dalam aturan awal Anda.

Aturan firewall Azure SQL pada tingkat server dan tingkat basis data mencocokkan alamat klien yang mencapai server logis, yang setelah tunnel penuh adalah alamat keluar. Grup keamanan AWS yang mengizinkan satu alamat berperilaku sama. Paket dibuang sebelum autentikasi, sehingga kesalahan yang Anda terima terlihat seperti kegagalan jaringan, bukan masalah izin. Itulah tepatnya alasan orang mulai mengatur ulang kata sandi.

Di mana daftar izin diputuskan

Baca aturan yang cocok dengan jalur yang gagal, bukan aturan yang Anda ingat pernah dibuat. Catat cakupannya, portnya, protokolnya, dan apakah aturan itu dievaluasi sebelum pemeriksaan identitas apa pun.

Lalu putuskan lapisan mana yang berhak atas keputusan itu. Aturan alamat menjawab dari mana lalu lintas berasal. Titik akhir privat menjawab apakah layanan dapat dijangkau melalui jalur privat sama sekali. Pengecualian tunnel terpisah menjawab tujuan mana yang melewati tunnel. Keduanya tidak dapat ditukar, dan masing-masing gagal dengan cara berbeda ketika tunnel berubah.

Tiga perbaikan, tiga lapisan

Setiap opsi di bawah memperbaiki aliran karena alasan berbeda, dan memilih yang salah menghasilkan koneksi yang berfungsi sampai perubahan gateway berikutnya.

RepairLayer it changesWhat it does not fix
Add the egress address to the ruleSource address matchingNothing about routing, and it breaks when the egress moves
Use a private endpointWhether the service is reached privatelyA client that still resolves the public name
Add a split-tunnel exceptionWhich flows bypass the tunnelAn expired credential or a wrong password

Menambahkan alamat keluar adalah perubahan terkecil dan paling rapuh, karena gateway baru atau wilayah berbeda membatalkannya secara diam-diam. Dokumentasikan alamat itu di samping definisi tunnel agar keduanya bergerak bersama. Rentang lebar sementara adalah diagnostik, bukan perbaikan; membiarkannya di tempat adalah cara layanan internal akhirnya terekspos.

Mengapa platform terkelola tidak dapat bergabung ke tunnel

Platform aplikasi seperti Heroku, AppHarbor, atau CloudBees menjalankan kode Anda di lingkungan tanpa perangkat tun atau tap dan tanpa hak istimewa untuk membuatnya. Model masuknya adalah HTTP, bukan soket pendengar sembarang. Buildpack yang membawa biner VPN tetap tidak punya tempat untuk menaruh antarmuka. Pola yang dapat berjalan adalah alamat keluar statis yang dapat diizinkan basis data, produk koneksi privat yang ditawarkan platform, atau proxy di DMZ yang dijangkau melalui HTTPS.

Proxy itu adalah jalur akses dengan autentikasi dan pencatatannya sendiri. Itu tidak menjadikan platform anggota VPN Anda, dan menggambarkannya begitu menghasilkan aturan yang tidak dapat diaudit siapa pun.

Verifikasi dari klien yang gagal

Sambungkan ulang dan ulangi jalur klien yang persis. Periksa alamat sumber yang dicatat layanan, rute yang dipilih klien untuk nama basis data, dan hasil kueri sebenarnya, dalam urutan itu. Uji dari gateway membuktikan gateway berfungsi, yang tidak pernah diragukan. Jika koneksi sekarang terautentikasi dan kueri masih gagal, masalah yang tersisa adalah izin basis data.

Tinjau aturan ini setiap kali tunnel berubah. Gateway yang diganti atau rentang keluar baru memutus jalur tanpa perubahan konfigurasi aplikasi sama sekali.

Artikel terkait