Windows Server

Windows Server 2016 Software Define Networking SDN – Bölüm 3 Deployment

Software Define Networking makalemizin üçüncü serisinde Network Controller servisinin dağıtımı ve network virtulization testlerini gerçekleştireceğiz. Bunun için birinci makalemizde belirttiğimiz ön gereksinimlerimizden olan Network Contoller template’ni download etmemiz gerekmekte. Bunu aşağıda belirttiğim adres üzerinden indirebiliriz.

Bunun için;

https://github.com/Microsoft/SDN adresine girerek aşağıdaki ekran görüntüsünde de göreceğiniz Download ZIP butonunu kullanarak alabilirsiniz.

clip_image002[4]

 

Burada indireceğimiz dosya içerisinde bulunan scriptler vasıtası ile birinci makale serimizde de belirttiğimiz ve gerçekleştirdiğimiz adımları indirmiş olduğunuz dosya içerisinde yer alan PowerShell scriptleri ile de gerçekleştirebilirsiniz. 

Burada ilgili dağıtım işlemini gerçekleştirmeden önce bir adet Windows Server 2016 imaj dosyasına ihtiyacımız bulunmakta. Bu imaj dosyasını (VHD, VHDX) System Center Virtual Machine Manager 2016 altında bulunan Library’e import edeceğiz. Oluşturacağımız Windows Server 2016 imajının güncel updateleri içerdiğinden emin olarak ilerlemekte fayda bulunmakta.

clip_image004[4]

Library tabında bulunan SDNVMM.ebitest.local seçimini yapıyorum ve yukarıdaki barda bulunan Import Physical Resource diyerek import işlemine başlıyoruz.

clip_image006[4]

Add Resource diyerek daha önce oluşturmuş olduğum imajı seçiyorum. Ardından Browse seçimini yaparak VMM Library altında nereye import edeceğimizi beliyor ve Import işlemini başlatıyorum.

Import işlemimiz tamamlandıktan sonra Network Controller dağıtımını sırasında ihtiyaç duyacağımız Self Signed sertifikamızı oluşturacağız. Bunun için aşağıdaki komut setini çalıştırarak sertifikamızı oluşturacağız.

New-SelfSignedCertificate -KeyUsageProperty All -Provider “Microsoft Strong Cryptographic Provider” -FriendlyName “SingleNodeNC” -DnsName @(“SingleNodeNC.ebitest.local”)

 

clip_image008[4]

 

Oluşan sertifikamızın hem PFX hem de CER uzantılı halini export etmemiz gerekecek. Bununla birlikte Trusted Root Certification altında bulunan Active Directory sertifikamızı da CER uzantılı olarak export edeceğiz. Bunun için MMC konsol üzerinden gerçekleştireceğim.

 

clip_image010[4]

clip_image012[4]

 

Export işlemlerinden sonra elimde üç adet sertifika olacak. Bu sertifikalar Self sign oluşturduğumuz SingleNode isimli pfx ve cer uzantılı sertifika ve Active Directory Root sertifikası olan yine CER uzantılı sertifika dosyamız olacaktır.

 

clip_image014[4]

Sertifika işlemleri tamamladıktan sonra sıra Github üzerinden indirmiş olduğumuz dosyaların yine VMM Library altına import edilmesi bununla birlikte import edilen dosyaların altına ilgili sertifikaları atacağız.

 

clip_image016[4]

 

Bunun için SDN klasörü altında bulunan VMM ve yine VMM altında bulunan ve dağıtımını yapacağımız Network Controller servisinin altında bulunan klasörleri VMM Library altına import edeceğiz.

 

clip_image018[4]

Yukarıdaki ekran görüntüsünde görüldüğü üzere VMM Library paylaşımı altına ve root dizine ilgili dosyaları kopyaladım.

 

Aşağıda belirttiğim listede hangi sertifika dosyasını hangi alana bırakacağımızla ilgili bilgileri görebilirsiniz. Çünkü bu bilgileri birazdan template import ettikten sonra bizlerden bu bilgileri isteyecek ve ilgili bilgileri tanımlayacağız.

 

 

Kaynak

Kaynak Açıklaması

WinServer.vhd

Oluşturmuş olduğumuz Windows Server 2016 İmaj dosyası

NCSetup.cr

