Add 6_final_fix_of_rustdesk_client_port.sh
This commit is contained in:
98
6_final_fix_of_rustdesk_client_port.sh
Normal file
98
6_final_fix_of_rustdesk_client_port.sh
Normal file
@@ -0,0 +1,98 @@
|
||||
|
||||
sudo tee /etc/nginx/streams-enabled/rustdesk.conf >/dev/null <<'EOF'
|
||||
# --- hbbs (ID) defaults ---
|
||||
server { listen 21115; proxy_pass 192.168.1.202:21115; proxy_timeout 10m; }
|
||||
server { listen 21116; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; }
|
||||
server { listen 21116 udp reuseport; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; }
|
||||
|
||||
# --- hbbr (relay) default ---
|
||||
server { listen 21117; proxy_pass 192.168.1.202:21117; proxy_timeout 10m; }
|
||||
|
||||
# --- your custom extras (keep if you use them) ---
|
||||
server { listen 21118; proxy_pass 192.168.1.202:21118; proxy_timeout 10m; }
|
||||
server { listen 21119; proxy_pass 192.168.1.202:21119; proxy_timeout 10m; }
|
||||
EOF
|
||||
``` :contentReference[oaicite:2]{index=2}
|
||||
|
||||
But because nginx fails at the `stream { ... }` line in `nginx.conf`, this whole file is never used. So:
|
||||
|
||||
- **HTTPS / HTTP proxy** for `github.generalinfinity.cloud` works (pure HTTP servers in `sites-available/lan-proxy.conf`). :contentReference[oaicite:3]{index=3}
|
||||
- **RustDesk (id / relay)** needs the **stream module** and the `rustdesk.conf` stream servers → those are dead right now.
|
||||
|
||||
On your *other* Ubuntu machine, you probably already had `libnginx-mod-stream` or `nginx-full` installed earlier, so `stream` existed and the same scripts worked. On this fresh box, only `nginx` was installed, so no stream module.
|
||||
|
||||
---
|
||||
|
||||
## 3. Concrete “one-paste” fix (run on the PROXY box)
|
||||
|
||||
Run this on the machine that should act as the **proxy** for:
|
||||
|
||||
- `github.generalinfinity.cloud` (already working)
|
||||
- `id.generalinfinity.cloud` (RustDesk ID)
|
||||
- `relay.generalinfinity.cloud` (RustDesk relay)
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
###############################################################################
|
||||
# 0) Install Nginx stream module + nc (if not already)
|
||||
###############################################################################
|
||||
sudo apt update
|
||||
sudo apt install -y libnginx-mod-stream netcat-openbsd
|
||||
|
||||
###############################################################################
|
||||
# 1) Ensure streams-enabled dir + top-level stream block
|
||||
###############################################################################
|
||||
sudo mkdir -p /etc/nginx/streams-enabled
|
||||
|
||||
# Remove any old stream{} block and append a clean one at top level
|
||||
sudo sed -i '/^\s*stream\s*{/,/^\s*}\s*$/d' /etc/nginx/nginx.conf
|
||||
sudo tee -a /etc/nginx/nginx.conf >/dev/null <<'EOF'
|
||||
|
||||
stream {
|
||||
include /etc/nginx/streams-enabled/*.conf;
|
||||
}
|
||||
EOF
|
||||
|
||||
###############################################################################
|
||||
# 2) RustDesk L4 proxies to your hbbs/hbbr box (192.168.1.202)
|
||||
###############################################################################
|
||||
sudo tee /etc/nginx/streams-enabled/rustdesk.conf >/dev/null <<'EOF'
|
||||
# --- hbbs (ID) defaults ---
|
||||
server { listen 21115; proxy_pass 192.168.1.202:21115; proxy_timeout 10m; }
|
||||
server { listen 21116; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; }
|
||||
server { listen 21116 udp reuseport; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; }
|
||||
|
||||
# --- hbbr (relay) default ---
|
||||
server { listen 21117; proxy_pass 192.168.1.202:21117; proxy_timeout 10m; }
|
||||
|
||||
# --- your custom extras (keep if you use them) ---
|
||||
server { listen 21118; proxy_pass 192.168.1.202:21118; proxy_timeout 10m; }
|
||||
server { listen 21119; proxy_pass 192.168.1.202:21119; proxy_timeout 10m; }
|
||||
EOF
|
||||
|
||||
###############################################################################
|
||||
# 3) Fix ufw rules for RustDesk ports (split per port)
|
||||
###############################################################################
|
||||
sudo ufw allow 21115/tcp
|
||||
sudo ufw allow 21116/tcp
|
||||
sudo ufw allow 21116/udp
|
||||
sudo ufw allow 21117/tcp
|
||||
sudo ufw allow 21118/tcp
|
||||
sudo ufw allow 21119/tcp
|
||||
|
||||
###############################################################################
|
||||
# 4) Test nginx config and reload
|
||||
###############################################################################
|
||||
sudo nginx -t
|
||||
sudo systemctl reload nginx
|
||||
|
||||
###############################################################################
|
||||
# 5) Verify listeners on this proxy
|
||||
###############################################################################
|
||||
sudo ss -tulpen | grep -E ':(21115|21116|21117|21118|21119)\b' || echo "no listeners"
|
||||
|
||||
echo "Now test from a client:"
|
||||
echo " nc -vz id.generalinfinity.cloud 21116"
|
||||
echo " nc -vz relay.generalinfinity.cloud 21117"
|
||||
Reference in New Issue
Block a user