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=hostse 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

Download.

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 / Rendezvous
  • hbbr– 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 savepm2 startup. Mais sobre pm2. Outra boa ferramenta para seus logs é pm2-logrotate.

-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=hostse 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.exepara 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.pubarquivo para regenerar. Você pode precisar repita esse processo até obter caracteres válidos.

MenuSobre a página

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_ed25519id_ed25519.pubarquivos 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_ed25519id_ed25519.pub arquivos e reinicie hbbs/hbbrhbbs 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/