GitHub üzerinden indirmiş olduğumuz ve upload ettiğimiz NCSetup.cr dosyasını VMM library altında göstereceğimiz kaynak.

ServerCertificate.cr

VMM Library altına yine GitHub altından indirmiş olduğumuz dizini göstereceğiz kaynak. Bu dizin altına Self Sign oluşturduğum ve pfx olarak export ettiğimiz sertifika dosyasını import edeceğimiz alanımız.

TrustedRootCertificate

VMM Library altına yine GitHub altından indirmiş olduğumuz dizini göstereceğiz. Bu dizin altına Root sertifikamızı CER olarak export ettiğimiz sertifika dosyamızı import edeceğimiz alanımız.

NCCertificate.cr

VMM Library altına yine GitHub altından indirmiş olduğumuz dizini göstereceğiz. Bu dizin altına yine Self Signed oluşturduğum ve cer olarak export ettiğimiz sertifika dosyasını import ettiğimiz alanımız.

 

Belirtilen bu adımları gerçekleştirdikten sonra artık Template dosyamızı Import edeceğiz. Ardından dağıtımını gerçekleştireceğiz.

 

clip_image020[4]

 

Library tabımızda bulunan Service Template seçimini yapıyoruz ve yukarıda görüldüğü üzere Import Template seçimini yapıyoruz.

clip_image022[4]

 

İndirmiş olduğumuz SDN klasörü altında bulunan VMM\Template\NC isimli dizininde bulunan Network Controller Standalone Generation 2 VM.xml isimli service template ini seçiyorum. Burada ben PoC için kurulumları gerçekleştirdiğimden dolayı Standalone olan service template ini kullanıyorum. İsminden de anlaşılacağı üzere single node olarak network controller servisini oluşturacaktır. Eğer ki sizler Network Controller Production Generation 2 VM.xml isimli service template ini oluşturmuş olsaydınız üç node lu servis olarak kurulumları gerçekleştirilecekti. Production bir ortam olsaydı elbet teki bu seçimi yapacaktık. Çünkü SDNV2 ile ilgili makalemi okuduysanız bu rolün bizler için en önemli servis olduğunu anlamış olmalısınız. Bundan dolayı production ortamlarda üç node lu kurulum önerilmektedir.

 

 

clip_image024[4]

 

Import işleminden sonra bizleri Referansları tanımlayacağımız ekranımız karşılanmakta. Yukarıda vermiş olduğum tabloya göre map işlemini burada gerçekleştirdim. Bu map tanımlamaları yaptıktan sonra Next ile ilerliyorum.

clip_image026[4]

 

Yine bir özet ekranımız bizleri karşıladı. Import seçimini yaparak ilerliyoruz.

clip_image028[4]

 

Service Template Import ettikten sonra üzerinde sağ klik yapıyoruz ve Configure Deployment diyoruz.

clip_image030[4]

 

Name alanından servisimize bir isim veriyoruz. Bununla birlikte hangi host grubuna deploy edileceğini ve hangi interface kullanacağını tanımlıyor ve OK ile onaylıyorum.

clip_image032[4]

 

Bizleri karşılayan bu ekran son derece önemlidir. Burada ilgili alanları doğru bir şekilde tanımlamaları yapmalıyız. Yoksa dağıtımına başlayacağımız servis hata verecektir. Burada en öneli alanlardan biri Local admin tanımıdır. Burada tanımlama yaparken .\Administrator şeklinde tanımlamanın yapılması önem arz etmektedir. Servis için oluşacak VM ismi de oluşturduğumuz sertifika ile aynı olmalıdır. Yoksa bu kez sertifika ile sunucu isminin aynı olmamasından dolayı hata alacaksınız. Bu nedenle sertifika ile servis için kullanılacak sanal sunucu ismi SingleNodeNC.ebitest.local olmalıdır.

 

clip_image034[4]

 

Bütün tanımlamalar bitirdikten sonra yine yukarıda göreceğiniz ekran görüntüsünde önce Refresh Preview yapıyorum. Ardından herhangi bir problem yok ise Deploy Service seçimini yapıyorum ve artık Network Controller Servisinin kurulumu başlamış olacak.

 

clip_image036[4]

 

