Kısa cevap: Remote Desktop Services (RDS), Windows Server’ın kullanıcılara merkezi sunucular üzerinden oturum, uygulama veya masaüstü sunmasını sağlayan rolüdür. Kullanıcılar RDP protokolüyle bu sunuculara bağlanır; uygulamalar ve veriler kullanıcının bilgisayarında değil, sunucuda çalışır. Bu yazıda RDS’in bileşenlerini, kurulumunu, lisanslamasını ve sık karşılaşılan lisans uyarısının çözümünü anlatıyorum.

Günümüzde pek çok şirket için kullanıcı deneyimi son derece önemli. Kullanılan bilgisayarlar, internet bağlantıları ve programlara erişim hızı toplamda üretkenliği belirleyen faktörler olduğu için biz bilgi sistemleri sorumluları bu konuya yoğun mesai harcıyoruz. Her şirketin iş ihtiyacı farklı olsa da ortak ihtiyaçlar da var; ancak bütçeler farklı olduğu için sektörde benzer ihtiyaçlar için farklı çözümler görebilirsiniz.

Örneğin kimi şirketler her kullanıcısına laptop verir, kullanılan tüm programları ve verileri bu laptop üzerinde saklar ve üçüncü parti yedekleme yazılımlarıyla bu verilerin güvenliğini sağlar. Bu senaryoda verilerin dağınık olması nedeniyle hem yedekleme maliyetleri yükselir hem de veri güvenliğini sağlamak bir hayli zorlaşır. Zaten pek çok veri sızıntısının bu şekildeki son kullanıcı bilgisayarlarından yaşandığını biliyoruz. Diğer bir senaryo ise şirketinizdeki merkezi sunuculara Windows Server ile bütünleşik gelen RDS rolünü yükleyerek çalışanlarınızın iş yüklerini oturum sanallaştırma, uygulama sanallaştırma veya masaüstü sanallaştırma teknolojileriyle bu sunucular üzerinde çalıştırmaktır.

Uzaktaki veya şirket içindeki kullanıcılarınızın bu tür merkezi çalışma ortamı ihtiyaçları için Microsoft Windows Server Remote Desktop Services kullanabilirsiniz.

Remote Desktop Services (RDS) genel topolojisi ve kullanıcı bağlantıları

Remote Desktop Services (RDS) Nedir?

Öncelikle RDS teknolojileri için kullandığımız terimleri ve topolojiyi görerek konuya başlayalım.

Temel olarak RDS, yukarıdaki şekilde gördüğünüz kullanıcıların uygun ve desteklenen cihazlar üzerinden RDP protokolüyle RDS sunucularına bağlanmasını sağlar. Burada yerel Windows kullanıcıları ve workgroup ortamları da kullanılabilir; ancak merkezi yönetim ve güvenlik ihtiyaçları nedeniyle sektörde bu tür kurulumları genellikle Active Directory domain ortamlarında görürsünüz.

Bu nedenle şekildeki kullanıcılar genellikle Active Directory kullanıcılarıdır. Kullanılan cihazların domain üyesi ya da workgroup olması, güvenlik tarafı dışında bir sorun oluşturmaz. Bağlanılan sunucular ise genellikle Active Directory domain ortamına katılmış RDS sunucularıdır.

RDS temel olarak üç çözüm sunar.

Session Virtualization (Oturum Sanallaştırma)

Kendi bilgisayarınızdan bir RDS sunucusuna RDP protokolüyle uzak bağlantı yaptığınız senaryodur. Karşınıza bir masaüstü gelir; yani aslında bir uzak oturum açıyorsunuz. Ancak açtığınız bu oturum başka bir sunucuda sanallaştırılarak size sunulduğu için buna oturum sanallaştırma denir. Sektörde bu senaryo genellikle doğrudan “RDS” olarak anılır; oysa RDS servisin genel adıdır ve oturum sanallaştırma sunduğu hizmetlerden yalnızca biridir.

Oturum sanallaştırma, sektörde RDS’in en yaygın kullanılan özelliğidir.

Application Virtualization (Uygulama Sanallaştırma / RemoteApp)

Bu senaryoda kullanıcı kendi bilgisayarından bir web sitesine erişir ve bu sitede kendisi için yayınlanmış uygulamaları listeler. Kendi bilgisayarında bir ofis programı yüklü olmasa bile Word belgelerini açıp düzenleyebilir; bir muhasebe programı yüklü olmasa bile yayınlanmış muhasebe programına tıkladığında programı kendi bilgisayarında kullanmaya başlar.

RD Web Access üzerinde yayınlanmış RemoteApp uygulamaları

