Kapan NAT di Dalam VPN Situs-ke-Situs Layak Ditempatkan
Terjemahan dapat menyelamatkan prefiks yang tumpang tindih atau jalur balik satu sisi, tetapi mengubah alamat yang dilihat setiap kebijakan. Rancang pemetaannya secara eksplisit.
Dua situs sama-sama memakai rentang privat yang sama, dan terowongan naik sementara tidak ada hal berguna yang melintasinya. Penerjemahan adalah jawaban yang biasa, dan itu jawaban nyata: menampilkan rentang berbeda ke sisi jauh dapat menyelesaikan tumpang tindih atau jalur balik yang tidak dapat dirutekan oleh jaringan lain. Bagian yang dilewati adalah bahwa penerjemahan mengubah alamat yang dilihat setiap keputusan berikutnya. Perlakukan ini sebagai keputusan desain terdokumentasi dengan pemetaan tertulis, bukan sebagai aturan yang ditambahkan sampai ping berhasil.
Tentukan alamat mana yang ditulis ulang
Penerjemahan sumber mengubah apa yang dilihat layanan jauh dan lognya sebagai klien, sehingga host cabang menjadi alamat gateway saat tiba. Penerjemahan tujuan atau prefiks justru menyajikan alamat alternatif untuk sumber daya jauh. Beberapa penerapan memerlukan penerjemahan terkoordinasi di kedua sisi untuk memisahkan dua jaringan yang sebenarnya identik, dan kombinasi itulah tempat sebagian besar kebingungan dimulai.
Tuliskan sumber sebelum penerjemahan, tujuan sebagaimana aplikasi menamainya, dan pasangan alamat yang dicocokkan setiap gateway. Tiga kolom sudah cukup, dan kolom ketiga itulah yang biasanya dilewatkan orang.
Urutan selektor juga penting. Pemilihan dan penerjemahan kebijakan IPsec terjadi pada tahap yang ditentukan, sehingga selektor yang ditulis untuk alamat sebelum penerjemahan mungkin tidak pernah cocok dengan paket pada tahap yang Anda asumsikan. Periksa kebijakan yang terpasang, bukan kebijakan yang ingin Anda pasang, karena keduanya berbeda tepat ketika sebuah aturan diterima satu komponen dan diabaikan komponen lain:
ip xfrm policy show
ip xfrm state show
nft list ruleset | grep -A4 nat
Ikuti payload dan jalur balik
Server yang mencatat sumber hasil penerjemahan alih-alih host cabang individual akan merusak aturan atau laporan apa pun yang terikat pada alamat asli. Sebelum mengubah pemetaan, cari tahu apakah ada sesuatu di hilir yang mengambil keputusan dari bidang itu: daftar akses, laporan audit, batas laju, pemeriksaan lisensi. Masing-masing adalah tempat penerjemahan muncul kemudian sebagai kegagalan yang tidak dijelaskan.
Protokol yang membawa alamat di dalam payload-nya memerlukan perencanaan terpisah, karena menulis ulang header luar tidak menyentuh referensi dalam. FTP aktif, SIP, dan beberapa produk akses jarak jauh adalah kasus klasik, dan desain yang mengabaikannya akan berfungsi untuk lalu lintas web dan gagal untuk aplikasi yang penting.
Lalu lintas balik bergantung pada pemetaan stateful. Failover gateway dapat kehilangan status itu, perutean asimetris dapat melewatinya, dan restart dapat menghapusnya sementara sesi tetap terbuka di sisi jauh. Karena itu permintaan yang mencapai tujuan dan sesi yang selesai adalah dua hasil penerimaan yang berbeda.
Timbang terhadap penomoran ulang situs
Penomoran ulang satu situs yang bentrok menghapus pemetaan sepenuhnya dan menyisakan rencana alamat yang dapat dibaca tanpa tabel penerjemahan. Biayanya mahal secara operasional: catatan DNS, penetapan statis, aturan firewall, dan setiap alamat yang terdokumentasi harus berubah bersamaan. Biaya itu muncul sekali, dalam jendela terencana, dengan keadaan akhir yang jelas. Yang Anda beli adalah kemampuan membaca tangkapan paket bertahun-tahun kemudian tanpa tabel pencarian.
Penerjemahan menghindari sebagian besar perubahan lokal dan menciptakan pemetaan yang harus dipelihara di DNS, dokumentasi, dan pemecahan masalah selamanya. Biayanya muncul terus-menerus, dalam bentuk setiap insinyur masa depan yang harus belajar bahwa satu prefiks berarti sesuatu yang lain di dalam terowongan.
Untuk koneksi sementara atau jaringan mitra yang tidak Anda kendalikan, biaya berkelanjutan biasanya layak dibayar. Untuk dua situs yang Anda miliki dan akan miliki selama bertahun-tahun, penomoran ulang sering menjadi keputusan yang lebih murah setelah migrasi dihitung dengan jujur.
Buktikan kedua arah dengan sesi nyata
Uji sesi aplikasi, bukan satu probe. Permintaan gema yang berhasil membuktikan bahwa satu arah dari satu protokol berfungsi, dan itu sepenuhnya kompatibel dengan jalur balik yang gagal untuk apa pun yang stateful. Gunakan layanan yang memotivasi desain, dan baca lognya di ujung jauh untuk melihat alamat sumber mana yang dicatatnya.
tcpdump -ni any host 10.40.9.20 and port 443
conntrack -L | grep 10.40.9.20
ip route get 10.40.9.20
Lalu pastikan hanya layanan yang dimaksud yang dapat dijangkau melalui pemetaan. Penerjemahan mengubah pengalamatan dan tidak melakukan apa pun untuk otorisasi, jadi kebijakan firewall tetap menentukan apa yang diizinkan. Desain yang mengandalkan prefiks hasil penerjemahan yang tidak jelas sebagai kontrol aksesnya sama sekali tidak memiliki kontrol akses.
Catat pemetaan, sesi yang diuji, dan alamat yang diamati setiap sisi. Orang berikutnya yang men-debug terowongan ini lebih membutuhkan ketiga fakta itu daripada berkas konfigurasi.