Преди известно време ми се наложи да търся алтернативи на Тeamviewer и Аnydesk. Това са сървъри предлагащи услугата отдалечен достъп до клиента. Натъкнах се на много решения но всички са свързани с ползването на чужди услуги. Тогава се замислих за собствено решение аналогично на гореспоменатите. Успях да тествам няколко варианта и си харесах този който ще покажа по-надолу. Започваме със създаване на А запис в нашата DNS зона.
nano /etc/bind/tlan.net $TTL 3600 tlan.net. IN SOA mail.tlan.net. root.tlan.net. ( 2024052301 600 3600 1w 300 ) IN NS mail.tlan.net. IN NS post.tlan.net. IN A 109.160.80.230 mail IN A 109.160.80.230 post IN A 185.163.245.186 www IN A 109.160.80.230
post.tlan.net - на този хост ще се помества RustDesk сървъра, а IP адреса ще е: 185.163.245.186 На https://www.whatsmydns.net/ проверяваме дали записа е активен. Настройваме защитната стена на сървъра, ако съществува.
ufw allow 22/tcp ufw allow 21115:21119/tcp ufw allow 8000/tcp ufw allow 21116/udp sudo ufw enable sudo ufw status
ufw allow 22/tcp - разрешаваме TCP порт 22 за ползване на услугата SSH ufw allow 21115:21119/tcp - разрешаваме TCP портовете от 21115 до 21119 ufw allow 8000/tcp - разрешаваме TCP порта 8000 за HTTP услуга ufw allow 21116/udp - разрешаваме UDP порта 21116 sudo ufw enable - активираме услугата ufw (защитна стена) sudo ufw status - проверяваме как работи защитната стена ,дали има грешки
Следват няколко стъпки по инсталацията на сървъра. За начало да смъкнем програмата. Това става чрез инсталационен скрипт от GitHub наречен install.sh
cd /home/cccp wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh ls -l -rw-r--r-- 1 root root 13459 Apr 11 18:52 install.sh
От резултата виждаме, че скрипта не е изпълним. Да го направим такъв.
chmod +x install.sh ls -l -rwxr-xr-x 1 root root 13459 Apr 11 18:52 install.sh
Да стартираме скрипта отговарящ за инсталирането на сървъра.
./install.sh Installing prerequisites ./install.sh: line 102: sudo: command not found ./install.sh: line 103: sudo: command not found
Липсва командата sudo
Да я инсталираме.
apt install sudo
Да добавим потребител cccp в групата sudo
adduser cccp sudo Adding user `cccp' to group `sudo' ... Done.
Прехвърляме се като потребител cccp
su cccp
И наново да инсталираме програмата.
sudo ./install.sh 1) IP 2) DNS/Domain Choose your preferred option, IP or DNS/Domain: 2 Enter your preferred domain/dns address : post.tlan.net 1) Yes 2) No Please choose if you want to download configs and install HTTP server: 1 Your IP/DNS Address is post.tlan.net Your public key is 4zN4xbae+rtQkE1BOlXyNfzFFfFy436KAaKuwFwna9g= Install Rustdesk on your machines and change your public key and IP/DNS name to the above You can access your install scripts for clients by going to http://post.tlan.net:8000 Username is admin and password is 9BIMEQmLpG4qHal7 Press any key to finish install waiting for the keypress
Инсталацията завърши. Имаме име на сървъра post.tlan.net, инсталиран HTTP сървър и адрес на който може да настроим услугата http://post.tlan.net:8000. Също имаме потребител за настройка admin с пароала 9BIMEQmLpG4qHal7 Да проверим как работи услугата:
sudo service rustdesksignal status [sudo] password for cccp: ***** ● rustdesksignal.service - Rustdesk Signal Server Loaded: loaded (/etc/systemd/system/rustdesksignal.service; enabled; preset: enabled) Active: active (running) since Thu 2024-04-11 19:22:22 EEST; 31min ago Main PID: 13402 (hbbs) Tasks: 8 (limit: 4644) Memory: 2.9M CPU: 611ms CGroup: /system.slice/rustdesksignal.service └─13402 /opt/rustdesk/hbbs -k _ Apr 11 19:22:22 post systemd[1]: Started rustdesksignal.service - Rustdesk Signal Server. sudo service rustdeskrelay status ● rustdeskrelay.service - Rustdesk Relay Server Loaded: loaded (/etc/systemd/system/rustdeskrelay.service; enabled; preset: enabled) Active: active (running) since Thu 2024-04-11 19:22:22 EEST; 36min ago Main PID: 13452 (hbbr) Tasks: 7 (limit: 4644) Memory: 2.5M CPU: 168ms CGroup: /system.slice/rustdeskrelay.service └─13452 /opt/rustdesk/hbbr -k _ Apr 11 19:22:22 post systemd[1]: Started rustdeskrelay.service - Rustdesk Relay Server.
Супер всичко работи. Да влезем да настроим сървъра на http://post.tlan.net:8000
Имаме два файла които можем да изтеглим linuxclientinstall.sh и WindowsAgentAIOInstall.ps1. Първият отговаря за инсталирането на RustDesk клиент на линукс машина, а втория за Windows инсталация на клиент.
Сега ще покажа как се процедира с Windows скрипта. За начало смъкваме файла WindowsAgentAIOInstall.ps1. Стартираме powershell като администратор.
d: cd \temp
Скрипта се намира в D:\Temp\. Стартираме скрипта.
.\WindowsAgentAIOInstall.ps1 .\WindowsAgentAIOInstall.ps1 : File D:\temp\WindowsAgentAIOInstall.ps1 canno t be loaded because running scripts is disabled on this system. For more inf ormation, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?Li nkID=135170. At line:1 char:1 + .\WindowsAgentAIOInstall.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
Скрипта не може да се стартира защото се забранен от Execution_Policies на системата. Да проверим
Get-ExecutionPolicy -list Scope ExecutionPolicy ------------------- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Undefined
Подчертаната политика е недефинирана и не може да се изпълнява. Да я стартираме:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process Get-ExecutionPolicy -list Scope ExecutionPolicy ------------------- --------------- MachinePolicy Undefined UserPolicy Undefined Process Unrestricted CurrentUser Undefined LocalMachine Undefined
И да стартираме скрипта наново:
.\WindowsAgentAIOInstall.ps1 Security warning Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run D:\temp\WindowsAgentAIOInstall.ps1? [D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"): R
Програмата няма да стои резидентна, а само ще я стартираме. За целта от старт менюто избираме програмата RustDesk.
Настройваме текущата сесия. За целта щракаме с мишката върху трите вертикални точки.
Избираме Networks. След това Unlock network settings, за да може да попълваме мрежовите настройки.
Слагаме нашите настройки. По-горе по време на инсталацията получихме ID, API Server, Relay server и Key. Ключа вижте от инсталацията кой е?
Ако всичко е наред най-отдолу трябва да получите връзка ● Ready
Така вече всичко работи. Ако нещо не е както трябва: - проверете дали сте пренасочили портовете на рутера или сте ги разрешили в защитната стена - проверете дали работи правилно RustDesk сървъра (проверете състоянието на сървисите отговарящи за RustDesk) Отново за клиентската част на RustDesk. Ако не Ви се занимава със скриптове, групови политики и т.н., може просто да си смъкнете клиента от: https://github.com/rustdesk/rustdesk/releases/tag/1.2.3-2.