Bagikan melalui


Menggunakan appliance virtual jaringan di jaringan virtual

Dalam topik ini, Anda mempelajari cara menyebarkan appliance virtual jaringan di jaringan virtual penyewa. Anda dapat menambahkan appliance virtual jaringan ke jaringan yang melakukan fungsi perutean dan pencerminan port yang ditentukan pengguna.

Jenis appliance virtual jaringan

Anda dapat menggunakan salah satu dari dua jenis appliance virtual:

  1. Perutean yang ditentukan pengguna - menggantikan router terdistribusi pada jaringan virtual dengan kemampuan perutean appliance virtual. Dengan perutean yang ditentukan pengguna, alat virtual akan digunakan sebagai perute antara subnet virtual pada jaringan virtual.

  2. Pencerminan port - semua lalu lintas jaringan yang memasuki atau meninggalkan port yang dipantau diduplikasi dan dikirim ke appliance virtual untuk analisis.

Menyebarkan appliance virtual jaringan

Untuk menyebarkan appliance virtual jaringan, Anda harus terlebih dahulu membuat VM yang berisi appliance, lalu menyambungkan VM ke subnet jaringan virtual yang sesuai. Untuk detail selengkapnya, lihat Membuat VM Penyewa dan Menyambungkan ke Jaringan Virtual Penyewa atau VLAN.

Beberapa appliance memerlukan beberapa adaptor jaringan virtual. Biasanya, satu adaptor jaringan didedikasikan untuk manajemen appliance sementara adaptor tambahan memproses lalu lintas. Jika appliance Anda memerlukan beberapa adaptor jaringan, Anda harus membuat setiap antarmuka jaringan di Network Controller. Anda juga harus menetapkan ID antarmuka pada setiap host untuk setiap adaptor tambahan yang ada di subnet virtual yang berbeda.

Setelah menyebarkan appliance virtual jaringan, Anda dapat menggunakan appliance untuk perutean yang ditentukan, pencerminan porting, atau keduanya.

Contoh: Perutean yang ditentukan pengguna

Untuk sebagian besar lingkungan, Anda hanya memerlukan rute sistem yang sudah ditentukan oleh router terdistribusi jaringan virtual. Namun, Anda mungkin perlu membuat tabel perutean dan menambahkan satu atau beberapa rute dalam kasus tertentu, seperti:

  • Paksa penerowongan ke Internet melalui jaringan lokal Anda.
  • Penggunaan appliance virtual di lingkungan Anda.

Untuk skenario ini, Anda harus membuat tabel perutean dan menambahkan rute yang ditentukan pengguna ke tabel. Anda dapat memiliki beberapa tabel perutean, dan Anda dapat mengaitkan tabel perutean yang sama ke satu atau beberapa subnet. Anda hanya dapat mengaitkan setiap subnet ke satu tabel perutean. Semua VM dalam subnet menggunakan tabel perutean yang terkait dengan subnet.

Subnet mengandalkan rute sistem hingga tabel perutean dikaitkan dengan subnet. Setelah asosiasi ada, perutean dilakukan berdasarkan Longest Prefix Match (LPM) di antara rute dan rute sistem yang ditentukan pengguna. Jika ada lebih dari satu rute dengan kecocokan LPM yang sama, maka rute yang ditentukan pengguna dipilih terlebih dahulu - sebelum rute sistem.

Prosedur:

  1. Buat properti tabel rute, yang berisi semua rute yang ditentukan pengguna.

    Rute sistem masih berlaku sesuai dengan aturan yang ditentukan di atas.

     $routetableproperties = new-object Microsoft.Windows.NetworkController.RouteTableProperties
    
  2. Tambahkan rute ke properti tabel perutean.

    Setiap rute yang ditujukan untuk subnet 12.0.0.0/8 akan dirutekan ke appliance virtual pada 192.168.1.10. Appliance harus memiliki adaptor jaringan virtual yang terpasang ke jaringan virtual dengan IP yang ditetapkan ke antarmuka jaringan.

     $route = new-object Microsoft.Windows.NetworkController.Route
     $route.ResourceID = "0_0_0_0_0"
     $route.properties = new-object Microsoft.Windows.NetworkController.RouteProperties
     $route.properties.AddressPrefix = "0.0.0.0/0"
     $route.properties.nextHopType = "VirtualAppliance"
     $route.properties.nextHopIpAddress = "192.168.1.10"
     $routetableproperties.routes += $route
    

    Tip

    Jika Anda ingin menambahkan lebih banyak rute, ulangi langkah ini untuk setiap rute yang ingin Anda tentukan.

  3. Tambahkan tabel perutean ke Pengontrol Jaringan.

     $routetable = New-NetworkControllerRouteTable -ConnectionUri $uri -ResourceId "Route1" -Properties $routetableproperties
    
  4. Terapkan tabel perutean ke subnet virtual.

    Saat Anda menerapkan tabel rute ke subnet virtual, subnet virtual pertama di jaringan Tenant1_Vnet1 menggunakan tabel rute. Anda dapat menetapkan tabel rute ke subnet sebanyak yang Anda inginkan di jaringan virtual.

     $vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId "Tenant1_VNet1"
     $vnet.properties.subnets[0].properties.RouteTable = $routetable
     new-networkcontrollervirtualnetwork -connectionuri $uri -properties $vnet.properties -resourceId $vnet.resourceid
    

