LINUX-BG Адрес : http://www.linux-bg.org |
Как да инсталираме, използваме и тестваме с quemu seamlessrd |
От: alabal Публикувана на: 9-09-2006 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=385939243 |
Статията
има за цел да
опише за какво
и как може да
се инсталира
и използва един
изключително
полезен модул
на rdesktop - seamlessrdp. Rdesktop с този
модул е тестван
от автора в две
дистрибуци
на Линукс –
Gentoo и Debian при взаимодействие
с Windows XP и Windows Server 2003 R2. В
допълнение
е дадено и кратко
обяснение как
да инсталираме
и използваме
виртуална
машина с помощта
на qemu, за тези
които имат
желание да
тестват този
модул. И тъй! Среда и необходимост Търсейки бюджетно решение за инсталирането и поддръжката на значителен брой компютри, както и на подход за лесно централизирано управление на потребителите, различен от обичайния Windows/Samba Primary Domain Controller, си спомних за две статии от сайта описващи използването на тънки клиенти. След около седмица експерименти се оказа, че ltsp е точно това което ми трябва - леко, гъвкъво, невероятно евтино и добро спестяващо пари, време и усилия решение. След като успях да инсталирам и настроя в две мрежи ltsp - общо взето подобни, едната с пет, другата с осем тънки клиента (всъщност пълноценни конфигурации с инсталиран Windows XP, просто за целите на демонстрациите "боотваха" от мрежата, без използване на твърдия диск) и по един "сървър" работещи съответно под Debian и Gentoo - резултатът беше впечатляващ. Идеята беше одобрена и като бюджет и като форма за централизирано управление на достъпа на потребителите. (Невероятно приятно е да видиш колко учудени остават хората от тази всъщност доста стара и леко позабравена идея за използването на терминали.) НО! Имаше едно голямо "НО!!!". Общо взето възраженията (напълно справедливи, според мен) се състояха в следното: "Харесваме идеята, искаме да я използваме, но ние имаме лицензи за програми, които работят под Windows и не можем да отделим нови средства за закупуване на лицензи под Linux на същите програми, а имаме и други, които ни се налага да използваме, а те нямат Linux аналози." Следователно решението трябва да се търси в използването на някакъв вариант на емулация или използването на възможностите на rdp протокола. Изпробвах wine, но срещнах сериозни затруднения дори за емулирането на относително добре поддържания Office XP. Тогава единственото решение се оказа rdesktop. При него проблемът пък бе, че след осъществяване връзката с машина работеща под Windows ви се отваря цял пълноценен десктоп, което само би объркало бъдещите потребители на системата. Предположението ми, че и други са се сблъсквали с подобни проблеми се оказа вярно и след известно търсене по google попаднах на seamlessrdp Как работи След като изтеглите seamlessrdp от адреса по-горе трябва да разархивирате в някоя удобна директория на машината работеща под Windows, например C:\seamlessrdp. Трябва да разрешите remote desktop на съответната машина и да укажете кои потребители могат да управляват машината отдалечено. След свързването с rdesktop seamlessrdpshell.exe осигурява различен шел от Explorer и разполагате с напълно функциониращо Windows приложение, работещо в собствената си среда и изобразено в един-единствен прозорец в работното поле на машината от която се свързвате. Свързването към машината отнема минимално време, а в работата на приложенията не се забелязва почти никакво забавяне. Ограничения и слабости: Ltsp:
Инсталиране Gentoo: # echo 'net-misc/rdesktop ~x86' >> /etc/portage/package.keyword # emerge -av rdesktop Debian: # apt-get install build-essential cvs И като обикновен потребител: cvs -d:pserver:anonymous@rdesktop.cvs.sourceforge.net:/cvsroot/rdesktop login cvs -z3 -d:pserver:anonymous@rdesktop.cvs.sourceforge.net:/cvsroot/rdesktop co -P rdesktop cd rdesktop ./bootstrap ./configure make su make install ln -s /usr/local/bin/rdesktop /usr/bin/rdesktop Свързване: След като rdesktop е инсталиран и Remote Desktop е разрешен за даден потребител (user) със съответна парола (password) на машина отговаряща на IP адрес 172.20.0.15, за да стартирате, примерно, notepad използвайте следната команда: $ rdesktop -A -a 16 -s "c:\seamlessrdp\seamlessrdpshell.exe notepad" 172.20.0.15 -u user -p password Ако имате домейн контролер трябва да добавите и: -d domain За да стартирате кое да е друго приложение, трябва да опишете пътя до неговия стартиращ файл. Например за MS Word 2003 ще трябва да изпълните следното: $ rdesktop -A -a 16 -s "c:\seamlessrdp\seamlessrdpshell.exe c:\program files\microsoft office\office11\winword.exe" 172.20.0.15 -u user -p password Ако всичко работи тези команди могат да бъдат записани в скрипт и със съответни линкове разположени (копирани) в десктопите на всеки потребител да бъде улеснено свързването. Примерно скрипт за MS Word 2003 за конкретния потребител ще изглежда така: #!/bin/bash rdesktop -A -a 16 -s "c:\seamlessrdp\seamlessrdpshell.exe c:\program files\microsoft office\office11\winword.exe" 172.20.0.15 -u user -p password Тестване с виртуална машина: Aко вече имате инсталиран Windows на виртуална машина, то се уверете, че тя се “вижда” от хост машината, чрез: ping IP_address_na_virtualnata_mashina след което опитайте да се свържете с нея по гореописания начин. Aко нямате инсталирана виртуална машина, можете да използвате следното: Инсталирайте qemu, за предпочитане с kqemu модул. Уверете се, че имате компилиран модула tun за Universal TUN/TAP (modprobe -l | grep tun), ако го нямате ще трябва да го компилирате – намира се в раздел Device Drivers->Network device support -> Universal TUN/TAP device driver support. Уверете се, че имате поддръжка на iptables в ядрото – ако не, компилирайте ново ядро с необходимите модули. Ето едно упътване как да стане това: HOWTO IPtables for newbies След което: # su # modprobe kqemu # modprobe tun # qemu-img create disk.img 4G ## Създаване на дял от 4G # nano /etc/qemu-ifup Копирайте следния скрипт в този файл: #!/bin/sh /sbin/ifconfig $1 172.20.0.1 # chmod +x /etc/qemu-ifup Стартирайте quemu така: # qemu -net user -net nic,model=rtl8139 -net tap -m 512 -localtime -hda disk.img -cdrom /dev/cdrom -boot d Това ще стартира qemu със първо boot устройство /dev/cdrom и използване на 512 MB от RAM (-m 512) ако е много - намалете я на 256. Ще бъде създадено устройство tap0 с адрес 172.20.0.1, ако желаете друг адрес – променете /etc/qemu-ifup. След като инсталирате Windows (за предпочитане Server 2003, вижте по-горе защо) създайте потребители, дайте им права за Remote Desktop, задайте следните настройки: IP:172.20.0.XX netmask 255.255.0.0 gateway:172.20.0.1 DNS:- този на вашата машина. За да имате Интернет изпълнете това: # echo "1" > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Изтеглете seamlessrdp и го инсталирайте. Тествайте! Заключение: Дори и с варианта на допълнителна машина работеща под Microsoft Server 2003 алтернативата е все още приемлива и мисля, че значително по-евтина от другите варианти. Точните изчисления за цените на различните алтернативи, подробно howto за ltsp и някои специфични настройки ще бъдат дадени в една или две бъдещи статии. *************************************************** Връзки: Статия на Никола Антонов - линк Статия на Станимир Иванов - линк Howto Quemu – Gentoo - линк Howto Seamlessrdp (Ubuntu) - линк Howto Ltsp (Gentoo) - линк Linux Terminal Server Project - линк ThinStation - линк << SSH без парола :) | Съхранение на поверителна информация в БД >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|