Di mana menerapkan NSG untuk lalu lintas VPN site-to-site Azure
Azure tidak mendukung NSG pada GatewaySubnet. Letakkan aturan beban kerja pada subnet atau NIC tujuan, cocokkan sumber dalam, dan tinjau default yang luas.
Tunnel site-to-site sudah aktif, klien lokal menjangkau sebagian host Azure dan tidak menjangkau yang lain, dan seseorang telah memasang grup keamanan jaringan pada GatewaySubnet untuk memperbaikinya. Berhenti di situ. Azure tidak mendukung NSG pada GatewaySubnet, dan grup itu tidak dapat melihat paket dalam seperti aturan beban kerja. Letakkan kebijakan pada subnet atau NIC tujuan, cocokkan alamat sumber yang ada setelah dekripsi, lalu verifikasi dengan koneksi baru, bukan koneksi lama.
Letakkan NSG di tempat Azure mengevaluasinya
Batas yang didukung untuk penyaringan beban kerja adalah subnet atau antarmuka jaringan tujuan. Subnet gateway adalah infrastruktur, dan Azure mendokumentasikan bahwa NSG tidak didukung di sana dan dapat mengganggu operasi gateway.
Ada juga masalah logika pada penempatannya. NSG pada GatewaySubnet akan mengevaluasi pertukaran IPsec luar, yang alamatnya milik kedua gateway. Aturan aplikasi Anda memerlukan sumber privat di dalam tunnel, dan paket itu hanya ada setelah gateway mendekripsinya. Pasang grup pada subnet beban kerja dan aturan akan melihat alamat yang menjadi tujuannya.
Periksa asosiasi saat ini sebelum mengubah apa pun, agar Anda tahu apa yang dipindahkan:
az network vnet subnet show -g rg-net -n snet-app --vnet-name vnet-prod --query networkSecurityGroup.id
az network vnet subnet show -g rg-net -n GatewaySubnet --vnet-name vnet-prod --query networkSecurityGroup.idTemukan alamat sumber setelah dekripsi
Sumber dalam adalah alamat privat klien lokal, atau alamat yang ditampilkan perangkat atau NAT VPN setelah penerjemahan. Ini bukan alamat publik gateway VPN lokal, yang termasuk pertukaran luar.
Saat NAT menjadi bagian dari desain, pastikan sumber yang ditampilkan alih-alih mengasumsikannya. Penangkapan paket pada VM Azure, atau bidang sumber dalam log koneksi layanan, menyelesaikan pertanyaan lebih cepat daripada membaca konfigurasi lokal. Lalu tulis aturan terhadap alamat itu dan port tujuan sebenarnya.
az network nsg rule create -g rg-net --nsg-name nsg-app -n allow-onprem-https --priority 200 --direction Inbound --access Allow --protocol Tcp --source-address-prefixes 192.168.10.0/24 --destination-address-prefixes 10.1.2.0/24 --destination-port-ranges 443Gunakan satu aturan per layanan yang ingin Anda buka, dan jaga daftar port tetap pendek. Aturan yang mengizinkan semua port dari rentang lokal membuat NSG menjadi formalitas.
Periksa cakupan VirtualNetwork bawaan
Tag layanan VirtualNetwork lebih luas daripada jaringan virtual lokal. Definisinya mencakup ruang alamat lokal yang terhubung, jaringan yang di-peer, dan prefiks lain yang terhubung ke gateway. Artinya, aturan izin bawaan yang dibatasi ke VirtualNetwork sudah dapat mengizinkan lalu lintas tunnel yang dianggap operator sebagai eksternal.
Baca aturan bawaan sebelum menambahkan aturan sempit, dan baca setiap aturan berprioritas lebih tinggi yang mungkin cocok lebih dulu. Menambahkan izin eksplisit tidak menghapus aturan yang lebih luas yang sudah mengizinkan aliran. Jika kebijakan menuntut penolakan, letakkan pada prioritas yang benar-benar dievaluasi sebelum izin.
Dokumentasi tag layanan Microsoft mencantumkan apa yang dicakup tag VirtualNetwork, dan itu rujukan yang dikutip ketika seseorang berargumen bahwa tag hanya berarti rentang VNet.
Baca aturan efektif di kedua batas
Saat NSG subnet dan NSG NIC sama-sama berlaku, aliran harus memenuhi keduanya. Izin pada satu tidak membatalkan penolakan pada yang lain, dan tampilan gabunganlah yang sebenarnya ditemui paket.
az network nic show-effective-nsg -g rg-net -n vm-app-nic -o tableJika aturan admin keamanan Azure Virtual Network Manager ikut berlaku, tinjau lapisan itu juga. Aturan admin Always allow dapat mengirimkan lalu lintas tanpa evaluasi NSG, sedangkan Deny administratif menghentikannya sebelum NSG melihatnya. Tinjauan hanya NSG tidak lengkap untuk susunan itu.
Ingat bahwa NSG bersifat stateful. Mengedit aturan tidak selalu mengakhiri koneksi yang sudah diizinkan, jadi uji penerimaan memerlukan aliran baru. Sifat itu berguna di produksi dan menyesatkan selama jendela perubahan.
Verifikasi dengan koneksi baru
Buka sesi baru dari klien lokal ke port layanan, lalu ulangi dari host yang seharusnya ditolak. Jalankan uji aliran dari sisi VM juga, agar Anda tahu jalur balik utuh.
az network watcher test-ip-flow -g rg-net --vm vm-app --direction Inbound --protocol Tcp --local 10.1.2.4:443 --remote 192.168.10.50:51515Izin NSG adalah satu keputusan akses, bukan rute dan bukan listener. Jika aturan mengizinkan aliran dan koneksi tetap gagal, periksa rute klien ke VPN, rute balik Azure, dan firewall host sebelum mengedit grup lagi. Catat alamat sumber sebenarnya, asosiasi NSG, dan aturan yang cocok bersama layanan yang disetujui, karena perubahan peering atau rute berikutnya dapat mengubah apa yang dicakup tag VirtualNetwork.