Yukarıdaki ekranda olduğu gibi, uyumlu RDS sunucusu üzerinde yüklü uygulamaları yayınlayarak (publish) kullanıcılarınıza bu programları kendi bilgisayarlarından kullanma deneyimi sunabilirsiniz.

Peki bilgisayarınızda Office yüklü olmadan nasıl oluyor da Word belgelerini düzenleyebiliyorsunuz? Ya da bir muhasebe programı yüklü değilken linkine tıklayınca program nasıl açılıyor?

Uygulama sanallaştırmanın altında yatan teknoloji, uygulamanın RDS sunucusu üzerinde açılması ve size yalnızca görüntüsünün iletilmesidir. Yani program aslında sizin bilgisayarınızda değil, RDS sunucusu üzerinde çalışır ve onun kaynaklarını kullanır.

Desktop Virtualization (Masaüstü Sanallaştırma / VDI)

Masaüstü sanallaştırma, VDI olarak bildiğimiz teknolojidir. Kullanıcı deneyimi açısından oturum sanallaştırmaya çok benzer; kullanıcı yine uzak bağlantıyla yeni bir oturum açar. Temel fark şudur: Session host çözümünde tüm oturumlar aynı işletim sistemi katmanında çalışır. Yani tek bir Windows Server üzerinde aynı anda 5, 10 veya daha fazla kişi çalışır. Bunun en temel sorunu, bir kullanıcının aşırı kaynak tüketmesi durumunda tüm sunucunun bundan etkilenmesidir.

Masaüstü sanallaştırmada ise her kullanıcıya özel bir işletim sistemi atanır. Kullanıcının bağlandığı oturum ortak değil, kendisine ait kaynakları olan bir sanal masaüstüdür. 10 kullanıcınız varsa, 10 ayrı Windows istemci sanal makinesi çalıştırıyormuşsunuz gibi düşünebilirsiniz.

Bu üç senaryo içinde en konforlu ve en izole olanı VDI’dır; ancak her kullanıcı için ayrı bir işletim sistemi çalıştığı için daha fazla sistem kaynağına ihtiyaç duyar. CPU ve RAM tarafında fark çok büyük olmasa bile, VDI altyapıları için hızlı SSD ve flash depolama gerektiği için pek çok şirket VDI kullanmak istese de session host ile ilerliyor.

Üç temel çözümü gördükten sonra bu makalede sektördeki en yaygın kullanım olan session host, yani oturum sanallaştırma çözümüyle ilerleyeceğim.

RDS Rolleri ve Bileşenleri

Amacımız oturum sanallaştırma ise önce gereksinimleri ve bu yapının bileşenlerini bilmemiz gerekiyor.

RDS rolleri: Web Access, Gateway, Connection Broker, Session Host ve Licensing

Yukarıdaki şekilde kullanacağımız temel bileşenleri görebiliriz.

Remote Desktop Web Access

Web tarayıcısı üzerinden RemoteApp veya masaüstü erişimlerini sağlayan roldür.

Remote Desktop Gateway

Ortamınızı dış dünyaya açmak istiyorsanız mutlaka kullanmanız gereken roldür. RD Web Access her ne kadar 80 veya 443 numaralı port üzerinden hizmet verse de, kullanıcının bu sitede tıkladığı uygulama veya bağlantı linkleri 3389 numaralı portu kullanarak Connection Broker’a bağlanır. Bu nedenle dış dünyaya yalnızca 80 veya 443 portunu açmak tek başına çözüm olmaz.

Özetle, yapıyı dış dünyaya açmak ama 3389 portunu internete açmamak istiyorsanız RD Gateway kurmanız gerekir. RD Gateway, RDP trafiğini 443 portu üzerinden HTTPS içinde taşıyarak güvenli bir bağlantı noktası sağlar. 3389 portunu doğrudan internete açmak, bugün en sık istismar edilen saldırı yüzeylerinden biridir; bunu kesinlikle önermiyorum.

Remote Desktop Connection Broker

Gelen bağlantı isteklerini, üzerinde tanımladığımız kurallar çerçevesinde arkasındaki Remote Desktop Session Host veya Remote Desktop Virtualization Host sunucularına yönlendiren bağlantı sunucusudur.

Remote Desktop Virtualization Host

Sanal masaüstü (VDI) çözümü için kurmanız gereken roldür.

Remote Desktop Session Host

Oturum sanallaştırma için kurmanız gereken roldür.

Remote Desktop Licensing

Ortamın lisanslanması için kullanılan roldür. Bu rol yüklendikten sonra geçerli RDS CAL lisanslarınızı ekleyerek ortamı sorunsuz şekilde kullanmaya başlayabilirsiniz.

