mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2025-02-28 16:12:16 +01:00
commit
0f2f9781a1
@ -15,7 +15,7 @@ Make sure you have quit all running RustDesk. Also make sure you quit the RustDe
|
||||
|
||||
### Allow RustDesk run
|
||||
|
||||
| Unlock to change | Click on "App Store and identified developers" |
|
||||
| Unlock to change | Click on `App Store and identified developers` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
@ -46,7 +46,7 @@ Other helpless attempts: <br>
|
||||
Reboot is still required.
|
||||
{{% /notice %}}
|
||||
|
||||
| `-` and `+` button | Select RustDesk |
|
||||
| `-` and `+` button | Select `RustDesk` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
|
@ -74,7 +74,7 @@ As a `Pro` user you will be able to retrieve the whole encrypted string from the
|
||||
{{% notice note %}}
|
||||
You need to set both `host` and `key`, missing either one will not work.
|
||||
|
||||
Optionally add a `,` (comma) character after the key, before the `.exe` part as a delimiter, to avoid the key being mangled if Windows or the browser renames the file when downloading duplicated names. e.g. `host=<host-ip-or-name>,key=<public-key-string>,.exe`
|
||||
Optionally add a `,` (comma) character after the key, before the `.exe` part as a delimiter, to avoid the key being mangled if Windows or the browser renames the file when downloading duplicated names, e.g. `host=<host-ip-or-name>,key=<public-key-string>,.exe`.
|
||||
|
||||
If there are invalid characters in the key which can not be used in a Windows file name, please remove the
|
||||
`id_ed25519` file from your server and restart `hbbs`/`hbbr`. This will cause the `id_ed25519.pub` file to regenerate. You may need to
|
||||
@ -83,10 +83,10 @@ repeat this process until you get valid characters.
|
||||
|
||||
#### Embrase config string with `--` in the name
|
||||
|
||||
Example: `rustdesk--{config string}--.exe`
|
||||
Example: `rustdesk--{config-string}--.exe`
|
||||
|
||||
{{% notice note %}}
|
||||
Please do not use `-licensed-` together with `--`. e.g. `rustdesk-licensed-{config string}--.exe` does not work in 1.2.3. We will fix it in 1.2.4.
|
||||
Please do not use `-licensed-` together with `--`, e.g. `rustdesk-licensed-{config-string}--.exe` does not work in version 1.2.3. We will fix it in version 1.2.4.
|
||||
{{% /notice %}}
|
||||
|
||||
We have noticed that in some cases, when double downloaded, something like `copy (1)` is added to the end of the file name, and this ruins the config.
|
||||
|
@ -3,37 +3,39 @@ title: NAT Loopback issues
|
||||
weight: 500
|
||||
pre: "<b>2.5. </b>"
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
This explanation involves complex networking knowledge, we need your assistance to improve its readability.
|
||||
{{% /notice %}}
|
||||
|
||||
When you're deploying RustDesk server on your home network or any other network environment that you will put your RustDesk server and your clients on the **same LAN or behind the same router**, you may notice you are unable to connect to your server though your **``Public IP``** or **``Domain``** (Which in theory points to your public IP).
|
||||
When you're deploying RustDesk server on your home network or any other network environment that you will put your RustDesk server and your clients on the **same LAN or behind the same router**, you may notice you are unable to connect to your server through your **Public IP** or **Domain** (Which in theory points to your public IP).
|
||||
|
||||
More details about NAT Loopback, please check [Wikipedia](https://en.m.wikipedia.org/wiki/Network_address_translation#NAT_hairpinning) page.
|
||||
|
||||
Explain this in simple way:
|
||||
Explain this in a simple way:
|
||||
|
||||
For example: Your router's public IP is ``8.8.8.8``, the LAN IP of your server is ``192.168.11.20`` and the domain you desire is ``rustdesk.example.com``, and router port forwarding is set up to your server behind your LAN(NAT/router).
|
||||
For example: Your router's public IP is `8.8.8.8`, the LAN IP of your server is `192.168.11.20` and the domain you desire is `rustdesk.example.com`. Router port forwarding is set up to your server behind your LAN (NAT/router).
|
||||
|
||||
Your client and server are behind the same router, so when your LAN devices connect to ``rustdesk.example.com`` , first, it will query the domain IP, which will be ``8.8.8.8``, and connect to this IP, then your router may just **not know** where this connection needs to go, and it will think this connection should go to the router itself, and your connection will fail.
|
||||
Your client and server are behind the same router, so when your LAN devices connect to `rustdesk.example.com`. First, it will query the domain IP, which will be `8.8.8.8`, and connect to this IP. Then your router may just **not know** where this connection needs to go, and it will think this connection should go to the router itself, and your connection will fail.
|
||||
|
||||
## Solutions
|
||||
There are three ways to solve this issue.
|
||||
|
||||
### 1. Set up NAT Loopback on your router
|
||||
You could set up NAT Loopback on your router if you know how to, but setting this requires knowledge of networking, and some routers don't have the ability to adjust this setting, so this is not the best option.
|
||||
### 1. Set up NAT Loopback on your router
|
||||
You could set up NAT Loopback on your router if you know how to, but setting this requires knowledge of networking. Some routers don't have the ability to adjust this setting, so this is not the best option.
|
||||
|
||||
{{% notice note %}}
|
||||
An article from [MikroTik](https://help.mikrotik.com/docs/display/ROS/NAT#NAT-HairpinNAT) explains this very well, you could start learning from here.
|
||||
An article from [MikroTik](https://help.mikrotik.com/docs/display/ROS/NAT#NAT-HairpinNAT) explains this very well. You could start learning from here.
|
||||
{{% /notice %}}
|
||||
|
||||
### 2. Deploy a DNS server on your LAN
|
||||
First, choose which you prefer, [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome/wiki/Docker) or [PiHole](https://github.com/pi-hole/docker-pi-hole), You could deploy it though docker, or you could deploy on the same server as your RustDesk Server. The example below will show you some steps for this example.
|
||||
First, choose which you prefer, [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome/wiki/Docker) or [Pi-hole](https://github.com/pi-hole/docker-pi-hole). You could deploy it through docker, or you could deploy on the same server as your RustDesk Server. The example below will show you some steps for this example.
|
||||
|
||||
Both of them are DNS based adblockers, but you could disable this functionality if you don't want to block ads.
|
||||
|
||||
First, point your ``domain`` to your RustDesk server's LAN IP (For example: ``192.168.11.20``), then go to your router's ``DHCP`` setting (CAUTION: NOT WAN), set your ``First`` DNS IP to the server that you deployed AdGuard Home or PiHole, and ``Secondary`` DNS could be your ISP's DNS or other public DNS, eg. ``1.1.1.1`` for Cloudflare, ``8.8.8.8`` for Google, and you're done!
|
||||
First, point your `domain` to your RustDesk server's LAN IP (for example `192.168.11.20`). Then go to your router's `DHCP` setting (Caution: NOT WAN) and set your `First` DNS IP to the server that you deployed AdGuard Home or Pi-hole. `Secondary` DNS could be your ISP's DNS or other public DNS, e.g. `1.1.1.1` for Cloudflare or `8.8.8.8` for Google, and you're done!
|
||||
|
||||
Here is example:
|
||||
Here is an example:
|
||||
#### AdGuard Home
|
||||
Blocking ads may cause problems, if you don't want to figure out the solution and want to disable this functionality, click "Disable protection" button.
|
||||
|
||||
@ -45,69 +47,69 @@ Go to "DNS rewrites" setting.
|
||||

|
||||
<br>
|
||||
|
||||
Click "Add DNS rewrite", than type your ``domain`` and server's ``LAN IP`` in the field.
|
||||
Click "Add DNS rewrite", than type your `domain` and server's `LAN IP` in the field.
|
||||
|
||||

|
||||
|
||||
Here is the final result looks like.
|
||||
|
||||

|
||||
|
||||
***Don't forget to assign your AdGuard Home to your router's LAN DHCP!***
|
||||
<hr>
|
||||
|
||||
### PiHole
|
||||
#### Pi-hole
|
||||
Blocking ads may cause problems, if you don't want to figure out the solution and want to disable this functionality, click "Indefinitely" button within the "Disable Blocking" submenu.
|
||||
|
||||

|
||||
|
||||
Goto Local DNS > DNS Records
|
||||
Go to "Local DNS → DNS Records".
|
||||
Type your `domain` and `IP` to the box, than click "Add".
|
||||
|
||||
To check the final results, check the yellow lines in this picture.
|
||||
|
||||

|
||||
|
||||
***Don't forget to assign your PiHole to your router's LAN DHCP!***
|
||||
***Don't forget to assign your Pi-hole to your router's LAN DHCP!***
|
||||
|
||||
### 3. Add rules to your hosts file
|
||||
Only recommend this method when you have only few devices, if you have many devices, DNS method is more recommend.
|
||||
Only recommend this method when you have only few devices. If you have many devices, DNS method is more recommend.
|
||||
|
||||
{{% notice warning %}}
|
||||
**DON'T** use this method if your environment have laptops, because this laptop will not able to connect the server when outside your LAN.
|
||||
**Don't** use this method if your environment have laptops, because this laptop will not able to connect the server when outside your LAN.
|
||||
{{% /notice %}}
|
||||
|
||||
|
||||
|
||||
Path for different OS:
|
||||
|
||||
> Windows
|
||||
```plaintext
|
||||
#### Windows
|
||||
```text
|
||||
C:\Windows\system32\drivers\etc\hosts
|
||||
```
|
||||
Copy this file to ``Desktop`` and edit it, after you edited, copy back to original path.
|
||||
Copy this file to `Desktop` and edit it. After you edited, copy back to original path.
|
||||
|
||||
> macOS
|
||||
```plaintext
|
||||
#### macOS
|
||||
```text
|
||||
/etc/hosts
|
||||
```
|
||||
You could use ``vim``, it is pre-installed
|
||||
```bash
|
||||
You could use `vim`, it is pre-installed.
|
||||
```sh
|
||||
sudo vim /etc/hosts
|
||||
```
|
||||
|
||||
|
||||
> Linux
|
||||
```plaintext
|
||||
#### Linux
|
||||
```text
|
||||
/etc/hosts
|
||||
```
|
||||
You could use ``vim`` or ``nano``
|
||||
```bash
|
||||
You could use `vim` or `nano`.
|
||||
```sh
|
||||
sudo vim /etc/hosts
|
||||
```
|
||||
|
||||
<hr>
|
||||
|
||||
The format among three operating systems is same, all with ``IP`` first, than ``domain``
|
||||
The format among three operating systems is same, all with `IP` first, than `domain`.
|
||||
|
||||
For example:
|
||||
```plaintext
|
||||
```text
|
||||
192.168.11.20 rustdesk.example.com
|
||||
```
|
||||
|
@ -9,5 +9,5 @@ Please join our [Discord](https://discord.com/invite/nDceKgxnkV) if you would li
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
||||
{{% notice note %}}
|
||||
If you build you own server on your home/office, and can't connect it though public IP/domain, please check [this article](https://rustdesk.com/docs/en/self-host/nat-loopback-issues/).
|
||||
{{% /notice %}}
|
||||
If you build you own server on your home/office, and can't connect it through public IP/domain, please check [this article](https://rustdesk.com/docs/en/self-host/nat-loopback-issues/).
|
||||
{{% /notice %}}
|
||||
|
@ -2,7 +2,8 @@
|
||||
title: Synology
|
||||
weight: 22
|
||||
---
|
||||
Synology has two type of Docker, "Docker" and "Container Manager", if you're using DSM 7.2 and latter, please follow the guide for DSM 7.2, or follow the DSM 6 guide if you're on older system.
|
||||
|
||||
Synology has two types of Docker, "Docker" and "Container Manager". If you're using DSM 7.2 and later, please follow the guide for DSM 7.2, or follow the DSM 6 guide if you're on older system.
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
||||
If you are using Synology with Portainer, please check [this tutorial](https://mariushosting.com/how-to-install-rustdesk-on-your-synology-nas/)
|
||||
If you are using Synology with Portainer, please check [this tutorial](https://mariushosting.com/how-to-install-rustdesk-on-your-synology-nas/).
|
||||
|
@ -3,11 +3,12 @@ title: Synology DSM 6
|
||||
weight: 22
|
||||
---
|
||||
|
||||
> An alterative up-to-date tutorial from third-party is [here](https://mariushosting.com/how-to-install-rustdesk-on-your-synology-nas/).
|
||||
> An alternative up-to-date tutorial from third-party is [here](https://mariushosting.com/how-to-install-rustdesk-on-your-synology-nas/).
|
||||
|
||||
This tutorial is based on latest DSM v6 and v7.
|
||||
|
||||
{{% notice note %}}
|
||||
After DSM 7.2, the Docker is upgraded to new "Container Manager", please check [this article](/docs/self-host/rustdesk-server-oss/synology/dsm-7) instead.
|
||||
After DSM 7.2 update, the Docker is upgraded to new "Container Manager", please check [this article](/docs/en/self-host/rustdesk-server-oss/synology/dsm-7) instead.
|
||||
{{% /notice %}}
|
||||
|
||||
### Install Docker
|
||||
@ -29,10 +30,10 @@ As mentioned above, double click on rustdesk-server image to create new containe
|
||||
|
||||
Click on above `Advanced Settings`.
|
||||
|
||||
- Enable auto-restart
|
||||
- Enable `Enable auto-restart`.
|
||||

|
||||
|
||||
- Enable `Use the same network as Docker Host`, for more about host net, please [check](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/docker/#net-host).
|
||||
- Enable `Use the same network as Docker Host`. For more about host net, please [check](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/docker/#net-host).
|
||||

|
||||
|
||||
- Mount a host directory (e.g. `/home/rustdesk/`) to `/root`, hbbs will generate some files (database and `key` files) in this directory which need to be persistent over reboots.
|
||||
@ -65,7 +66,6 @@ Please repeat above `hbbs` steps, but name the container `hbbr` and command (for
|
||||
|
||||

|
||||
|
||||
|
||||
| Double click on container and check log | Double confirm hbbs/hbbr using host network |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
@ -2,44 +2,41 @@
|
||||
title: Synology DSM 7.2
|
||||
weight: 20
|
||||
---
|
||||
<!--to translater: When translating elements like "buttons", don't just translate, please refer actual naming in their interface.-->
|
||||
After DSM 7.2 update, Synology renamed their "Docker" package to "Container Manager", it brings new GUI, and comes with docker-compose within its GUI, which make you create Docker more easily.
|
||||
<!-- For translators: When translating elements like "buttons", don't just translate, please refer actual naming in their interface. -->
|
||||
After DSM 7.2 update, Synology renamed their "Docker" package to "Container Manager". It brings a new GUI, and comes with "docker-compose" within its GUI, which make you create Docker more easily.
|
||||
|
||||
## Supported models and requirements
|
||||
### Supported models and requirements
|
||||
|
||||
Container Manager brings ARM64 support for some low-end models, such as j series, for detail list of supported model, please check [Synology website](https://www.synology.com/en-us/dsm/packages/ContainerManager).
|
||||
Container Manager brings ARM64 support for some low-end models, such as J series, for detail list of supported model, please check [Synology website](https://www.synology.com/en-us/dsm/packages/ContainerManager).
|
||||
Most of time you won't need to install extra RAM for install Docker and RustDesk Server.
|
||||
|
||||
## 1. Install Container Manager (Docker)
|
||||
### 1. Install Container Manager (Docker)
|
||||
|
||||
Open "Package Center", search and install "Container Manager".
|
||||
|
||||

|
||||
|
||||
## 2. Create folder
|
||||
### 2. Create folder
|
||||
|
||||
After you installed "Container Manager", it will create a Shared Folder called "docker", let's put our server's data here.
|
||||
After you installed "Container Manager", it will create a Shared Folder called `docker`, let's put our server's data here.
|
||||
|
||||
Open your File Station, create a folder named `rustdesk-server`(or whatever you like), then create a folder named `data` in it just like the picture.
|
||||
Open your File Station, create a folder named `rustdesk-server`(or whatever you like). Then create a folder named `data` in it just like the picture.
|
||||
|
||||

|
||||
|
||||
## 3. Create container
|
||||
### 3. Create container
|
||||
|
||||
Open your Container Manager, Goto Project and click Create.
|
||||
|
||||
Enter the project name `rustdesk-server` and change Source from "Upload docker-compose.yml" to "Create docker-compose.yml", and copy following contents to the box, after you copyed, you should replace `rustdesk.example.com` (Which point to your `hbbr`) to the domain that will point to your NAS.
|
||||
Open your Container Manager, go to Project and click Create.
|
||||
|
||||
Enter the project name `rustdesk-server` and change Source from "Upload docker-compose.yml" to "Create docker-compose.yml", and copy following contents to the box. After you copied, you should replace `rustdesk.example.com` (Which point to your `hbbr`) to the domain that will point to your NAS.
|
||||
|
||||
{{% notice note %}}
|
||||
You could modify the line with `hbbs` to your NAS's LAN IP temporarily just like the picture, after you verify your server is working, you **should** change back.
|
||||
You could modify the line with `hbbs` to your NAS's LAN IP temporarily just like the picture. After you verify your server is working, you **should** change back.
|
||||
{{% /notice %}}
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
````yaml
|
||||
```yaml
|
||||
version: '3'
|
||||
services:
|
||||
hbbs:
|
||||
@ -68,43 +65,45 @@ services:
|
||||
# 21116 TCP TCP hole punching
|
||||
# 21116 UDP Heartbeat/ID server
|
||||
# 21117 TCP Relay
|
||||
````
|
||||
```
|
||||
|
||||
Please skip `Web portal settings` then done.
|
||||
Please skip `Web portal settings` then done.
|
||||
|
||||
## 4. Check it is working
|
||||
### 4. Check it is working
|
||||
|
||||
Open your File Station, you should see `id_ed25519`, `id_ed25519.pub` on your `docker/rustdesk-server/data` folder, you could download it and open it though any text editor or use [Synology TextEditor](https://www.synology.com/en-us/dsm/packages/TextEditor), this is the public key that you need for your RustDesk client.
|
||||
Open your File Station, you should see `id_ed25519`, `id_ed25519.pub` on your `docker/rustdesk-server/data` folder. You could download it and open it though any text editor or use [Synology Text Editor](https://www.synology.com/en-us/dsm/packages/TextEditor). This is the public key that you need for your RustDesk client.
|
||||
|
||||
The public key will looks like this:
|
||||
|
||||

|
||||
|
||||
Check [here](/docs/en/self-host/rustdesk-server-oss/install/#step-3-set-hbbshbbr-address-on-client-side) to setup your client, only `ID Server` and `key` is needed, relay isn't needed because we've set it in `hbbs`, hbbs will provide this information automatically.
|
||||
Check [here](/docs/en/self-host/rustdesk-server-oss/install/#step-3-set-hbbshbbr-address-on-client-side) to set up your client. Only `ID server` and `Key` is needed. `Relay server` isn't needed because we've set it in `hbbs`, hbbs will provide this information automatically.
|
||||
|
||||
## 5. Set your hbbs to point to your domain
|
||||
### 5. Set your hbbs to point to your domain
|
||||
|
||||
If you have set your `hbbs` command to point to your LAN IP, and verified it is working, it is time to change to the domain, because it will not working if you using it outside your LAN.
|
||||
<hr>
|
||||
|
||||
5.1 Goto Container Manager > Project > Click "rustdesk-server" > Action > Stop
|
||||
5.1. Go to Container Manager → Project → Click "rustdesk-server" → Action → Stop
|
||||
|
||||
5.2 After stopped, click "YAML Configurations", modify the line start with `command: hbbs` to your domain, then click "Save", make sure you choose "Build and start the project (rebuild the image)"
|
||||
5.2. After stopped, click "YAML Configurations", modify the line start with `command: hbbs` to your domain, then click "Save". Make sure you choose "Build and start the project (rebuild the image)".
|
||||
|
||||

|
||||
|
||||
5.3 Your RustDesk Server should ready for connections from the Internet, next, you should setup port forwarding.
|
||||
5.3. Your RustDesk Server should ready for connections from the Internet, next, you should setup port forwarding.
|
||||
|
||||
{{% notice note %}}
|
||||
Having problem after you done this step? You should check [this article](/docs/en/self-host/nat-loopback-issues/).
|
||||
{{% /notice %}}
|
||||
|
||||
## 6. Set port forwarding on your router
|
||||
### 6. Set port forwarding on your router
|
||||
|
||||
Go to your router's admin webpage, find anything related to `Port forwarding`, it should appear in `WAN` or `Firewall` settings.
|
||||
|
||||
If you still can't find the setting, Google search `{Router brand} + port forwarding` or `{Router model} + port forwarding`, if this device is from your ISP, ask them.
|
||||
If you still can't find the setting, Google search `{Router brand} + port forwarding` or `{Router model} + port forwarding`. If this device is from your ISP, ask them.
|
||||
|
||||
Open these required ports:
|
||||
* `21115` `TCP` For NAT type test
|
||||
* `21116` `TCP` TCP hole punching
|
||||
* `21116` `UDP` Heartbeat/ID server
|
||||
* `21117` `TCP` Relay
|
||||
* `21117` `TCP` Relay
|
||||
|
@ -22,8 +22,9 @@ RustDesk Server Pro has more features compared to the open source version.
|
||||
RustDesk Client ≥ 1.2.0 required
|
||||
{{% /notice %}}
|
||||
{{% notice note %}}
|
||||
If you build you own server on your home/office, and can't connect it though public IP/domain, please check [this article](https://rustdesk.com/docs/en/self-host/nat-loopback-issues/).
|
||||
If you build you own server on your home/office, and can't connect it through public IP/domain, please check [this article](https://rustdesk.com/docs/en/self-host/nat-loopback-issues/).
|
||||
{{% /notice %}}
|
||||
|
||||
### Hardware requirement
|
||||
|
||||
Lowest level VPS is enough for your use case. The server software is not CPU and memory intensive. Our public ID server hosted on a 2 CPU/4 GB Vultr server serves 1.5+ million endpoints.
|
||||
|
@ -6,7 +6,7 @@ weight: 10
|
||||
{{% notice note %}}
|
||||
Don't forget to get your license from [https://rustdesk.com/pricing.html](https://rustdesk.com/pricing.html), check [license](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/license/) page for more details.
|
||||
|
||||
Please read [OSS installation](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/) first before doing this simple install. You can know more underlying details there.
|
||||
Please read [OSS installation](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/) first before doing this simple install. You can know more underlying details there.
|
||||
{{% /notice %}}
|
||||
|
||||
### Install
|
||||
@ -27,7 +27,7 @@ What it does:
|
||||
|
||||
### Upgrade
|
||||
|
||||
Copy and paste the above command into your Linux terminal to upgrade your existing RustDesk Server Pro Installation, this could also be saved locally and scheduled with cron.
|
||||
Copy and paste the above command into your Linux terminal to upgrade your existing RustDesk Server Pro installation, this could also be saved locally and scheduled with cron.
|
||||
|
||||
`bash <(wget -qO- https://raw.githubusercontent.com/rustdesk/rustdesk-server-pro/main/update.sh)`
|
||||
|
||||
@ -68,7 +68,7 @@ Run the backup script `./backup.sh` to create a one time backup.
|
||||
|
||||
Or run the backup script `./backup.sh --schedule`. This will schedule the backup script to run nightly and autorotate.
|
||||
|
||||
To Restore do the following:
|
||||
To restore do the following:
|
||||
```
|
||||
wget https://raw.githubusercontent.com/rustdesk/rustdesk-server-pro/main/restore.sh
|
||||
chmod +x restore.sh
|
||||
|
Loading…
Reference in New Issue
Block a user