Ganti penyedia tanpa menomori ulang alamat VPN situs
VPN situs berute mempertahankan alamat privat saat uplink berubah, tetapi alamat peer, identitas, dan jalur balik masih perlu ditangani. Inilah pemisahannya.
Sebuah cabang berganti penyedia internet, dan server berkas tetap mempertahankan alamatnya. Hasil itu normal dalam VPN situs berute dan mengejutkan bagi siapa pun yang mengira alamat titik ujung terowongan adalah alamat aplikasi. Keduanya hidup di lapisan desain yang berbeda, dan hanya satu yang berpindah. Memperlakukan keduanya sebagai satu adalah cara migrasi penyedia berubah menjadi proyek penomoran ulang.
Dua rencana alamat yang bergerak sendiri-sendiri
Rencana dalam menggambarkan alamat privat yang dipakai aplikasi: server cabang pada 10.55.8.20, prefiks kantor pusat yang merutekan ke sana, dan rute balik. Rencana luar menggambarkan bagaimana dua gateway saling menjangkau: alamat peer, porta pendengar, dan jalur melintasi internet.
Perubahan penyedia menyentuh rencana luar. Itu sendiri tidak menuntut rencana dalam berubah.
Menjaga kedua inventaris tetap terpisah adalah alasan praktis menjalankan overlay bahkan ketika aplikasi sudah mengenkripsi trafiknya sendiri. Overlay memberi Anda topologi dalam yang stabil dan bertahan terhadap gejolak luar. Aplikasi mempertahankan alamatnya, aturan firewall-nya, dan catatan DNS-nya. Hanya entri transport yang berubah, dan itu tinjauan yang jauh lebih kecil.
Terowongan luar membawa percakapan dalam
Dalam terowongan gateway-ke-gateway, tajuk IP luar mengalamatkan kedua gateway. Tajuk dalam tetap menamai titik ujung aplikasi yang sebenarnya. Uraian gateway-ke-gateway dalam RFC 7296 memperlakukan ini sebagai perutean biasa yang mengantarkan trafik melalui titik ujung terowongan.
Itulah sebabnya server cabang dapat mempertahankan 10.55.8.20 sementara alamat publik gateway berubah. Paket dalam sama sekali tidak memuat alamat penyedia.
Pemisahan itu sifat desain, bukan jaminan otomatis. Jika uplink pengganti tidak dapat membangun terowongan yang didukung, atau rute dalam tidak dipasang ulang, aplikasi kehilangan jalurnya meskipun alamatnya tidak berubah.
Perpindahan penyedia tetap punya daftar periksa
Daftar periksa luar punya lima butir: alamat peer atau nama yang dipelihara, pendengar dan penyaringan di hulu, penerjemahan di jalur, identitas peer yang diharapkan, dan pengaturan lain gateway yang diizinkan. Masing-masing bisa gagal sendiri. Pertahankan jalur pemulihan terpisah saat Anda mengganti tautan yang membawa administrasi. Memutus akses jauh selama peralihan uplink adalah gangguan yang Anda buat sendiri.
Setelah itu, periksa prefiks cabang, rute di kedua arah, kebijakan perlindungan, dan satu aliran aplikasi nyata. Terowongan yang baru terautentikasi tidak memperbaiki rute yang menunjuk ke subnet privat lama.
Tumpang tindih alamat dengan situs lain yang terhubung adalah masalah perencanaan tersendiri. Perubahan penyedia tidak menciptakannya, tetapi migrasi biasanya saat hal itu muncul.
Yang tidak bertahan: sumber publik dan sesi
Alamat server privat yang stabil bukan sumber publik yang stabil. Jika penjelajahan keluar langsung melalui penyedia baru, situs web melihat alamat baru yang menghadap penyedia.
Menjaga alamat itu stabil memerlukan desain keluar yang disengaja, dengan ketersediaan dan kebijakannya sendiri. Itu tidak datang gratis bersama terowongan.
Sesi yang sudah terjalin juga tidak bertahan terhadap perubahan jalur. Terowongan dapat terbentuk lagi dalam hitungan detik dan tetap memutus koneksi berumur panjang yang terpaku pada jalur lama. Rencanakan peralihan untuk jendela di mana penyambungan ulang dapat diterima. Jangan mengklaim migrasi akan tak terlihat kecuali klien tertentu dan batas waktunya sudah diuji.
Verifikasi perpindahan dengan empat pemeriksaan
Setelah perubahan, verifikasi empat hal secara berurutan: terowongan terbentuk dengan peer yang dimaksud, rute dalam ke prefiks cabang ada, kebijakan mengizinkan aliran aplikasi, dan aplikasi menjawab. Masing-masing punya perintahnya sendiri.
Pada gateway Linux, ketiganya mencakup bagian tengah daftar itu:
ip route get 10.55.8.20
ip xfrm policy list
curl -sS -o /dev/null -w "%{http_code}" --max-time 8 http://10.55.8.20/health
Simpan alamat transport dalam satu inventaris dan alamat aplikasi dalam inventaris lain. Perbarui hanya entri yang benar-benar berpindah. Menomori ulang dependensi internal karena alamat luar terowongan berubah adalah pekerjaan yang bisa dihindari.