Connection Broker yüksek erişilebilir (HA) kurulacaksa bir SQL Server veritabanına ihtiyaç duyulur. Bu sayede büyük yapılarda sunucu rollerinden en az ikişer tane kurularak yüksek erişilebilir bir mimari oluşturulabilir.

Birden fazla Session Host ve ortak dosya depolama içeren RDS mimarisi

Yukarıdaki şekilde aynı yapıyı farklı bir çizimle göstermeye çalıştım. Burada ek olarak File Storage bileşenini görüyorsunuz. Birden fazla session host sunucusu olan bir yapıda Connection Broker, yükü dengelemek için kullanıcıları farklı sunuculara yönlendirebilir. Bu durumda SH1 sunucusunda oturum açan bir kullanıcı ertesi gün SH2 sunucusuna bağlanırsa karşısına yeni bir masaüstü çıkar. Bu nedenle böyle bir senaryoda kullanıcı profillerinin ortak bir alanda tutulması şarttır. Bunun için bir dosya sunucusu ve paylaşım alanı yeterlidir; günümüzde bu ihtiyaç için klasik Roaming Profile yerine genellikle User Profile Disk veya FSLogix tercih ediliyor.

RDS Kurulumu Adım Adım

Bu kadar kavram ve bileşen tanımından sonra kurulum adımlarına geçelim. Anlatımı Windows Server 2019 üzerinde yaptım; adımlar Windows Server 2022 ve 2025’te de büyük ölçüde aynı.

Kurulum öncesinde iki konu önemli:

  • Kapasite: Tek sunucuda tüm rollerin olacağı küçük bir yapı kuruyorsanız, genellikle kapasiteye çok kafa yormadan kurulum yapılır; kullanıcılar bağlandıkça kaynak ihtiyacına göre artırma veya azaltma yapılır. Banka, telekom ve büyük kurumlarda ise profilleme yapılır: Hangi tip kullanıcıdan kaç tane olduğu ve her profil için gereken CPU, RAM ve disk ihtiyacı hesaplanarak toplam kapasite ortaya çıkarılır.
  • Mimari: 100, 200, 500 veya 1000’in üzerinde kullanıcı varsa gereken kapasite tek bir sunucuyla sağlanamaz. Bu durumda RD Web Access, Connection Broker, RD Gateway ve Session Host gibi roller için birden fazla sunucu kurulması gerekir ve mimari büyük önem kazanır.

Bu makalede temel kurulumla ilerleyeceğiz.

Kapasite çalışmasını yaptıktan sonra uygun bir fiziksel veya sanal sunucuya Windows Server kuruyoruz. Ardından Server Manager ekranını açıp Add roles and features linkine tıklıyoruz.

Server Manager Add roles and features
Add Roles and Features sihirbazı başlangıç ekranı

Karşımıza ilk olarak sihirbazın kullanımı hakkında bilgi veren varsayılan ekran gelir. Bu ekranı Next diyerek geçebiliriz.

Remote Desktop Services installation seçeneği

İkinci ekranda ne tür bir kurulum yapacağımızı seçiyoruz. DHCP, DNS, CA veya AD gibi rol tabanlı kurulum yapabileceğimiz gibi, bu senaryoda olduğu gibi Remote Desktop Services installation da seçebiliriz. İkinci seçeneği seçip ilerliyoruz.

RDS Standard deployment ve Quick Start seçenekleri

Bu bölümde iki temel seçeneğimiz var. Büyük bir organizasyon için farklı rollerin farklı sunucularda olacağı bir yapı kuracaksanız Standard deployment ile ilerlersiniz.

Session-based desktop deployment ve Virtual machine-based desktop deployment seçimi

Hangi seçeneği seçerseniz seçin, ikinci soru oturum sanallaştırma mı yoksa sanal masaüstü (VDI) kurulumu mu yapacağınızdır. Ben oturum sanallaştırmayı seçiyorum.

Standard deployment rol hizmetleri ekranı

Oturum sanallaştırmayı seçtikten sonra, standart kurulum adımlarını takip ettiğim için sihirbaz her bir rolü tek tek soracak.

RD Connection Broker sunucusu seçimi

Bu noktada önce RD Connection Broker, sonra RD Web Access ve Session Host rollerini seçerek kurulumu tamamlayabiliriz. Ancak elinizde tek bir sunucu varsa standart kurulum mantıklı değildir; alternatif sunucu olmadığı için bu ekranlarda gereksiz zaman kaybedersiniz. Birden fazla sunucunuz varsa bu kurulumla sunucuları seçerek devam edebilirsiniz. Ben tek sunucu kullandığım için geri dönüp hızlı kurulumla (Quick Start) devam edeceğim.

