Microsoft tarafından geliştirilen RDP (Remote Desktop Protokol - Uzak Masaüstü İletişim Kuralı), Windows makineler arasında uzak masaüstü bağlantıları kurmak için kullanılmaktadır. Linux makineler rdesktop programıyla RDP sunucularına bağlantı kurabilmektedir ancak kendisine gelen RDP isteklerini cevaplayamamaktadır. Bu nedenle açık kaynak kodlu bir yazılım olan xrdp geliştirilmiştir. xrdp sayesinde linux makineler RDP bağlantı isteklerine cevap verebilir duruma gelirler. xrdp RDP isteklerini yakalayarak kendi içinde bir VNC (Virtual Network Computing - Sanal Ağ Sistemi) isteği başlatır. Bu sayede RDP ile linux makinelere bağlantı sağlanmış olur. Basit olarak xrdp aşağıdaki gibi çalışır:
Linux makinelerde xrdp kurulumu için aşağıdaki adımlar izlenir. Bu dokümanda anlatım Fedora 13 dağıtımı üzerinde yapılmıştır.
-
Kuruluma başlamadan önce xrdp için gerekli paketler yüklenmelidir. Gerekli paketler aşağıdaki komutla yüklenir.
# yum install gcc make pam-devel openssl-devel vnc-server
-
xrdp paketi yüklenir.
# yum install xrdp
-
RDP bağlantısının kurulacağı port (kapı) numarası için güvenlik duvarından ayrıcalık tanınmalıdır. Varsayılan olarak 3389 olan bu numaraya ayrıcalık tanımak için
iptables komutu kullanılır.
# iptables -I INPUT -p tcp --dport 3389 -j ACCEPT
Komutun kullanımı hakkında ayrıntılı bilgi almak için
man sayfasına bakılabilir.
# man iptables
- İstenildiği durumda xrdp bağlantıları yapılandırılabilmektedir. Varsayılan ayarlar kullanılacaksa bu adım atlanır. Yapılandırma /etc/xrdp/xrdp.ini dosyası üzerinden yapılır. Dosyanın temel yapısı şu şekildedir:
[baglanti_etiketi]
ozellik=secenek
Globals (Genel) etiketi altında belirtilen seçenekler yeniden tanımlanmamak şartıyla tüm bağlantılarca kullanılan ayarlardır. Etiketler altında belirtilebilecek özellikler şu şekildedir:
- bitmap_cache (Resim Önbelleği): Resmin önbelleğe alınmasını sağlar ya da engeller.
- bitmap_compression (Resim Sıkıştırması): Resmi sıkıştırarak daha hızlı bir görüntü aktarımı sağlar.
- name (İsim): Bağlantı için bir isim belirtir.
- lib (Kütüphane): Bağlantı için kullanılacak kütüphaneyi belirtir.
- username (Kullanıcı Adı): Bağlantıyı yapacak kullanıcının belirtilmesini sağlar. Kullanıcı adının sorulması için bu seçeneğe ask (sor) değeri verilir.
- password (Şifre): Bu seçeneğe kullanıcı şifresi giriebilmektedir. Bu sayede şifresiz bağlantı sağlanır. Kullanıcıdan şifre istemek için ask (sor) değeri kullanılır.
- ip (Internet Protocol - İnternet İletişim Kuralı): Bağlantının kurulacağı adresi belirtir.
- port (Kapı): Bağlantının kurulacağı port numarasını belirtir. Bu değere -1 verilmesi durumda lib seçeneği ile belirtilen kütüphanenin varsayılan değeri kullanılır.
- crypt_level (Şifreleme Seviyesi): Güvenlik için kullanılacak şifrelemenin seviyesini belirtir.
- channel_code (Kanal Kodu): Bağlantıda kullanılacak kanalın kodunu belirtir.
Dosyanın varsayılan ayarları aşağıdaki gibidir:
- Bağlantı isteklerine cevap verebilmek için xrdp servisi başlatılmalıdır. Servis aşağıdaki komutla başlatılır.
# service xrdp start
Servisin başarıyla başlatılmasından sonra makineye, RDP protokolü ile sorunsuz bir şekilde uzak masaüstü bağlantısı kurulabilmektedir.