Tukar ISP tanpa menomborkan semula alamat VPN tapak
VPN tapak berpenghala mengekalkan alamat peribadi apabila pautan berubah, tetapi alamat rakan, identiti dan laluan balik masih memerlukan kerja. Inilah pemisahannya.
Sebuah cawangan menukar penyedia internet, dan pelayan fail mengekalkan alamatnya. Hasil itu biasa dalam VPN tapak berpenghala dan mengejutkan sesiapa yang menganggap alamat hujung terowong ialah alamat aplikasi. Kedua-duanya hidup dalam lapisan reka bentuk yang berbeza, dan hanya satu yang bergerak. Melayan keduanya sebagai satu ialah cara pemindahan penyedia menjadi projek penomboran semula.
Dua pelan alamat yang bergerak secara berasingan
Pelan dalaman menerangkan alamat peribadi yang digunakan aplikasi: pelayan cawangan pada 10.55.8.20, awalan ibu pejabat yang menghala ke sana, dan laluan balik. Pelan luaran menerangkan bagaimana dua gateway saling mencapai: alamat rakan, port mendengar dan laluan merentas internet.
Perubahan penyedia menyentuh pelan luaran. Ia sendiri tidak memerlukan pelan dalaman berubah.
Menyimpan kedua-dua inventori secara berasingan ialah sebab praktikal untuk menjalankan tindanan walaupun aplikasi sudah menyulitkan trafiknya sendiri. Tindanan memberi anda topologi dalaman yang stabil yang bertahan terhadap perubahan luaran. Aplikasi mengekalkan alamatnya, peraturan firewall dan rekod DNS-nya. Hanya entri pengangkutan berubah, dan itu semakan yang jauh lebih kecil.
Terowong luaran membawa perbualan dalaman
Dalam terowong gateway-ke-gateway, pengepala IP luaran mengalamatkan kedua-dua gateway. Pengepala dalaman masih menamakan hujung sebenar aplikasi. Huraian gateway-ke-gateway dalam RFC 7296 menganggap ini sebagai penghalaan biasa yang menyampaikan trafik melalui hujung terowong.
Itulah sebabnya pelayan cawangan boleh mengekalkan 10.55.8.20 sementara alamat awam gateway berubah. Paket dalaman sama sekali tidak mengandungi alamat penyedia.
Pemisahan itu sifat reka bentuk, bukan jaminan automatik. Jika pautan pengganti tidak dapat membina terowong yang disokong, atau laluan dalaman tidak dipasang semula, aplikasi kehilangan laluannya walaupun alamatnya tidak berubah.
Pemindahan penyedia masih mempunyai senarai semak
Senarai semak luaran mempunyai lima perkara: alamat rakan atau nama yang dikekalkan, pendengar dan sebarang penapisan huluan, terjemahan pada laluan, identiti rakan yang dijangka dan tetapan lain gateway yang dibenarkan. Setiap satu boleh gagal sendiri. Kekalkan laluan pemulihan berasingan semasa anda menukar pautan yang membawa pentadbiran. Memutuskan akses jauh semasa peralihan pautan ialah gangguan yang anda sendiri cipta.
Selepas itu, periksa awalan cawangan, laluan dalam kedua-dua arah, dasar perlindungan dan satu aliran aplikasi sebenar. Terowong yang baru disahkan tidak membaiki laluan yang menunjuk ke subnet peribadi lama.
Pertindihan alamat dengan tapak lain yang bersambung ialah masalah perancangan berasingan. Perubahan penyedia tidak menciptanya, tetapi pemindahan biasanya saat ia timbul.
Apa yang tidak bertahan: sumber awam dan sesi
Alamat pelayan peribadi yang stabil bukan sumber awam yang stabil. Jika pelayaran keluar terus melalui penyedia baru, laman web melihat alamat baru yang menghadap penyedia.
Menjaga alamat itu kekal memerlukan reka bentuk keluar yang disengajakan, dengan ketersediaan dan dasarnya sendiri. Ia tidak datang percuma bersama terowong.
Sesi yang sudah terbentuk juga tidak bertahan apabila laluan berubah. Terowong boleh terbentuk semula dalam beberapa saat dan masih memutuskan sambungan panjang yang terpaku pada laluan lama. Rancang peralihan untuk tetingkap di mana penyambungan semula boleh diterima. Jangan mendakwa pemindahan akan tidak kelihatan melainkan klien tertentu dan had masanya telah diuji.
Sahkan pemindahan dengan empat pemeriksaan
Selepas perubahan, sahkan empat perkara mengikut urutan: terowong terbentuk dengan rakan yang dimaksudkan, laluan dalaman ke awalan cawangan wujud, dasar membenarkan aliran aplikasi dan aplikasi menjawab. Setiap satu mempunyai perintahnya sendiri.
Pada gateway Linux, ketiga-tiganya meliputi pertengahan senarai 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 pengangkutan dalam satu inventori dan alamat aplikasi dalam satu lagi. Kemas kini hanya entri yang benar-benar bergerak. Menomborkan semula kebergantungan dalaman kerana alamat luaran terowong berubah ialah kerja yang boleh dielakkan.