RDS Quick Start seçimi

Bu ekrana geri dönüp Quick Start seçeneğini seçiyorum.

Quick Start ile session-based desktop deployment seçimi

Standard veya Quick Start fark etmeksizin sihirbaz aynı soruyu soruyor: Oturum sanallaştırma mı, masaüstü sanallaştırma mı? Ben yine oturum sanallaştırmayı seçiyorum.

Quick Start sunucu seçimi ekranı

Gördüğünüz gibi sol bölümde çok seçenek yok; tek bir sunucumuz olduğu için tüm roller bu sunucuya kurulacak ve sunucuyu sihirbaz kendisi seçmiş durumda. Server Manager üzerinde birden fazla sunucu ekliyse burada birden fazla sunucu görebilir ve bunlara ayrı ayrı Session Host kurulumu yapabilirsiniz. Ancak birden fazla sunucu varsa daha esnek seçim imkanı sunduğu için standart kurulumla ilerlemek daha doğru olur.

RDS rollerinin aynı sunucuya kurulumu için onay ve Deploy ekranı

Yukarıdaki ekranda üç rolün de aynı sunucuya kurulacağını görüyoruz. Alttaki kutucuğu işaretleyip Deploy diyebiliriz.

Bu aşamada sunucu bir kez yeniden başlayacak ve açıldıktan sonra kurulumları tamamlayacaktır.

RDS rol kurulumu ilerleme ekranı
RDS kurulumunun tamamlanması

Kısa bir süre sonra yükleme tamamlanacaktır. Ardından Server Manager ekranını açıp Remote Desktop Services bölümüne geliyoruz.

Server Manager Remote Desktop Services deployment overview ekranı

Burada yüklü olan rolleri gri, yüklenmemiş rolleri ise üzerinde yeşil bir “+” işaretiyle görüyoruz.

Dış dünyadan erişim ihtiyacı varsa RD Gateway rolünü ayrı bir sunucuya kurabilirsiniz. Benzer şekilde birden fazla RDS sunucunuz varsa hepsine hizmet verecek tek bir RD Licensing sunucusu kurabilirsiniz. Başka bir sunucunuz yoksa RD Gateway’i Session Host ile aynı sunucuya kurmanızı önermem; internete açık bir bileşeni kullanıcı oturumlarının çalıştığı sunucuyla aynı yerde tutmak güvenlik riskini artırır.

RDS Lisanslama: RD Licensing Kurulumu ve Ayarları

Lisans rolü kurulumunu da artı işaretine tıklayarak hızlıca yapabilirsiniz.

RD Licensing rolünün eklenmesi

Lisans sunucusu ve geçerli lisans olmadan kurduğunuz bu yapı 120 gün boyunca deneme süresiyle (grace period) çalışır. 120 günün sonunda ise yeni bağlantı kabul etmez. Bu nedenle yapı için kullanıcı bazlı (Per User) veya cihaz bazlı (Per Device) RDS CAL lisansı almanız gerekir. RDS CAL, Windows Server CAL’dan farklıdır ve onun yerine geçmez; aynı şekilde Windows Server CAL da RDS CAL olarak kullanılamaz. RDS ortamındaki her kullanıcı veya cihaz için her iki lisansa da ihtiyaç vardır.

Şu anda yapımız uzak bağlantı kabul etmeye hazır, ancak birkaç küçük ayar daha gerekiyor. İlk olarak sunucunun hangi lisans sunucusunu ve hangi lisans tipini kullanacağını belirlememiz lazım.

Tek bir sunucunuz varsa yerel grup ilkesini (gpedit.msc), çok sayıda RDS sunucunuz varsa merkezi GPO’yu kullanabilirsiniz. Her iki durumda da şu yolu izleyin:

Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing

Grup ilkesinde Remote Desktop Session Host Licensing ayarları

Burada iki temel ayarımız olacak.

Set the Remote Desktop licensing mode ilkesi

Set the Remote Desktop licensing mode ilkesinde kullanacağınız lisans modelini (Per User veya Per Device) seçiyorsunuz.

Use the specified Remote Desktop license servers ilkesi

Use the specified Remote Desktop license servers ilkesinde ise lisans sunucusunun FQDN bilgisini giriyoruz. Sunucu IP adresi veya sunucu adı da girilebilir, ancak FQDN kullanmak daha sağlıklıdır.

Bu ayarları yaptıktan sonra lisans yüklenmemiş olsa bile sunucu 120 günlük deneme süresi boyunca sorunsuz çalışır.

