Serwery bez publicznego IPv4 i NAT
Jak działa serwer bez publicznego adresu IPv4, czym jest NAT dla ruchu wychodzącego i jak połączyć się z takim serwerem.
Nie każdy serwer potrzebuje publicznego adresu IPv4. Serwery robocze, bazy danych czy węzły obliczeniowe zwykle wystarczy mieć w sieci prywatnej projektu. Taki serwer jest lepiej chroniony, bo nikt z Internetu nie może się do niego bezpośrednio połączyć.
Jak utworzyć serwer bez publicznego IPv4
- Kliknij Utwórz → Serwer VPS.
- W sekcji sieci wyłącz przełącznik Publiczny IPv4.
- Panel pokaże pod spodem, jak będzie działał dostęp do Internetu w wybranej lokalizacji.
- Dokończ tworzenie serwera.
Wskazówka: Jeśli w wybranej lokalizacji chwilowo nie ma wolnych adresów IPv4, serwer można utworzyć tylko bez IPv4. Niektóre aplikacje z listy wymagają publicznego adresu — wtedy kreator nie pozwoli go wyłączyć.
NAT — Internet tylko w jedną stronę
W lokalizacjach z obsługą NAT serwer bez publicznego IPv4 ma dostęp do Internetu przez NAT:
| Działa | Nie działa |
|---|---|
| Aktualizacje systemu i instalacja pakietów | Połączenia przychodzące z Internetu |
| Pobieranie plików, obrazów Docker, repozytoriów Git | Wystawienie strony lub usługi pod adresem NAT |
| Wywołania zewnętrznych API | Wysyłka poczty bezpośrednio na port 25 (SMTP) |
Ruch wychodzący z serwera trafia do Internetu z adresu NAT, wspólnego dla wielu serwerów. Ten adres zobaczysz w zakładce Sieć serwera, w wierszu NAT (wychodzący). Przyda się, jeśli zewnętrzna usługa wymaga dopisania Twojego adresu do listy dozwolonych.
Uwaga: Port
25jest zablokowany dla ruchu przez NAT. Jeśli serwer ma wysyłać e-maile, użyj zewnętrznego serwera pocztowego z uwierzytelnianiem na porcie587lub465.
Gdy NAT nie jest dostępny
Jeśli lokalizacja nie obsługuje NAT, panel przy tworzeniu serwera wyświetli ostrzeżenie:
- z włączonym IPv6 serwer będzie miał Internet tylko przez IPv6 — usługi dostępne wyłącznie po IPv4 (np. część repozytoriów i API) nie będą osiągalne,
- bez IPv4 i IPv6 serwer nie ma dostępu do Internetu — także do aktualizacji i instalacji pakietów. Łączność ma tylko w sieci prywatnej projektu.
Jak połączyć się z takim serwerem
Ponieważ połączenia z Internetu do serwera nie docierają, masz trzy możliwości:
- Przez inny serwer w projekcie (bastion) — zaloguj się przez SSH na serwer z publicznym adresem, a z niego na adres prywatny serwera, np.:
ssh -J <użytkownik>@<adres-publiczny-bastionu> <użytkownik>@<adres-prywatny-serwera> - Przez VPN — Twój komputer dołącza do sieci prywatnej projektu. Zobacz VPN dla firm.
- Przez konsolę w przeglądarce — zakładka Konsola w panelu serwera, bez potrzeby żadnego adresu.
Jeśli serwer ma włączone IPv6, możesz też połączyć się z nim bezpośrednio po IPv6.
Na stronie serwera, w karcie Logowanie, panel podpowiada gotowe polecenie SSH — dla serwera bez publicznego adresu używa adresu prywatnego.
Udostępnienie usługi z takiego serwera
Aby strona lub API z serwera bez publicznego IPv4 były dostępne z Internetu, postaw przed nim load balancer w tym samym projekcie. Load balancer ma publiczny adres i przekazuje ruch do serwera przez sieć prywatną.
Powiązane artykuły: