Inspeksi NVA Azure: mengapa balasan melewati firewall lain
Route Server membagikan dua jalur yang sama dan tidak ada yang lain. Saat balasan memilih perangkat lain, sesi itu tidak punya status di sana dan aliran mati.
Aliran dari cabang ke Azure dapat dirutekan dengan benar di kedua arah dan tetap gagal, karena kedua arah melewati perangkat yang berbeda. Permintaan meninggalkan cabang melalui VPN, mendarat di NVA A dan mencapai beban kerja. Balasan meninggalkan beban kerja, cocok dengan rute yang menunjuk ke NVA B dan mati di sana. Setiap rute dalam gambar itu valid, dan sesi TCP tetap rusak.
Request: branch -> VPN gateway -> NVA A -> workload
Reply: workload -> NVA B -> VPN gateway -> branch
Celah itulah seluruh topik di sini: konvergensi perutean dan kepemilikan status sesi adalah masalah berbeda yang tampak identik dalam diagram.
Apa yang sebenarnya diprogram Route Server
Azure Route Server melakukan peering dengan pembicara BGP yang didukung, mempelajari rutenya, dan memprogramnya ke rute efektif jaringan virtual. Itu tugas bidang kendali. Ia tidak membaca tabel sesi firewall vendor, dan tidak tahu perangkat mana yang mengizinkan koneksi tertentu. Dua hop berikutnya dengan biaya sama, bagi fabric ini, hanyalah dua cara mencapai prefiks yang sama, dan ia akan memakai salah satunya.
Jadi mempelajari rute membuktikan keterjangkauan. Itu tidak membuktikan apa pun tentang apakah perangkat di ujung lain pernah melihat aliran ini sebelumnya.
Baca kedua arah sebelum Anda merancang
Mulailah dengan menuliskan pengarahan yang benar-benar Anda miliki di setiap arah, bukan yang Anda maksudkan. Rute BGP yang lebih spesifik, rute yang ditentukan pengguna, dan perilaku gateway semuanya bersaing, dan pemenangnya ditentukan per tujuan, bukan per sesi. Rute default pada NVA tidak berarti setiap prefiks privat melewatinya.
Pemeriksaan yang berguna adalah menanyakan, untuk satu IP beban kerja tertentu, ke hop berikutnya mana setiap arah diselesaikan. Jika jawabannya dua perangkat berbeda, Anda punya masalah asimetri baik sudah muncul maupun belum.
Di mana status tinggal
Firewall stateful menerima koneksi dan menyimpan entri tabel yang dikunci pada lima-tuple. Balasan harus mencapai perangkat yang memegang entri itu, atau perangkat itu harus memperoleh status dengan cara lain. Tidak ada apa pun di bidang data Azure yang meneruskan entri antarperangkat. Entah lalu lintas diarahkan kembali ke pemiliknya, atau perangkat berbagi status melalui mekanisme vendor, atau rancangannya tidak berfungsi.
Itulah sebabnya dua NVA yang sehat bukan pemeriksaan kesehatan untuk inspeksi. Kesehatan adalah tentang keterjangkauan; inspeksi adalah tentang instans mana yang memegang sesi.
Model HA yang didukung dan apa yang dijanjikan masing-masing
Microsoft's guidance on niat perutean Virtual WAN menjelaskan perilaku terbatas untuk konektivitas peran ganda dan NVA firewall, di mana perutean langsung dapat melewati penegakan simetris normal hub. Bacalah catatan itu sebagai batasan pada topologi yang Anda pilih, bukan sebagai larangan desain aktif-aktif. Sepasang vendor yang menyinkronkan status, atau mengarahkan per aliran, dapat didukung. Sepasang dengan biaya sama yang tidak melakukan keduanya tidak didukung.
Lalu tentukan apa yang terjadi pada sesi yang ada ketika sebuah node gagal. Konvergensi rute memulihkan keterjangkauan untuk aliran baru dalam hitungan detik, sementara status firewall lama hilang begitu saja. Sambungan ulang klien mungkin merupakan hasil yang didokumentasikan, dan itu keputusan yang diambil sebelum insiden, bukan selama.
Apa yang harus diuji sebelum memercayainya
Test with inspection enabled and kebijakan akses beban kerja terpasang, karena salah satunya dapat menyembunyikan asimetri. Kirim aliran resmi baru di kedua arah dan pastikan perangkat yang sama melihat kedua belah pihak. Lalu jalankan lalu lintas berkelanjutan dan picu failover yang disetujui, sambil mengamati apakah sesi yang sudah terbentuk bertahan atau menyambung ulang.
Korelasikan setiap aliran dengan perangkat yang menanganinya. Tangkapan paket pada satu NVA hampir tidak memberi tahu apa pun jika balasan tidak pernah kembali ke sana.
Terakhir, tulis rencana sebagai tiga baris terpisah: kepemilikan rute, pengarahan lalu lintas, dan kepemilikan status sesi. Rancangan rusak ketika dua yang pertama sudah terpecahkan dan yang ketiga diasumsikan.