Thin Client ile Networkden Boot Ederek Windows Terminal Server Kullanımı

Bu yazımda thin client makinelerle nasıl windows terminal server a bağlanıp uzak masaüstü bağlantısı yapacağımızı anlatmaya çalışacağım.

Thin client dediğimizde, teknik özellikleri zayıf, işlemcisi ve rami düşük kapasiteli, üzerinde network kartı haricinde fazla bileşeni bulunmayan, hatta bir kısmında harddisk ve cdrom sürücüsü bile olmayan, ucuz ve az yer kaplayan bilgisayar sistemleri veya eskidiği için artık günümüz programlarıyla kullanılamayacak duruma gelmiş zayıf sistemler aklımıza geliyor.

Thin client sistemlerinin Windows Terminal Server ile kullanılmasıyla, hem çalıştırılacak programlar için gerekli olan işlem yükünün ve kapasite ihtiyacının Server ‘a devredilmesi sağlanır hem de etkin bir biçimde merkezi yönetim sağlanmış olur.

Windows’un Terminal Server hizmetinden yararlanabilmek için mutlaka thin client olarak çalışacak makinede bir işletim sisteminin yüklü olması ve o sistemde RDP protokolünü destekleyen bir terminal programının olması gerekiyor.
Bu konuda bir sorun yok ama eğer ki thin client olarak çalışacak makinelerin harddisk leri ve cdrom sürücüleri yoksa (diskless olarak tabir ediliyor) veya kullanılacak işletim sistemini bile çalıştıracak güce veya kapasiteye sahip değilse ne olacak?!
O zaman makineleri farklı bir yoldan boot edip, ilk açılış sistemini merkezi sunucudan yüklettikten sonra, terminal server a bağlantı yaptırmak gerekiyor.

Bunun için ilk akla gelen yöntem tabii ki network kartı üzerinden makineyi boot etmek. PXE (Preboot eXecution Environment) özelliği olan bir network kartı ile makine network üzerinden boot edilip, harddisk, cdrom, disket veya usb bellek gibi depolama aygıtına gerek kalmadan remote desktop bağlantısı sağlanabilir.
Alternatif olarak da, eğer imkan varsa, cdrom veya usb bellek ile boot edilip ilk açılış sisteminin yine o medyalar üzerinden yüklenmesini sağlamak ve network üzerinden terminal server a bağlantı kurmak olabilir.

Peki Windows Server böyle bir çalışmayı destekliyor mu? Cevap hayır olduğu için bu sistemin çalışmasını sağlayacak 3.parti bir programa ihtiyacımız var. Araştırdığınızda bu konuda kullanılabilecek birkaç programın olduğunu görüyoruz, aralarında Citrix gibi çok profesyonel bir program olduğu gibi daha basit yapıda olanları da var fakat çoğunluğu paralı olarak satılıyor.
Benim kullanacağım program AnywhereTS adında bir program.

AnywhereTS programının 2 versiyonu mevcut, biri Free olanı diğeri de Pro olanı. Ben burada Free olanı tanıtıcam. Tabii ki free olanın pro versiyonuna göre bir takım kısıtlamaları var.  Ne tip kısıtlamaları olduğunu karşılaştırmalı olarak görmek istiyorsanız, şu linkten bakabilirsiniz : http://anywherets.com/products/anywheretspro/compare

Programı şu adresten indirebilirsiniz : http://anywherets.com/products/anywherets/download

Ben bu senaryoda bir Domain Controller (cluster.net adında bir domain adı) ve de bu domain e üye olmuş bir Terminal Server makinesi kullandım. Zaten Terminal Services için bir domain ortamında olmak lazım ki yönetimi daha kolay olsun, ve daha etkin bir şekilde kullanabilelim. Tabii ki Terminal Services için gerekli olan ayarların makinede önceden yapılmış olduğunu ve Terminal Server ın düzgün olarak çalıştığını varsayıyoruz.