Kurulum tamamlandıktan sonra VM and Services tabında servisimizin başarılı bir şekilde kurulumun gerçekleştiğini gözlemleyebiliriz.

 

Kurulumun başarılı bir şekilde gerçekleştiğini gördükten sonra Network Servisi olarak SCVMM üzerinden ilgili tanımlamaları gerçekleştireceğiz.

 

Bunun için;

clip_image038[4]

 

Fabric altında Networking tabında bulunan Network Service sağ klik yapıyoruz ve Add Network Service seçimini gerçekleştiriyoruz.

clip_image040[4]

 

İlk olarak bizleri karşılayan ekranımızı Next seçimin yaparak ilerliyoruz.

 

clip_image042[4]

 

Servis isminin tanımı yapıyoruz ve Next ile ilerliyoruz.

 

clip_image044[4]

 

Yukarıdaki ekran görüntüsünde de göreceğiniz üzere Manufacture olarak Microsoft Model olarak da Microsoft Network Controller seçimini yaparak Next ile ilerliyoruz.

 

clip_image046[4]

 

Run as Account olarak daha önce servisimizi de kurarken tanımlanmış hesap bilgilerimizi seçerek next ile ilerliyoruz.

 

clip_image048[4]

 

Bizleri karşılayan bu ekranımız son derece önemli. Burada tanımlayacağımız connection string değerlerini tanımlayacağız. Aşağıda göreceğiniz connection string değerlerini kendi ortamınıza ve yapınıza uygun şekilde düzenleyerek kullanabilirsiniz.

 

serverurl=https://SingleNodeNC.ebitest.local;SouthBoundIPAddress=192.168.50.30;servicename=NC

 

clip_image050[4]

 

Bir önceki adımda tanımladığımız connection string içerisinde yer alan ve hostname SingleNodeNC sertifikamız ile aynı olduğundan emin olduktan sonra These certificates have been reviewed and can be imported.. Seçimini yaptığımızdan emin olduktan sonra Next ile ilerliyoruz.

clip_image052[4]

Information ekranımızda Scan Provider dedikten sonra Next ile ilerliyoruz.

clip_image054[4]

 

Oluşturduğumuz servisin hangi host grupları altına hizmet vereceğini belirleyeceğimiz ekranımızda benim kurulum öncesinde oluşturmuş olduğum SDN Host grubunu seçerek ilerliyoruz.

clip_image056[4]

 

Standart özet ekranımızı görüyoruz. Burada tanımladığımız değerlerde herhangi bir problem yok ise Finish diyerek servisimizi ekliyoruz.

Şimdi Network servisimizin dağıtımı ve tanımlanması sonrasında artık ihtiyacımız olacak olan ve ilk makalemizde belirttiğimiz HNV Provider network tanımımızı gerçekleştireceğiz.

Öncelikle HNV Provide networkümüz nedir ne için kullanılmakta bundan bahsedelim;

 

Hyper-V sanallaştırma networkü aslında. Bu network kartımız farklı ve çeşitli encapsulate edilmiş olan paketlerin Hyper-V hostları arasında taşınmasını gerçekleştirmektedir. Yani müşterilerim için oluşturulmuş networklerin ve bu networklerin atanmış olduğu Virtual Machine’ler arasında iletişimi sağlamaktadır. Bu network kartını yani sağlayıcı adresi olarak ilk makalemizde bahsetmiştim. Kısaca özetlemek gerekirse yine Virtual Machine’ler arasında başlayan paket encapsulate olur. Daha sonra bu encapsulate olmuş olan paketler PA adresinin bulunduğu network katmanına gönderilir ve bu encapsulate edilmiş paket farklı Hyper-V host üzerinde bulunan Virtual Machine’ e iletilir. İşte şimdiye kadarki kısımda bizler sadece Management networkü oluşturduk ve tanımlamalarımızı gerçekleştirmiştik. Bu adımda HNV network ’ü oluşturacağız;

 

HNV Network kartını oluşturmaya başlamak için yine SCVMM üzerinden;

clip_image058[4]

Öncelikle Fabric – Networking tabı altında bulunan Logical Network üzerinde sağ klik yaparak Create Logical Network seçimini gerçekleştiriyoruz.

clip_image060[4]

HNV olarak isimlendirmemizi yaptıktan sonra Next ile ilerliyoruz.

