Przejdź do treści
Własny serwer VPN zarządzany z przeglądarki
Pobierz

8. Stały adres serwera

Po co stały adres

Urządzenia znajdują serwer VPN po jego adresie, a router przekazuje port VPN na adres serwera w Twojej sieci. Jeśli serwer dostaje adres z DHCP, adres może się zmienić (po restarcie albo gdy router przydzieli inny). Wtedy router przekazuje ruch do niewłaściwej maszyny, nic się nie łączy, a interfejs WWW „przeprowadza się” pod inny adres. Tunnelry ostrzega o tym na Pulpicie i na stronie Serwer VPN.

Rezerwacja w routerze (router zawsze daje tej maszynie ten sam adres) pomaga, ale nie jest w pełni niezawodna: router może ją zapomnieć, zostać zresetowany lub wymieniony. Najpewniejszy jest stały adres ustawiony na samym serwerze. Można zrobić jedno i drugie.

Zanim zaczniesz

Rób to na konsoli maszyny (albo konsoli maszyny wirtualnej), nie przez SSH: połączenie zerwie się przy zmianie adresu. Zbierz na serwerze potrzebne informacje:

ip -4 -br addr
ip route | grep default

Pierwsze polecenie pokazuje nazwę interfejsu sieciowego (na przykład ens18) oraz jego adres i maskę. Drugie pokazuje bramę, zwykle Twój router. Potem wybierz nowy adres w tej samej sieci, którego nikt nie używa: musi leżeć poza zakresem wydawanym przez DHCP routera (sprawdź ustawienia DHCP w routerze) i nie może odpowiadać na ping, zanim go ustawisz:

ping -c 2 192.168.17.50

W przykładach poniżej użyto interfejsu ens18, adresu 192.168.17.50, bramy 192.168.17.1 i sieci 192.168.17.0/24; zamień je na swoje.

Debian 13

Debian ustawia sieć w pliku /etc/network/interfaces. Zrób kopię i otwórz plik:

sudo cp /etc/network/interfaces /etc/network/interfaces.bak
sudo nano /etc/network/interfaces

Zamień linie interfejsu, w których jest dhcp, na:

allow-hotplug ens18
iface ens18 inet static
    address 192.168.17.50/24
    gateway 192.168.17.1

Serwery DNS ustawia się osobno:

printf "nameserver 192.168.17.1\nnameserver 1.1.1.1\n" | sudo tee /etc/resolv.conf

Zastosuj zmianę (w tym miejscu sesja SSH by się zerwała):

sudo systemctl restart networking

Ubuntu 24.04

Ubuntu używa netplan. Znajdź plik i otwórz go (nazwa bywa różna):

ls /etc/netplan
sudo nano /etc/netplan/50-cloud-init.yaml

Ustaw interfejs tak (zachowaj wcięcia dokładnie, spacjami, nigdy tabulatorami):

network:
  version: 2
  ethernets:
    ens18:
      dhcp4: false
      addresses: [192.168.17.50/24]
      routes:
        - to: default
          via: 192.168.17.1
      nameservers:
        addresses: [192.168.17.1, 1.1.1.1]

Wypróbuj z automatyczną drogą powrotu: jeśli nie potwierdzisz w ciągu dwóch minut, netplan sam przywróci stare ustawienia, więc pomyłka nie zamknie Ci dostępu:

sudo netplan try

Jeśli wszystko działa, naciśnij Enter, aby zostawić zmianę. Gdy maszyna powstała z obrazu chmurowego, cloud-init może przy następnym starcie przywrócić stare ustawienia; wyłącz to poleceniem:

echo "network: {config: disabled}" | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Po zmianie

  1. Sprawdź nowy adres i połączenie: ip -4 -br addr oraz ping -c 2 1.1.1.1.
  2. Zmień przekierowanie portu w routerze (i rezerwację, jeśli ją masz) na nowy adres serwera.
  3. Otwórz interfejs WWW pod nowym adresem, na przykład https://192.168.17.50:8443. Jego certyfikat powstał dla starego adresu, więc przeglądarka znów ostrzeże. Aby wystawić certyfikat dla nowego adresu, uruchom instalator jeszcze raz z --address 192.168.17.50 (zob. instalacja); wszystkie dane zostają.
  4. Otwórz Serwer VPN w Tunnelry: ostrzeżenie o DHCP powinno zniknąć w ciągu minuty, a Pulpit pokaże adres jako stały.

Gdy stracisz dostęp

Konsola maszyny (lub maszyny wirtualnej w hipernadzorcy) zawsze działa. Przywróć stare ustawienia i zrestartuj sieć:

sudo cp /etc/network/interfaces.bak /etc/network/interfaces
sudo systemctl restart networking

Na Ubuntu, jeśli użyłeś netplan try, wystarczy poczekać: stare ustawienia wrócą po dwóch minutach.

Dalej: odinstalowanie i rozwiązywanie problemów.