Latihan - Perutean lalu lintas melalui NVA

Selesai

Sekarang setelah Anda membuat appliance virtual jaringan (NVA) dan komputer virtual (VM), Anda akan mengarahkan lalu lintas melalui NVA.

Visualization of virtual machines and IP addresses.

Membuat komputer virtual publik dan pribadi

Langkah selanjutnya menyebarkan Mesin Virtual ke subnet publik dan privat.

  1. Buka editor Cloud Shell dan buat file bernama cloud-init.txt.

    code cloud-init.txt
    
  2. Tambahkan informasi konfigurasi berikut ke dalam file. Dengan konfigurasi ini, paket inetutils-traceroute diinstal saat Anda membuat Komputer Virtual baru. Paket ini memuat utilitas traceroute yang nanti akan Anda gunakan dalam latihan ini.

    #cloud-config
    package_upgrade: true
    packages:
       - inetutils-traceroute
    
  3. Tekan Ctrl+S untuk menyimpan file, lalu tekan Ctrl+Q untuk menutup penyunting.

  4. Di Cloud Shell, jalankan perintah berikut untuk membuat Komputer Virtual publik. Ganti <password> dengan kata sandi yang sesuai untuk akun azureuser.

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name public \
        --vnet-name vnet \
        --subnet publicsubnet \
        --image Ubuntu2204 \
        --admin-username azureuser \
        --no-wait \
        --custom-data cloud-init.txt \
        --admin-password <password>
    
  5. Jalankan perintah berikut untuk membuat Komputer Virtual privat. Ganti <password> dengan kata sandi yang sesuai.

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name private \
        --vnet-name vnet \
        --subnet privatesubnet \
        --image Ubuntu2204 \
        --admin-username azureuser \
        --no-wait \
        --custom-data cloud-init.txt \
        --admin-password <password>
    
  6. Jalankan perintah watch Linux berikut untuk memeriksa apakah Komputer Virtual sedang berjalan. Perintah watch secara berkala menjalankan perintah az vm list sehingga Anda dapat memantau kemajuan Komputer Virtual.

    watch -d -n 5 "az vm list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --show-details \
        --query '[*].{Name:name, ProvisioningState:provisioningState, PowerState:powerState}' \
        --output table"
    

    Nilai ProvisioningState "Berhasil" dan nilai PowerState "VM berjalan" menunjukkan penyebaran yang berfungsi. Saat ketiga Komputer Virtual berjalan, Anda siap untuk melanjutkan. Tekan Ctrl-C untuk menghentikan perintah dan melanjutkan latihan.

  7. Jalankan perintah berikut untuk menyimpan alamat IP publik Komputer Virtual publik ke variabel bernama PUBLICIP.

    PUBLICIP="$(az vm list-ip-addresses \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name public \
        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
        --output tsv)"
    
    echo $PUBLICIP
    
  8. Jalankan perintah berikut untuk menyimpan alamat IP publik Komputer Virtual privat ke variabel bernama PRIVATEIP.

    PRIVATEIP="$(az vm list-ip-addresses \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name private \
        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
        --output tsv)"
    
    echo $PRIVATEIP
    

Uji perutean lalu lintas melalui appliance virtual jaringan

Langkah terakhir gunakan utilitas traceroute Linux untuk menampilkan bagaimana lalu lintas dirutekan. Anda akan menggunakan perintah ssh untuk menjalankan traceroute pada setiap Komputer Virtual. Pengujian pertama akan menunjukkan rute yang diambil oleh paket ICMP yang dikirim dari Komputer Virtual publik ke Komputer Virtual privat. Pengujian kedua akan menunjukkan rute yang diambil oleh paket ICMP yang dikirim dari Komputer Virtual privat ke Komputer Virtual publik.

  1. Jalankan perintah berikut untuk melacak rute dari publik ke pribadi. Saat diminta, masukkan kata sandi untuk akun azureuser yang Anda buat sebelumnya.

    ssh -t -o StrictHostKeyChecking=no azureuser@$PUBLICIP 'traceroute private --type=icmp; exit'
    

    Jika Anda menerima pesan kesalahan bash: traceroute: command not found, tunggu sebentar dan coba lagi perintahnya. Pemasangan otomatis traceroute dapat memakan waktu satu atau dua menit setelah penyebaran Komputer Virtual. Setelah perintah berhasil, output akan terlihat mirip dengan contoh berikut:

    traceroute to private.kzffavtrkpeulburui2lgywxwg.gx.internal.cloudapp.net (10.0.1.4), 64 hops max
    1   10.0.2.4  0.710ms  0.410ms  0.536ms
    2   10.0.1.4  0.966ms  0.981ms  1.268ms
    Connection to 52.165.151.216 closed.
    

    Perhatikan bahwa lompatan pertama adalah 10.0.2.4. Alamat ini adalah alamat IP pribadi nva. Lompatan kedua adalah 10.0.1.4, yaitu alamat pribadi. Di latihan pertama, Anda menambahkan rute ini ke tabel rute dan menautkan tabel ke subnet publicsubnet. Jadi sekarang semua lalu lintas dari publik ke privat dialihkan melalui appliance virtual jaringan.

    Diagram of route from public to private.

  2. Jalankan perintah berikut untuk melacak rute dari pribadi ke publik. Saat diminta, masukkan kata sandi untuk akun azureuser.

    ssh -t -o StrictHostKeyChecking=no azureuser@$PRIVATEIP 'traceroute public --type=icmp; exit'
    

    Anda seharusnya melihat lalu lintas langsung menuju ke publik (10.0.0.4) dan tidak melalui NVA, seperti yang ditampilkan pada output perintah berikut.

    traceroute to public.kzffavtrkpeulburui2lgywxwg.gx.internal.cloudapp.net (10.0.0.4), 64 hops max
    1   10.0.0.4  1.095ms  1.610ms  0.812ms
    Connection to 52.173.21.188 closed.
    

    Komputer Virtual privat menggunakan rute default, dan lalu lintas dirutekan langsung di antara subnet.

    Diagram of route from private to public.

Anda sekarang telah mengonfigurasi perutean antar subnet untuk mengarahkan lalu lintas dari internet publik melalui subnet dmzsubnet sebelum mencapai subnet pribadi. Di subnet dmzsubnet, Anda menambahkan Komputer Virtual yang bertindak sebagai appliance virtual jaringan. Anda dapat mengonfigurasi NVA ini untuk mendeteksi permintaan yang berpotensi berbahaya dan memblokirnya sebelum mencapai target yang mereka tuju.