clip_image062[4]

Bizleri karşılayan bu ekranımızda Allow new VM networks created on this logical.. ve Managed by Microsoft Network… seçimlerini yaptığımıza dikkat ederek Next ile ilerliyoruz.

clip_image064[4]

Burada ise Network Site tanımımızı gerçekleştireceğiz. Bunun içinde ilk planlamamızda belirlediğimiz HNV networkü için 10.10.56.0/24 subnetini kullanacağız. İlgili tanımlamalarımızı gerçekleştirdikten sonra Next ile ilerliyoruz.

clip_image066[4]

Gelen özet ekranımızda Finish diyerek ilgili networkü oluşturmuş olduk.

clip_image068[4]

Oluşturmuş olduğumuz HNV isimli Logical Network üzerinde sağ klik yaparak Create IP Pool seçimini yapıyoruz.

clip_image070[4]

Yine isimlendirme ekranımızda ilgili tanımlamayı yaparak Next ile ilerliyoruz.

clip_image072[4]

Gelen Network Site ekranımızda herhangi bir değişiklik yapmadan Next ile ilerliyoruz.

clip_image074[4]

IP Address Range penceremizde ben IP aralığını 10.10.56.30-10.10.56.254 arasında dağıtması istediğimizi belirterek Next ile ilerledik.

clip_image076[4]

Gateway penceremizde ise 10.10.56.1 IP adresi tanımını yapıyor ve next ile ilerliyoruz.

clip_image078[4]

DNS tanımlamamızı ise ortamımızda bulunan ve yine daha önce kurulumlarını yaptığımız 192.168.50.2 DNS IP adresimizin tanımını yaparak Next ile ilerliyoruz.

clip_image080[4]

WINS ekranımızda herhangi bir değişiklik yapmadan ilerliyoruz. Sonraki ekranımız ise yine standart özet ekranımız. Bu ekranımızı da Finish diyerek sonlandırıyoruz.

clip_image082[4]

Şimdi oluşturduğumuz HNV networkümüzü daha önce oluşturduğumuz Port Profile altına tanımlamamıza. Bunun için Port Profile altında oluşturmuş olduğumuz DSNPortProfile üzerinde sağ klik yaparak özelliklerine giriyoruz.

clip_image084[4]

Gelen ekranımızda Network Configuration tabına geçerek oluşturmuş olduğumuz HNV Logical Netwokümüzün seçiyor ve onaylıyoruz.

Şimdi oluşturmuş olduğumuz servisimizin nasıl çalıştığını gözlemleyeceğiz. Bunun için iki adet Virtual Machine ve Network oluşturacağız.

clip_image086[4]

VMs and Service tabımızda bulunan VM Networks üzerinde sağ klik yaparak Create VM Network seçimini yapıyoruz.

clip_image088[4]

Oluşturacağımız networkümüze Customer Network01 diyerek isimlendirmemizi yapıyoruz ve Next ile ilerliyoruz.

clip_image090[4]

Gelen ekranımızda Isolate using Hyper-V Network virtualization checkbox seçiyor ve next ile ilerliyoruz.

clip_image092[4]

Gelen ekranımızda iki adet subnet oluşturacağız. Bunlardan birincisi Red Network olarak isimlendiriyoruz ve Subnet olarak 10.51.51.0/24 tanımını yapıyoruz.

clip_image094[4]

Bir diğer networkümüzün de ismine de Blue Network ismini veriyoruz, subnet olarak da 10.20.20.0/24 tanımını yapıyoruz ve Next diyerek ilerliyoruz.

clip_image096[4]

Gelen Connectivity ekranımızda herhangi bir değişiklik yapmadan Next ile ilerliyoruz.

clip_image098[4]

Özet ekranımızı da Finish diyerek sonlandırıyoruz.

clip_image100[4]

Şimdi ise oluşturmuş olduğumuz network için IP havuzu oluşturacağız. Bunun içinde Customer Network01 isimli network üzerinde sağ klik ardından Create IP Pool seçimini yaparak ilerliyoruz.

clip_image102[4]

Gelen isimlendirme ekranımızda RedNetwork_IPPool ve VM Subnet olarak Red Network seçimini yapıyor ve Next ile ilerliyoruz.

clip_image104[4]

IP adres aralığı olarak 10.51.51.4-10.51.51.254 aralığını tanımlıyor ve next ile ilerliyoruz.

 

clip_image106[4]

Gateway tanımını 10.51.51.1 olarak tanımlıyoruz ve Next ile ilerliyoruz.

clip_image108[4]

DNS tanımını 8.8.8.8 olarak tanımlıyor ve next ile ilerliyoruz.

clip_image110[4]

WINS tanımını yapmadan next ile geçiyoruz ve gelen özet ekranımızı Finish diyerek sonlandırıyoruz.

 

Red Network için oluşturmuş olduğumuz IP havuzumuzu yine aynı adımları Blue Network içinde uyguluyor ve Blue Network içinde IP havuzunu oluşturmalıyız.

Şimdi Networklerimizi oluşturduktan sonra VM’leri oluşturacağız.

clip_image111[4]

SDN Host grubu üzerinde sağ klik yaparak Create Virtual Machine seçimini yapıyoruz.

clip_image113[4]

Create the New virtual machine… seçimini yapıyor ve Next ile ilerliyoruz.

clip_image115[4]

Sunucu ismi olarak Red Machine olarak tanımlıyoruz ve Next ile ilerliyoruz.

clip_image117[4]

Hardware konfigürasyon ekranımızda Network Adapter tanımında Red Network tanımını yapıyor ve Next ile ilerliyoruz.

clip_image119[4]

Oluşacak olan VM hangi host grup altında olacağının seçimini yapıyor ve next ile ilerliyoruz.

clip_image121[4]

VM hangi host altında olacağını belirledikten sonra next ile ilerliyoruz.

clip_image123[4]

Gelen ekranımızda herhangi bir değişiklik yapmadan next ile ilerliyoruz.

clip_image125[4]

Add properties ekranımızda da herhangi bir değişiklik yapmadan ilerliyor ve özet ekranımızda bulunan Create seçimini yaparak sanal sunucumuzu oluşturmaya başlıyoruz.

Aynı adımları Blue Machine ismi ise tekrarlayacağız. Fakat farklı olarak network kartı olarak Blue Network seçimini oluşturacağımız yeni sanal sunucumuza atayacağız.

Sanal sunucularımızın kurulumları tamamlandıktan sonra şimdi testlerimi gerçekleştirmeye başlayabiliriz. Bunun için oluşturmuş olduğumu iki adet sanal sunucumuz ve bu iki sanal sunucumuza atadığımız iki farklı farklı subnet var.

Red Network : 10.51.51.0/24

Blue Network : 10.20.20.0/24

Red Machine isimli sunucumuzun aldığı IP adresini aşağıdaki ekran görüntüsünde de göreceğimiz üzere 10.51.51.5 adresini aldığını gördük.

clip_image126[4]

 

Bir diğer sanal sunucumuz olan Blue Machine sunucumuzun da IP adresini teyit ediyoruz. Bunun için Blue Machine isimli sanal sunucumuz üzerinde ip konfigürasyonunu kontrol ettiğimizde 10.20.20.4 IP adresini aldığını yine aşağıdaki ekran görüntüsünde görebiliyoruz.

clip_image127[4]

 

Şimdi bu iki farklı subnette bulunan sunucularımızın birbirleri ile haberleşmesini kontrol ediyoruz.

clip_image129[4]

Gördüğümüz üzere blue machine isimli ve 10.20.20.0/24 subnetinde bulunan sunucumuz bir diğer 10.51.51.0/24 subnetinde olan sunucumuzla sorunsuzca haberleşebildiğini gözlemleyebiliyoruz. Bu durumda Network Controller servisimizin çalıştığını ve herhangi bir problem olmadığını söyleyebiliyoruz.

Burada oluşturmuş olduğumuz ikinci logical networkümüz olan HNV bu işi gerçekleştirdiğini söylemiştik. Provider adresimiz olan bu networkümüzün arka tarafta hangi IP adresleri ile eşleştirildiğini de gözlemlemek isterseniz. Hostlarınız üzerinde aşağıdaki komut setini çalıştırarak görebiliriz.

clip_image130[4]

 

Get-PACAMapping komutu ile eşleşen Customer IP adresleri ile Provider Adreslerini gördükten sonra bu makale serisini de sonlandırıyoruz.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu