Wszystkie samouczki

Wdrożenie w firmie

Prywatny serwer relay na Linuxie i Raspberry Pi

Zainstaluj relay Remotly jako usługę systemd na dowolnej dystrybucji Linuxa — także na energooszczędnych urządzeniach, takich jak Raspberry Pi.

Dlaczego warto mieć własny relay?

Wystawianie głównego komputera do internetu przez przekierowanie portów to ryzyko dla bezpieczeństwa, a trzymanie go włączonego całą dobę marnuje energię. Mały serwer Linux lub relay na Raspberry Pi daje najniższe możliwe opóźnienie, brak przekierowań portów do komputerów, z którymi się łączysz, mniejsze zużycie energii, brak obaw o RODO związanych z serwerami firm trzecich oraz Wake‑on‑LAN spoza Twojej sieci. Nawet jeśli relay zostanie zaatakowany, wszystkie przechodzące przez niego dane są szyfrowane kluczami, których serwer nigdy nie posiada.

Ten poradnik zakłada, że masz już dostęp SSH do maszyny z Linuxem i niezbędne uprawnienia.

Wersja 2 Remotly Relay Server dodaje obsługę TLS i hasła dostępu. Nawet bez TLS każde połączenie jest szyfrowane end‑to‑end z użyciem RSA-4096 i AES-256; TLS dodaje redundantną warstwę transportową dla restrykcyjnych firewalli, kosztem dodatkowego obciążenia CPU. Hasło dostępu zapobiega korzystaniu z serwera przez przypadkowe osoby, które odkryją jego adres IP i port.

1. Wybierz paczkę dla swojego urządzenia

Uruchom na serwerze polecenie uname -m i pobierz paczkę odpowiadającą wynikowi:

Raspberry Pi Zero i Raspberry Pi 1 (ARMv6) nie są obsługiwane.

2. Instalacja

  1. Połącz się z serwerem przez SSH (np. za pomocą OpenSSH, WinSCP lub FileZilla). Wszystkie poniższe polecenia wykonujesz na serwerze.
  2. Pobierz paczkę dla swojej architektury, np. dla ARM64: wget https://downloads.mirillis.com/files/remotly‑relay‑linux‑arm64-v2.zip
  3. Rozpakuj ją: unzip remotly‑relay‑linux‑arm64-v2.zip — jeśli brakuje programu unzip, zainstaluj go poleceniem sudo apt‑get update && sudo apt‑get install unzip.
  4. Przenieś pliki do /srv/remotly, gdzie oczekuje ich usługa: sudo mv remotly‑relay /srv/remotly
  5. Ustaw właściciela i uprawnienia: sudo chown -R root:root /srv/remotly && sudo chmod -R 755 /srv/remotly. Konfiguracja zawiera hasło, więc ogranicz jej odczyt do roota: sudo chmod 600 /srv/remotly/config/remotly‑relay.json
uname -m
wget https://downloads.mirillis.com/files/remotly‑relay‑linux‑arm64-v2.zip
unzip remotly‑relay‑linux‑arm64-v2.zip
sudo mv remotly‑relay /srv/remotly
sudo chown -R root:root /srv/remotly
sudo chmod -R 755 /srv/remotly
sudo chmod 600 /srv/remotly/config/remotly‑relay.json

3. Konfiguracja

Edytuj konfigurację: sudo nano /srv/remotly/config/remotly‑relay.json. Jeśli to możliwe, użyj standardowego portu HTTPS 443 — najlepiej przechodzi przez firewalle.

Konfiguracja bez TLS:

{
  "tlsEnabled": false,
  "key": "",
  "cert": "",
  "forceTLS": false,
  "domain": "",
  "port": 443,
  "max_bandwidth": 40000000,
  "allowed_bandwidth": 30000000,
  "password": "PasswordPasswordPasswordPassword"
}

Konfiguracja z TLS (ustaw forceTLS na true, aby dopuszczać wyłącznie połączenia enkapsulowane w TLS):

{
  "tlsEnabled": true,
  "key": "/etc/letsencrypt/live/relay.example.com/privkey.pem",
  "cert": "/etc/letsencrypt/live/relay.example.com/fullchain.pem",
  "forceTLS": false,
  "domain": "relay.example.com",
  "port": 443,
  "max_bandwidth": 40000000,
  "allowed_bandwidth": 30000000,
  "password": "PasswordPasswordPasswordPassword"
}
  • tlsEnabled — włącza dodatkowe szyfrowanie TLS; gdy ma wartość true, wymagane są poprawne ścieżki cert i key.
  • key — bezwzględna ścieżka do klucza prywatnego certyfikatu w formacie PEM, np. /etc/letsencrypt/live/relay.example.com/privkey.pem.
  • cert — bezwzględna ścieżka do certyfikatu z pełnym łańcuchem w formacie PEM, np. /etc/letsencrypt/live/relay.example.com/fullchain.pem.
  • forceTLS — gdy ma wartość true, akceptowane są wyłącznie połączenia TLS 1.2 / 1.3; zarówno klient, jak i host muszą używać TLS.
  • domain — nazwa domeny przypisana w DNS do adresu IP relaya (zalecana, używana do SNI).
  • port — port używany przez relay do komunikacji.
  • password — co najmniej 32 znaki, aby ograniczyć dostęp; pozostaw puste, aby uruchomić bez hasła. Krótsze, niepuste hasło uniemożliwia start serwera.