Peki bu AnywhereTs adındaki programı hangi makineye kurucaz diye soracak olursanız, Terminal Services ‘in çalıştığı makineye de kurulabilir, onun haricinde başka bir makineye de kurulabilir, ama başka bir yere kurulmasının çok anlamı olmadığını düşünerek ben burada Terminal Server makinesine kurucam. Kurulumu sırasında herhangi bir ayrıntı yok, kısa sürede kuruluyor.
Yalnız, kurulabilmesi için bizden SQL Server 2005 Express Edition ‘ın aynı makineye kurulmuş olmasını isteyecek. SQL server ı thin client ların yönetilmesinde, client a özel ayarların kaydedilmesinde kullanacak.

Express Edition ‘ı şu adresten çekebilirsiniz: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=220549b5-0b07-4448-8848-dcc397514b41

Microsoft SQL Server ‘ı kurduktan sonra AnywhereTS ‘in kurulumunu yapıyoruz.

Kurulduktan sonra ilk kez programa girdiğimizde karşımıza aşağıdaki ekran çıkıyor, programın çalışmasıyla ilgili ayarların yapılmasını istiyor.
İlk bölümde Terminal Server ‘ın aynı makine de mi yoksa başka makineler üzerinde mi çalıştığını soruyor. Biz Terminal Server üzerine kurduğumuz için en üstteki seçeneği seçiyoruz.
İkinci bölümde TFTP server ın konumunu belirtiyoruz. AnywhereTS zaten bir tftp server ile birlikte geliyor, istersek onun kendi server ını kullanabiliyoruz istersek de bizim başka bir yerde kurduğumuz mevcut tftp server ı kullanabiliyoruz, dosyaların bulunduğu root directory ‘i tam yoluyla yazıyoruz buraya.
Üçüncü olarak da DHCP tercihi geliyor. Burada AnywhereTS ile birlikte gelen kendi DHCP sunucusunu da kullanabiliriz veya bizim kendi mevcut DHCP sunucumuzu kullanabiliriz. Kendi DHCP sunucumuzu kullanırsak onun üzerinde bir takım değişiklikler yapmamız gerekecek, onları daha sonra göstericem. Şimdilik AnywhereTS nin kendi DHCP sunucusunu kullanalım:Next e bastığımızda karşımıza DHCP ve TFTP sunucusunun hangi network adaptörüne bağlanacağının (kullanılacağının) seçimi ve DHCP ayarlarıyla ilgili ayarları içeren bir ekran çıkıyor. Eğer belli bir adaptör ile kullanmak istiyorsak bu servisleri, onu yukarıdaki kutudan seçiyoruz.
DHCP ayarlarını da uygun şekilde yapıyoruz. Özellikle DNS ayarını doğru girmek gerekir. Ben DNS server ‘ı DC üzerine kurduğum için o makinenin IP adresini girdim:

İlk ayarlar tamamlandıktan sonra karşımıza bu şekilde bir ekran geliyor :

İkinci olarak yapmamız gereken şey ise, üst menüden MakeClient a tıklayıp oradan Make client image ‘ı seçmek olacak.
Oradan thin client lar için boot image oluşturucaz. Hangi yöntem ile yükleneceğini seçicez.

İlk olarak karşımıza gelen ekranda bize thin client ların ayrı ayrı yönetilip, ayarlarının makineye özel yapılıp yapılmayacağını soruyor aslında. Her makine için ayrı bir ayar yapmak istiyor muyuz yoksa tüm makineler için terminal ayarları aynı mı olacak. Onu seçiyoruz.
İlk olarak Unmanaged ‘ı seçiyoruz, böylece tüm client lar için ayarlar aynı olacak.

Daha sonraki karşımıza gelen ekrandan programın versiyonunu seçiyoruz, biz bu örnekte free versiyonunu kullandığımız için 2. olan seçeneği yani AnywhereTS client ‘ı seçiyoruz ve o ekranı geçiyoruz.