“There is a problem with your Remote Desktop license” Uyarısı ve 60 Dakika Sorunu

RDS ortamlarında en sık karşılaştığım sorulardan biri bu uyarı: Kullanıcı bağlandığında “There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutes” mesajını görüyor ve oturum bir saat sonra kapanıyor. Bu uyarı neredeyse her zaman lisanslamanın doğru yapılandırılmadığını gösterir. Kontrol etmeniz gerekenler:

  • Deneme süresi dolmuş olabilir: 120 günlük grace period bittiyse ve geçerli RDS CAL yüklenmediyse bu uyarıyı alırsınız. Çözüm, lisans sunucusuna RDS CAL’ları yüklemektir.
  • Lisans modu veya lisans sunucusu tanımlı olmayabilir: Yukarıdaki iki grup ilkesi ayarının yapıldığından ve lisans sunucusu adının doğru yazıldığından emin olun. Değişiklikten sonra gpupdate /force ile ilkeleri hemen uygulayabilirsiniz.
  • Lisans modeli uyuşmuyor olabilir: Session Host’ta Per User seçip lisans sunucusuna Per Device CAL yüklediyseniz (ya da tersi) lisans verilemez. İki taraftaki modelin aynı olması gerekir.
  • Lisans sunucusuna erişilemiyor olabilir: Session Host ile lisans sunucusu arasındaki ağ bağlantısını ve güvenlik duvarı kurallarını kontrol edin. Domain ortamında lisans sunucusunun Active Directory’de etkinleştirilmiş olması da gerekir.

Sorunun kaynağını bulmanın en hızlı yolu RD Licensing Diagnoser aracıdır. Session Host üzerinde lsdiag.msc komutunu çalıştırdığınızda araç, lisans modunu, lisans sunucusuna erişimi ve kullanılabilir CAL sayısını kontrol ederek sorunu açıkça listeler.

Deneme süresi dolduğu için sunucuya hiç bağlanamıyorsanız, yönetim amaçlı bağlantı için mstsc /admin komutunu kullanabilirsiniz. Bu mod RDS lisansı gerektirmez ve sunucuya yönetici olarak bağlanıp lisans ayarlarını düzeltmenize imkan tanır.

Kurulum Sonrası Temel Ayarlar

Kurulum sonrasında en sık sorulan soruların başında “bu sunucuya kimler bağlanabilir?” geliyor. Bu tür ayarlar için Server Manager üzerinden RDS bölümüne geliyoruz.

RDS QuickSessionCollection koleksiyon ekranı

Hızlı kurulum yaptığımız için sihirbaz bizim için hazır bir collection oluşturdu. Collection’lar, bir RDS yapısı içinde farklı kullanıcı gruplarına farklı ayarlarla hizmet veren birden fazla ortam oluşturmanızı sağlar. Edit Properties diyerek koleksiyon ayarlarına girebilirsiniz.

RDS koleksiyon özellikleri (Edit Properties) ekranı

Kullanıcı grupları, oturum süreleri ve yönlendirme gibi temel ayarları buradan yapabilirsiniz. Sunucu genelindeki ayarları değiştirmek istiyorsanız Deployment seçeneklerine gitmeniz gerekir.

RDS Edit Deployment Properties menüsü

Bu bölüme gelip Edit Deployment Properties diyebilirsiniz.

RDS deployment ayarları: RD Gateway, lisanslama, RD Web Access ve sertifikalar

Bu ekrandaki ayarlar belirli bir koleksiyona değil, deployment’ın geneline aittir. RD Gateway kuracaksanız yapılandırmasını buradan yapabilirsiniz. Lisans ayarları, RD Web Access URL adresi ve sertifikalar gibi temel bilgilere ve ayarlara da bu ekrandan ulaşırsınız.

Unutmayın: Sürücü ve yazıcı yönlendirme, oturum zaman aşımı gibi ayarlar koleksiyon ayarlarıdır ve ilk ekrandaki Edit Properties üzerinden yapılır. Oturum süreleriyle ilgili ayrıntılar için RDS Session Time Limits ayarları yazıma göz atabilirsiniz.

RDS koleksiyon oturum ayarları

Bu yazıda temel bir RDS kurulumunu, session host yapısının nasıl kurulacağını, lisanslamayı ve ilk ayarların nasıl yapılacağını anlattım. Umarım faydalı bir makale olmuştur. Bir sonraki makalede görüşmek üzere.

 

Published On: 29 Ekim 2021 / Categories: Windows Server / 16,3 min read /

Bilgiyi Paylaşın!