Como instalar e configurar um servidor de acesso remoto opensource Rustdesk
Instale seu próprio servidor usando um script de instalação simples para executar
O script está hospedado em https://github.com/dinger1986/rustdeskinstalle apoiado em nosso Discórdia.
Atualmente, o script irá baixar e configurar os servidores de retransmissão e sinal ( hbbr e hbbs ), gerar configurações e hospedá-las em uma página da web protegida por senha para uma implantação simples nos clientes.
Requisitos
Você precisa ter o linux instalado, o script é testado trabalhando com o CentOS Linux 7/8, Ubuntu 18/20 e Debian. Um servidor com 1 CPU, 1 GB e 10 GB de disco é suficiente para executar o RustDesk.
Como instalar o servidor
Configure seu firewall no servidor antes de executar o script.
Verifique se você obteve acesso via ssh ou configure de outra forma antes de configurar o firewall. Os comandos de exemplo para UFW ( Baseado em Debian ) são:
ufw allow proto tcp from YOURIP to any port 22
Se você possui o UFW instalado, use os seguintes comandos para configurar o firewall:
ufw allow 21115:21119/tcp
ufw allow 8000/tcp
ufw allow 21116/udp
sudo ufw enable
Execute os seguintes comandos:
wget https://raw.githubusercontent.com/dinger1986/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh
Instale seu próprio servidor com o docker ( -componha )
Requisitos
Você precisa ter o Docker / Podman instalado para executar um servidor de assistência médica como um contêiner de encaixe
Exemplos de Docker
Linux / amd64
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
Linux / arm64v8
sudo docker image pull rustdesk/rustdesk-server:latest-arm64v8
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbr
--net=host
só funciona em Linux, o que faz hbbs
/hbbr
consulte o endereço IP real recebido em vez do IP do contêiner ( 172.17.0.1 ). Se --net=host
funciona bem, o -p
opções não são usadas. Se estiver no Windows, deixe de fora sudo
e --net=host
.
Por favor remova --net=host
se você estiver tendo problemas de conexão em sua plataforma.
Exemplos de composição de docker
Para executar os arquivos do docker com o docker-compose.yml, conforme descrito aqui, você precisa ter docker-composeinstalado.
Linux / amd64
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r example.com:21117
volumes:
- ./hbbs:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./hbbr:/root
networks:
- rustdesk-net
restart: unless-stopped
Linux / arm64v8
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest-arm64v8
command: hbbs -r example.com:21117
volumes:
- ./hbbs:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest-arm64v8
command: hbbr
volumes:
- ./hbbr:/root
networks:
- rustdesk-net
restart: unless-stopped
Configure sua própria instância do servidor sem usar o Docker
PASSO 1: Baixe programas de software do lado do servidor
Versões da plataforma fornecidas:
- Linux
- Windows
O tutorial abaixo é baseado na compilação do Linux.
Existem dois executáveis e uma pasta:
hbbs
– Servidor RustDesk ID / Rendezvoushbbr
– Servidor de relé RustDesk
Eles são construídos no CentOS Linux 7, testado no CentOS Linux 7/8 e Ubuntu 18/20.
Requisitos do servidor
Os requisitos de hardware são muito baixos; a configuração mínima de um servidor de nuvem básico é suficiente e os requisitos de CPU e memória são mínimos. Você também pode usar um Raspberry Pi ou algo semelhante. Em relação ao tamanho da rede, se a conexão direta de perfuração de furo TCP falhar, o tráfego de relé será consumido. O tráfego de uma conexão de relé está entre 30k-3M / s ( 1920×1080 ecrã ), dependendo das configurações de resolução e da atualização da tela. Se for apenas para demanda de trabalho de escritório, o tráfego é de cerca de 100K / s.
PASSO 2: Execute hbbs e hbbr no seu servidor
Opção 1
Execute hbbs / hbbr no servidor ( CentOS ou Ubuntu ). Sugerimos que você use pm2para gerenciar seu serviço.
./hbbs -r <relay-server-ip[:port]>
./hbbr
Opção 2 – pm2
Execute hbbs / hbbr com pm2
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbr
pm2 requer NodeJS v16 +, se você não executar pm2 ( por exemplo você não pode ver hbbs
/hbbr
em pm2 list
), faça o download e instale a versão NodeJS LTS a partir de https://nodejs.org. Se você quiser fazer hbbs
/hbbr
execução automática após reinicialização, confira pm2 save
e pm2 startup
. Mais sobre pm2. Outra boa ferramenta para seus logs é pm2-logrotate.
O -r
parâmetro de hbbs
não é obrigatório, é conveniente que você não especifique um servidor de retransmissão no lado controlado do cliente. Você não precisa especificar a porta se estiver usando a porta 21117 padrão. O servidor de retransmissão especificado pelo cliente tem uma prioridade mais alta que essa.
Por padrão, hbbs
ouve 21115 ( TCP ) e 21116 ( TCP / UDP ), 21118 ( TCP ) e hbbr
ouve em 21117 ( TCP ), 21119 ( TCP ). Certifique-se de abrir essas portas no firewall. Observe que 21116 deve estar ativado para TCP e UDP. 21115 é usado para o teste do tipo NAT, 21116 / UDP é usado para o serviço de registro e batimentos cardíacos, 21116 / TCP é usado para o serviço de conexão e perfuração de furos TCP, 21117 é usado para os serviços de retransmissão e 21118 e 21119 são usados para oferecer suporte a clientes da web. Se você não precisar do suporte ao cliente da web ( 21118, 21119 ), as portas correspondentes poderão ser desativadas.
- TCP (21115, 21116, 21117, 21118, 21119)
- UDP (21116)
Por favor, corra com o -h
opção de ver ajuda se você quiser escolher sua própria porta.
--net=host
só funciona em Linux, o que faz hbbs
/hbbr
consulte o endereço IP real recebido em vez do IP do contêiner ( 172.17.0.1 ). Se --net=host
funciona bem, o -p
opções não são usadas. Se estiver no Windows, deixe de fora sudo
e --net=host
.
Por favor remova --net=host
se você estiver tendo problemas de conexão em sua plataforma.
PASSO 3: defina o endereço hbbs / hbbr no lado do cliente
Clique no botão Menu [ ⋮ ] no lado direito do ID, como mostrado abaixo, e escolha “ ID / Revezamento Servidor ”.
Digite o hbbs
host ou endereço IP no Servidor de ID caixa de entrada ( lado local + lado remoto ). Os outros dois endereços podem ser deixados em branco, o RustDesk deduzirá automaticamente ( se não estiver especialmente definido ), e o Servidor de Retransmissão se refere a hbbr
( porta 21117 ).
por exemplo.
hbbs.example.com
ou
hbbs.example.com:21116
Coloque a configuração no nome do arquivo rustdesk.exe ( Windows somente )
Mudar rustdesk.exe
para o rustdesk-host=<host-ip-or-name>,key=<public-key-string>
.exe, p. rustdesk-host=192.168.1.137,key=xfdsfsd32=32
.exe. Você pode ver o resultado da configuração na janela Sobre abaixo.
Você precisa definir os dois host
e key
, falta qualquer um não vai funcionar.
Se houver caracteres inválidos na chave que não possam ser usados em um nome de arquivo do Windows, remova o id_ed25519
arquivo do seu servidor e reinicie hbbs
/hbbr
. Isso causará o id_ed25519.pub
arquivo para regenerar. Você pode precisar repita esse processo até obter caracteres válidos.
Chave
Diferente da versão antiga, a chave nesta versão é obrigatória, mas você não precisa configurá-la. Quando hbbs
é executado pela primeira vez, gerará automaticamente um par de chaves públicas e privadas criptografadas ( localizadas respectivamente no id_ed25519
e id_ed25519.pub
arquivos no diretório em execução ), cujo principal objetivo é a criptografia de comunicação.
Se você não preencheu o Key:
( o conteúdo no arquivo de chave pública id_ed25519.pub
) na etapa anterior, não afeta a conexão, mas a conexão não pode ser criptografada.
cat ./id_ed25519.pub
Se você deseja proibir usuários sem a chave de estabelecer conexões não criptografadas, adicione o -k _
parâmetro ao executar hbbs
e hbbr
, por exemplo:
./hbbs -r <relay-server-ip[:port]> -k _
./hbbr -k _
Se você deseja alterar a chave, remova a id_ed25519
e id_ed25519.pub
arquivos e reinicie hbbs
/hbbr
,hbbs
irá gerar um novo par de chaves.
Se você estiver usando o docker-compose e as chaves não existirem, o início dos contêineres criará chaves diferentes nas pastas hbbs e hbbr.
Você pode criar chaves manualmente em hbbs e copiá-las para hbbr antes de iniciar os contêineres.
Ou você pode parar o contêiner hbbr e copiar as chaves de hbbs para a pasta hbbr e reiniciar o contêiner.
Fonte: https://rustdesk.com/docs/en/self-host/install/