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
- Sprawdź nowy adres i połączenie:
ip -4 -br addrorazping -c 2 1.1.1.1. - Zmień przekierowanie portu w routerze (i rezerwację, jeśli ją masz) na nowy adres serwera.
- 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ą. - 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.