4. Uruchomienie usługi

  1. Zarejestruj usługę systemd: sudo bash /srv/remotly/script/installremotlyrelay.sh
  2. Uruchom ją: sudo bash /srv/remotly/script/startremotlyrelay.sh
  3. Sprawdź, czy działa: systemctl status remotly‑relay powinno pokazać active (running).
sudo bash /srv/remotly/script/installremotlyrelay.sh
sudo bash /srv/remotly/script/startremotlyrelay.sh
systemctl status remotly‑relay

# to stop
sudo bash /srv/remotly/script/stopremotlyrelay.sh

Następnie otwórz w przeglądarce http://<IP relaya>:<port>/connectionTest (lub https://<domena relaya>:<port>/connectionTest przy TLS). Powinien pojawić się komunikat OK.

Usługa startuje razem z systemem. Po zmianie konfiguracji uruchom skrypt startowy ponownie (restartuje usługę); stopremotlyrelay.sh ją zatrzymuje. Log znajdziesz w /srv/remotly/logs/remotly‑relay.log.

5. Rejestracja relaya w koncie

Zaloguj się na remotly.com, otwórz Custom Relays i kliknij Add relay server. Podaj adres IP, port(y) z remotly‑relay.json, nazwę urządzenia widoczną w aplikacjach, kod kraju oraz to samo hasło, co w pliku konfiguracyjnym.

Panel Custom Relays w panelu użytkownika Remotly
Formularz dodawania serwera relay

Podczas łączenia z innym komputerem z włączoną opcją Force Connect Anywhere powinieneś teraz widzieć wyłącznie kod kraju i nazwę swojego prywatnego relaya.

Rozwiązywanie problemów

  • connectionTest pokazuje OK, ale połączenia przez relay nie działają: Twój serwer prawdopodobnie nie jest osiągalny spoza Twojej sieci. Skonfiguruj przekierowanie portów na publicznym adresie IP i przetestuj z przeglądarki poza siecią.
  • connectionTest pokazuje OK, ale połączenia idą przez oficjalny relay Remotly: nie dodałeś własnego relaya do konta w panelu webowym.
  • Relay działa, ale connectionTest jest nieosiągalny: z wnętrza sieci sprawdź, czy firewall serwera nie blokuje portu relaya; jeśli problem występuje tylko z zewnątrz, popraw przekierowanie portów na routerze.

Pytania? Odwiedź społeczność Remotly.

Ta strona internetowa używa plików cookie, aby poprawić Twoje doświadczenie podczas nawigacji na stronie. Spośród nich, te skategoryzowane jako niezbędne są przechowywane w przeglądarce użytkownika i są wykorzystywane do działania podstawowych funkcji witryny.

Używamy również plików cookie stron trzecich, które pomagają nam analizować i zrozumieć, w jaki sposób korzystasz z tej strony internetowej. Będą one przechowywane w Twojej przeglądarce tylko za Twoją zgodą i masz możliwość zrezygnowania z nich. Natomiast rezygnacja może mieć wpływ na Twoje doświadczenia związane z przeglądaniem strony.

NiezbędneZawsze aktywne

Niezbędne pliki cookies są absolutnie niezbędne do prawidłowego funkcjonowania strony internetowej. Te pliki cookies zapewniają podstawowe funkcjonalności i zabezpieczenia strony internetowej, w sposób anonimowy.

CookieCzas przechowywaniaOpis
cookie_consent1 rokPrzechowuje informację, czy użytkownik wyraził zgodę na używanie plików cookie. Nie przechowuje żadnych danych osobowych.
NEXT_LOCALE1 rokPrzechowuje ustawienia języka wybrane przez użytkownika.
themedo usunięciaPrzechowuje wybrany przez użytkownika jasny lub ciemny motyw (pamięć przeglądarki).
hCaptchasesjaUstawiany przez usługę hCaptcha w formularzu kontaktowym i formularzu zamówienia w celu identyfikacji botów i ochrony strony przed spamem.
device_token6 miesięcyPlik cookie używany do weryfikacji użytkownika/urządzenia.
session_idsesja / 1 miesiącPlik cookie używany do utrzymywania sesji użytkownika.
logged_insesja / 1 miesiącPlik cookie używany do utrzymywania sesji użytkownika.