首先要把欧拉的操作系统装好。这里不做阐述。

安装好了。
然后升级系统和安装常用软件。
先打开这些防火墙的端口
sudo firewall-cmd --permanent --add-port={21115,21116,21117,21118,21119}/tcp
sudo firewall-cmd --permanent --add-port={21115,21116,21117,21118,21119}/udp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
systemctl stop firewalld 有时候有问题可能是防火墙端口阻止的问题,我就直接把防火墙关闭了,因为我外部还有一道防火墙
安装一些常用的软件,系统升级 。
sudo dnf update -y
dnf install -y vim wget curl unzip zip net-tools telnet traceroute lsof htop tree
dnf install -y nmap tcpdump
dnf install -y docker docker-compose-plugin 这里如果安装不上,可以后面安装。
reboot
系统做一些简单的调优 。
vim /etc/sysctl.conf
# 调高最大文件句柄(多设备远程连接)
fs.file-max = 1048576
# TCP优化
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
# UDP缓冲区放大,解决RustDesk打洞丢包
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.udp_rmem_min = 8192
net.ipv4.udp_wmem_min = 8192
# 调高并发连接数
net.ipv4.ip_local_port_range = 1024 65535
net.core.somaxconn = 4096
sudo sysctl -p
sysctl net.core.rmem_max
#修改参数
sudo vim /etc/security/limits.conf
* soft nofile 1048576
* hard nofile 1048576
root soft nofile 1048576
root hard nofile 1048576
#检查开启的服务
systemctl list-unit-files --type=service --state=enable
#时间同步
dnf install chrony -y
sudo systemctl enable --now chronyd
sudo vim /etc/chrony.conf
server ntp.aliyun.com iburst
server ntp.ntsc.ac.cn iburst
sudo systemctl restart chronyd
chronyc sources
#关闭selinux
setenforce 0
sed -i "s#enforcing#disabled#g" /etc/selinux/config
修改yum源,但我感觉不改应该也可以,因为我也没找到好用的国内源
如果有条件,就自己搭建 一个yum吧。
vim /etc/yum.repos.d/openEuler.repo
[OS]
name=openEuler 24.03-LTS OS
baseurl=https://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[EPOL]
name=openEuler 24.03-LTS EPOL
baseurl=https://repo.openeuler.org/openEuler-24.03-LTS/EPOL/$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
dnf clean all
dnf makecache
我是yum安装的docker,也可以源码,我为的是求快速。也懒得折腾,因为这个服务器非常简单,基本上可以做成脚本一键部署。
dnf install -y docker
systemctl enable --now docker
systemctl status docker
可能是国内源的问题,docker-compose安装不了,我就只能手动安装了。
要去下载一个文件。就是这个 docker-compose-linux-x86_64

我放个链接,大家自己去下载吧。

扫码下载,或者自己去网络上下载吧!
ls /usr/local/bin/docker-compose
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
mkdir -p /usr/libexec/docker/cli-plugins
ln -s /usr/local/bin/docker-compose /usr/libexec/docker/cli-plugins/docker-compose
docker-compose version

这样就是把docker安装好了。
然后我开始装rustdesk-server .没错,它就是在docker里运行的,最简单 。
首先修一下的docker 源,不然下载有问题。
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://khxjy96b.mirror.aliyuncs.com","https://docker.m.daocloud.io"]
}
systemctl restart docker
systemctl status dokcer
然后新建目录,做rusk的yaml文件 。
mkdir -p /opt/rustdesk && cd /opt/rustdesk
vim docker-compose.yml
version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rust-hbbs
command: hbbs -r 你的公网IP:21117
volumes:
- ./data:/root
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
ports:
- "21115:21115"
- "21116:21116/tcp"
- "21116:21116/udp"
- "21118:21118"
restart: unless-stopped
environment:
- ENCRYPTED_ONLY=1
- TZ=Asia/Shanghai
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rust-hbbr
command: hbbr
volumes:
- ./data:/root
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
ports:
- "21117:21117"
- "21119:21119"
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
docker-compose up -d
docker-compose ps

这就是启动好的状态。
然后自己去自己公司的企业路由器上,把端口做NAT映射出来。 可以用telnet测试一下端口,没问题就可以访问了。
然后就是自己服务器的密钥查看。 这个一定不要告诉别人。
秘钥查看
cat /opt/rustdesk/data/id_ed25519.pub
日志查看
vim rust-log-view.sh
记得赋予执行权限,我是把这个文件放在/opt/rustdesk下。
#!/bin/bash
docker-compose logs -f | awk '
{
if (match($0, /\[([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2})(\.[0-9]+) \+00:00\]/, arr)) {
utc_full = arr[1] arr[2];
cmd = "date -d \"" arr[1] " UTC\" +\"%Y-%m-%d %H:%M:%S\"";
cmd | getline bj_time;
close(cmd);
new_ts = "[" bj_time arr[2] " +08:00]";
sub(/\[[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]+\.[0-9]+ \+00:00\]/, new_ts);
}
print $0
}
'
看看日志效果。

每一个客户端都要去设置一下网络中继。

安全那里设置一个固定密码。

主页那里显示就绪,就代表已经连接到了服务器。

也可以把自己常用的设置到收藏夹。

rustdesk-host=你的公网IP,relay=你的公网IP,key=你的密钥.exe
客户端如果以这种命名规则给软件命名,在打开这个软件客户端的时候,可以直接导入IP,这样可以方便临时远程控制。
也可以通过去官网下载源码的方式,去重新编译,只需要改里面的服务器地址就行,默认它是连接到了rustdesk官网的域名。
至此安装就全部完成了。