Ondan sonra gelen ekran bağlantı tipimizi ve de Terminal Server ın bulunduğu makinenin adresini giriyoruz. Terminal Server aynı makinede kurulu olduğu için This Computer ‘ı seçip ordan makinenin ip adresini seçiyoruz. Yok eğer Terminal Server başka bir makine üzerinde çalışıyor ise Another Server seçeneğini seçip o makinenin ip adresini veya DNS adını giriyoruz, Specify Domain Name kısmına birşey girmemize gerek yok, Next ile ilerliyoruz:

Daha sonra karşımıza gelen ekranlarda Network kartı ve Ses kartı ile ilgili ayarları içeriyor, her iki ekranda da herhangi bir değişiklik yapmaya gerek yok, Auto Detect olarak bırakıyoruz seçenekleri.

Ardından Grafik ayarlarıyla ilgili ekran çıkıyor karşımıza. Burada thin client ların kullanacakları ekranların çözünürlükleri renk derinliği gibi ayarlarını yapıyoruz. Tabii şuan Unmanaged client image ı oluşturduğumuz için bu ayarlar her client için geçerli olacak.

Bir sonraki ekranda, client ‘ın boot sırasında ekranına gelecek olan resimi seçebiliyoruz. İster programın bize sunduğu 4 seçenekten birini seçebiliriz istersek kendi boot resmimizi yükleyebiliriz. Fakat kendi boot resmimizi yüklemek istediğimizde burada free edition ile pro edition arasındaki farklardan biri daha ortaya çıkıyor ve yüklediğimiz resmin üzerine istenmeyen bir yazı ekliyor, hem de büyük bir yazı.
My custom image ‘ı işaretleyerek Select tuşuna bastığımızda kendi boot image ımızı yükleyebiliyoruz.

Ve son olarak, bu oluşturulacak boot image ın hangi medyaya kaydedileceğini, yani thin client ların boot methodunu belirliyoruz.

Tabii yine burda free ile pro versiyonlarının farkı çıkıyor, çünkü free versiyonda sadece Network Boot ve Boot from CD seçeneklerini seçebiliyoruz.

Ben burada thin client ların diskless olduğunu düşünerek network boot u seçiyorum.
Client lar PXE özellikli network kartlarından boot edip önce DHCP sunucudan IP alacaklar, DHCP server dan öğrendikleri TFTP adresine bağlanıp boot image ı çekip yükleyecekler ve son olarak da RDP protokolüyle Terminal Server a bağlanacaklar.

Bu işlemden sonra Server tarafında yapılması gereken işlemler bitmiş oldu. Şimdi sıra client larda.

Thin Client olarak çalışacak makinelerin network kartlarının PXE-boot u desteklemesi lazım, aynı zamanda anakartların BIOS larının da boot yöntemi olarak bunu desteklemesi lazım. Gerekiyorsa BIOS setup a girip bunu etkinleştirmeliyiz.

Network kartı üzerinden boot işlemini başlattığımızda öncelikle DHCP ı arayacaktır client, eğer ki aynı network segmentindeyseler zaten DHCP server, client a cevap verecektir ve ona bir IP atayacaktır. Karşınıza yaklaşık olarak böyle bir ekran çıkacaktır :

Hemen ardından daha önce belirlediğimiz boot image i karşımıza gelecek :

Kısa bir yükleme süresinin ardından, eğer ki ayarları doğru yaptıysak karşımıza Windows Terminal Server login ekranı gelecektir. Buraya gerekli kullanıcı adı ve şifresini yazarak artık uzak masaüstümüzü kullanmaya başlayabiliriz :

Bağlantıyı sağladıktan sonra AnywhereTS Admin programına girecek olursak, Terminal Server ‘a bağlanmış olan tüm client ları sol tarafta listelenmiş olarak görebiliyoruz. Yalnız üzerlerinde herhangi bir müdahale yapılamıyor, sadece bilgi veriliyor. Müdahale için yine Terminal Services Manager konsolunu kullanmak gerekiyor