Segera setelah Anda menerapkan tabel perutean ke jaringan virtual, lalu lintas akan diteruskan ke appliance virtual. Anda harus mengonfigurasi tabel perutean di appliance virtual untuk meneruskan lalu lintas, dengan cara yang sesuai untuk lingkungan Anda.

Contoh: Pencerminan port

Dalam contoh ini, Anda mengonfigurasi lalu lintas untuk MyVM_Ethernet1 untuk mencerminkan Appliance_Ethernet1. Kami berasumsi bahwa Anda telah menyebarkan dua VM, satu sebagai appliance dan yang lainnya sebagai VM untuk dipantau dengan pencerminan.

Appliance harus memiliki antarmuka jaringan kedua untuk manajemen. Setelah Anda mengaktifkan pencerminan sebagai tujuan di Appliciance_Ethernet1, itu tidak lagi menerima lalu lintas yang ditujukan untuk antarmuka IP yang dikonfigurasi di sana.

Prosedur:

  1. Dapatkan jaringan virtual tempat VM Anda berada.

    $vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId "Tenant1_VNet1"
    
  2. Dapatkan antarmuka jaringan Pengontrol Jaringan untuk sumber dan tujuan pencerminan.

    $dstNic = get-networkcontrollernetworkinterface -ConnectionUri $uri -ResourceId "Appliance_Ethernet1"
    $srcNic = get-networkcontrollernetworkinterface -ConnectionUri $uri -ResourceId "MyVM_Ethernet1"
    
  3. Buat objek serviceinsertionproperties untuk berisi aturan pencerminan port dan elemen yang mewakili antarmuka tujuan.

    $portmirror = [Microsoft.Windows.NetworkController.ServiceInsertionProperties]::new()
    $portMirror.Priority = 1
    
  4. Buat objek serviceinsertionrules untuk berisi aturan yang harus dicocokkan agar lalu lintas dikirim ke appliance.

    Aturan yang ditentukan di bawah ini cocok dengan semua lalu lintas, baik masuk maupun keluar, yang mewakili cermin tradisional. Anda dapat menyesuaikan aturan ini jika Anda tertarik untuk mencerminkan port tertentu, atau sumber/tujuan tertentu.

    $portmirror.ServiceInsertionRules = [Microsoft.Windows.NetworkController.ServiceInsertionRule[]]::new(1)
    
    $portmirror.ServiceInsertionRules[0] = [Microsoft.Windows.NetworkController.ServiceInsertionRule]::new()
    $portmirror.ServiceInsertionRules[0].ResourceId = "Rule1"
    $portmirror.ServiceInsertionRules[0].Properties = [Microsoft.Windows.NetworkController.ServiceInsertionRuleProperties]::new()
    
    $portmirror.ServiceInsertionRules[0].Properties.Description = "Port Mirror Rule"
    $portmirror.ServiceInsertionRules[0].Properties.Protocol = "All"
    $portmirror.ServiceInsertionRules[0].Properties.SourcePortRangeStart = "0"
    $portmirror.ServiceInsertionRules[0].Properties.SourcePortRangeEnd = "65535"
    $portmirror.ServiceInsertionRules[0].Properties.DestinationPortRangeStart = "0"
    $portmirror.ServiceInsertionRules[0].Properties.DestinationPortRangeEnd = "65535"
    $portmirror.ServiceInsertionRules[0].Properties.SourceSubnets = "*"
    $portmirror.ServiceInsertionRules[0].Properties.DestinationSubnets = "*"
    
  5. Buat objek serviceinsertionelements untuk berisi antarmuka jaringan appliance cermin.

    $portmirror.ServiceInsertionElements = [Microsoft.Windows.NetworkController.ServiceInsertionElement[]]::new(1)
    
    $portmirror.ServiceInsertionElements[0] = [Microsoft.Windows.NetworkController.ServiceInsertionElement]::new()
    $portmirror.ServiceInsertionElements[0].ResourceId = "Element1"
    $portmirror.ServiceInsertionElements[0].Properties = [Microsoft.Windows.NetworkController.ServiceInsertionElementProperties]::new()
    
    $portmirror.ServiceInsertionElements[0].Properties.Description = "Port Mirror Element"
    $portmirror.ServiceInsertionElements[0].Properties.NetworkInterface = $dstNic
    $portmirror.ServiceInsertionElements[0].Properties.Order = 1
    
  6. Tambahkan objek penyisipan layanan di Pengontrol Jaringan.

    Saat Anda mengeluarkan perintah ini, semua lalu lintas ke antarmuka jaringan appliance yang ditentukan dalam langkah sebelumnya berhenti.

    $portMirror = New-NetworkControllerServiceInsertion -ConnectionUri $uri -Properties $portmirror -ResourceId "MirrorAll"
    
  7. Perbarui antarmuka jaringan sumber yang akan dicerminkan.

    $srcNic.Properties.IpConfigurations[0].Properties.ServiceInsertion = $portMirror
    $srcNic = New-NetworkControllerNetworkInterface -ConnectionUri $uri  -Properties $srcNic.Properties -ResourceId $srcNic.ResourceId
    

Setelah menyelesaikan langkah-langkah ini, antarmuka Appliance_Ethernet1 mencerminkan lalu lintas dari antarmuka MyVM_Ethernet1.