Bu aşamadan sonra diğer bir aşamaya geçelim ve Managed Client ların nasıl yapıldığına bakalım.

Yönetilebilir Thin Client lar

Bu işlem sayesinde her client a ayrı ayrı ayarlar yapılabilecek, ekran özellikleri, bağlantı seçenekleri, ses, mouse veya rdp e özel seçenekler gibi bazı şeyleri ayarlayabilicez.

Bunları sağlamak için 2 tane iş yapmamız gerekiyor. Önce Client ları tanımlayıp sonra da boot image ı “Managed” olarak değiştirmemiz gerekiyor.

Önce programın üst menüsünden ManageClients’a girip ordan “Add client …” a tıklıyoruz :

Daha sonra özelliklerini gireceğimiz thin client a bir isim veriyoruz, ve altına da client da kullanılan network kartının MAC adresini girmemiz gerekiyor, ki zaten program clientları MAC adreslerinden ayırt edecek.
Bir şekilde network kartının MAC adresini öğrenmeniz gerekiyor. PXE ile boot ederken dhcp den ip aldığında ekranda kartın MAC adresini yazar mesela ordan öğrenebilirsiniz.

İstersek bu client ın hangi Terminal Server ‘a bağlantı yapacağını hangi domain i kullanacağını ve de hangi login bilgileri ile giriş yapacağını belirleyebiliriz, böylece makine açıldığında hiç bir kullanıcı bilgisi ve şifre girmeden direkt olarak sisteme login olabilir, tabii bir tercihdir bu.

Tabii ben burda sadece Terminal Services üzerinde yani RDP protokolü üzerinde duruyorum fakat bu programla ayrıca Citrix ICA protokolünü kullanıp Citrix Server lara da uzak masaüstü bağlantısı yapılabiliyor, eğer öyle bir sisteminiz kurulu ise o tercih de seçilebilir. Connection Type kısmından seçebiliyoruz.

Yine client arayüzü ile ilgili ayarlar yapabiliyoruz, ekran çözünürlüğü, renk seçeneği, ses, mouse vs. gibi :

Ve diğer istediğimiz ayarları da yaptıktan sonra OK liyoruz.

Bir sonraki aşama olarak boot image ımızı değiştirmemiz gerekiyor. Bunun için yine “MakeClient” a girip ordan “Make client image” ı seçiyoruz.
Ve de ilk olarak karşımıza çıkan ekranda bu sefer 2. seçeneği yani “Managed” seçeneğini seçiyoruz ve o şekilde tamamlıyoruz boot image oluşturma işlemini.

Client lar bu image ile açtıklarında bilgisayarları, artık yönetilebilir bir sistem oluşmuş oluyor, tabii tüm client ları tek tek girmek gerekiyor.
Client login olduğunda AnywhereTS Admin de sol taraftaki “Managed clients” bölümünde yönetilebilir client ların gözükmeye başlıyor. İstersek tabii ki istediğimiz zaman ayarlarını değiştirebiliyoruz.

Boot image ımızı Managed olarak değiştirdiğimizde, eklediğimiz client lar haricinde kalan yani kayıdı olmayan client ların hangi ayarları kullanacağını şurdan belirliyoruz:

Burada yapacağımız ayarlar özel olarak MAC adresiyle eklediğimiz ve ayarlarını yaptığımız client lar haricinde kalan tüm client lar için geçerli olacak ayarlardır.

Şimdi diğer bir seçeneğe geçelim ve eğer AnywhereTS programının kendi DHCP sunucusunu değil de Windows ‘un kendi DHCP server ‘ını kullanmak istersek ne yapmamız gerekir ona bir bakalım.

Windows’un kendi DHCP Server ‘ını kullanmak

Bunu sağlamak için programın ayarlarında bir değişiklik yapmak gerekiyor. Onu da Tools -> Configure ‘e girerek yapıyoruz. DHCP bölümünden “I have a DHCP that I will configure manually” seçeneğini seçiyoruz, diğer ayarlara dokunmadan ayarlamayı bitiriyoruz

Bu ayardan sonra yapmamız gereken, DHCP Server ‘ı hangi makineye kurduysak oraya girip DHCP ayarlarında değişiklik yapmak olacak.

Önce yapmamız gereken şey, DHCP server 2ın option larında olmayan bir seçeneği eklemek olacak. Bunun için DHCP konsolunu açtıktan sonra dhcp server adına sağ tıklıyoruz ve o menüden “Set Predefined Options..” ‘ı seçiyoruz.

Daha sonra karşımıza çıkan ekrandan “Add..” tuşuna basıyoruz :

Option özelliklerini girmemiz gerekiyor. Name olarak “PXEClient” yazıyoruz, Data Type ‘ı “String” e alıyoruz, Code kısmına da “60” yazıyoruz, Description kısmına istediğinizi yazabilirsiniz önemli değil. Sonra OK liyoruz :

Bu işlemi netsh komutunu kullanarak da yapabilirdik , ki zaten AnywhereTS nin dökümanlarında bu netsh komutu kullanılarak yapılmış. Size kalmış birşey.

Sonraki aşamada diğer option ları girmemiz gerekiyor. Burada Server Options ı da kullanabiliriz, veya Scope Options ı da kullanabiliriz. Ben Scope Options a girdim seçenekleri.

Scope Options a sağ tıklayıp “Configure Options…” a giriyoruz :

Configure ‘e girdikten sonra karşımıza çıkan listeden 60 numaralı seçeneği seçip String value olarak “support” yazısını giriyoruz.

66 nolu seçeneğe yani “Boot Server Host Name” e string value olarak TFTP server ‘ın ip adresini giriyoruz, ki TFTP olarak AnywhereTS nin kendi server ını kullandığımız için AnywhereTS nin kurulu olduğu server ın IP adresini giriyoruz buraya :

67 nolu option ‘a yani “Bootfile Name” ‘e “client.zpxe” yazıyoruz. Bu dosya TFTP server root klasöründe bulunan ilk yüklenen dosya. Tam olarak nerede duruyor diye soracak olursanız, AnywhereTS i kurduğumuz makinenin “\Document and Settings\All Users\Application Data\AnywhereTS\TFTP” klasöründe bulunuyor.

Böylece Scope Options ile ilgili ayarlar bitmiş oluyor. Scope ‘unuz aktifleştirildi ise artık kullanılmaya hazır demektir.

Client ‘lar artık windows dhcp server dan IP alacak ve ondan TFTP server adresini öğrenip boot image ı oradan çekip kullanacaktır.

Son olarak açıklamak istediğim bir konu daha var ki eksik birşey kalmasın diye onu da anlatalım :)

Client ların kendi ayarlarını kendisinin yapabilmesi olayı. Normalde Thin Client ların ayarları AnywhereTS nin kurulu olduğu server üzerinden merkezi olarak yapılıyordu fakat kullanıcılar kendi RDP ayarlarını değiştirmek isterse nasıl olacak.

Onun için önce yapılması gereken şey şu; Terminal Server, SQL Server Express Edition ve AnywhereTS aynı makine üzerinde olduğu için o makinenin Lokal Group larına girip (My Computer – Sağ Click – Manage – Local Users and Groups), “SQLServer2005MSSQLUser$<Server_Adi>$SQLEXPRESS” adlı gruba, Active Directory ‘de tanımladığımız Thin Client lar için oluşturduğumuz kullanıcıların grubunu ekliyoruz.
Yoksa kullanıcılar ayar yapmak için programa girmek istediklerini hata alıyorlar.

Onu hallettikten sonra yapmamız gereken, Terminal Server olarak çalışan makinede AnywhereTS ile birlikte gelen “AnywhereTS Control Panel Installer” adlı programı kurmak olacaktır. Programı Terminal Server ‘a kurduğumuzda zaten tüm Thin Client lar “Start” menüsünde “Control Panel (AnywhereTS)” adındaki programa erişebilecekler ve de kendi ayarlarını oradan yapabilecekler. Biraz kısıtlı tutulmuş ayarlar, çok fazla seçenek yok açıkcası

Böylece, özellikle diskless Thin Client lar ile nasıl Terminal Server ‘a bağlanıp uzak masaüstünü kullanabileceğimizi anlatmaya çalışmış oldum.

Umarım işiniz yarar bilgiler vermişimdir.

Bir sonraki yazıda görüşmek üzere, herkese iyi çalışmalar …

kaynak:

http://hakanengin.net/thin-client-ile-networkden-boot-ederek-windows-terminal-server-kullanimi

Word Dosyası ŞEklinde yandaki linkten indirebilirsiniz.  Thin Client ile Networkden Boot

9 Yanıt

  1. Kaynak göstererek yazıyı eklediğiniz için teşekkürler …

  2. […] Thin Client ile Networkden Boot Ederek Windows Terminal Server Kullanımı […]

  3. Merhaba,

    PXE desteği olmayan ethernetli anakartlar var, bunlar için flash bellek üstünde yazılımı gerekli, bana ne tavsiye edersiniz.

    sourceforge da güzel linux uygulamaları var. Ama siz daha hakim olduğunuz için bir danışayım dedim.

    Çok güzel bir yazıymış, ağzımın suyu aktı desem yeri :)

    • Ahmet bey yukardaki yazıdaki uygulamayı bizzat kendi okulumda uyguladım çok da güzel çalıştı. ancak bizim makinalarda pxe desteği vardı. Bu yüzden pek fazla uğraşmadan hallettik. Bence siz bahsettiğiniz uyglamarı bir deneyin sonuçları bana bildirirseniz sevinirim. Linux uygulamarından bahsetmişsiniz. Ben yeni yeni linuxla uğraşmaya başladım kendi web serveremi kurdum ubuntu linux eğer linuxtada yukardaki gibi bir uygulama yapılabiliyorsa bunuda öğrenmek isterim. saygılar..

  4. arkadaşlar aynı sistemi kurmayı deniyorum fakat bir türlü başarıyla sonuçlandıramadım sorun yaşadığım nokta şu bütün ayaları yaptım client pc den netwoor boot aracılıyla bağlantı kurmaya çalıştığımda boot image kadar ki olan aşamaya kadar ilerledim ama ondan sonraki aşamada rdp üzerinden log on ekranın gelmesi gereken adıma geçemedim şu şekilde bir hata veriyor anywhre ATS:12 NO IP DHCP RECEİVED diye yardımcı olursanız sevinirim

    • başka bir client denediniz mi? dhcp den ip alınamıyor. bağlantıları bir kontrol edin birde anywherets dhcp ayarlarında bir problem var dns ayarlarını bir kontrol etmeni öneririm.

  5. oncelikle boyle yararli paylaşimlariniz için tesekkürler biz de sizin oneridigniz anywere programini kullanmaya caliştik fakat thin clientimizi lan üzeridnen baslattigimiz zaman no DHCP İP RECEİVED hatasi aliyoruz butun yollari denedik severimizda kendi dhcp ayarlamasimizi da yaptik ama sonc yine degişmedi yardimci olabilrmisiniz simdiden tesekkürler

  6. hocam üstteki hatayi bende aliyorum ip leri kontrol ettim ama yin de sonuc ayni dhcpyi elle veriyorum yine degişmiyor bzen de network not initalized hatasi veriyor internette sorun yok baglana biliyoruz ne onerirsiniz

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s