# 7. Odinstalowanie i rozwiązywanie problemów

## Odinstalowanie

```bash
sudo bash uninstall.sh --yes
```

usuwa aplikację, jej pliki systemowe i użytkownika `tunnelry`, ale **zachowuje** urząd certyfikacji i konfigurację VPN
(`/etc/tunnelry`, `/etc/openvpn/server`), więc istniejące profile pozostają ważne, jeśli zainstalujesz program
ponownie.

```bash
sudo bash uninstall.sh --yes --purge
```

usuwa także te dane: **każdy wydany profil przestaje działać i nie można tego cofnąć**. Zainstalowane pakiety (nginx,
PHP, OpenVPN itd.) zostają, bo mogą z nich korzystać inne rzeczy.

## Gdzie szukać

| Co | Jak |
|---|---|
| Co zrobił uprzywilejowany program pomocniczy | `sudo journalctl -t vpnctl --no-pager -n 50` |
| Usługa VPN | `systemctl status openvpn-server@server`, `sudo journalctl -u openvpn-server@server -n 50` |
| Zapora | `sudo nft list table inet tunnelry` |
| Serwer DNS | `systemctl status unbound`, `sudo journalctl -u unbound -n 50` |
| Aplikacja WWW | `/var/lib/tunnelry/storage/logs/laravel.log` |
| Instalacja | `/var/log/tunnelry-install.log` |
| Kontrola maszyny | `echo '{}' | /usr/lib/tunnelry/vpnctl doctor` |

## Częste problemy

**Urządzenie łączy się, ale do niczego nie ma dostępu.** Jego rola nie ma reguły dla tego, co próbuje otworzyć (otwórz
**Role**) albo zmiana jest zapisana, ale niezastosowana (poszukaj paska u góry strony). Aby działał internet, rola musi
mieć *dostęp do internetu*, a serwer musi mieć włączony NAT.

**Urządzenie w ogóle nie może się połączyć.** Sprawdź, czy UDP 1194 (lub wybrany port) dociera do serwera przez każdy
router i zaporę w chmurze, czy adres w profilu jest tym, który ludzie mogą osiągnąć, i czy profil nie został
unieważniony. Usługa VPN musi działać (Pulpit → Stan serwera).

**Zmieniłem ustawienie i nic się nie stało.** Ustawienia są najpierw zapisywane, a stosowane przyciskiem
**Zastosuj**. Po zastosowaniu potwierdź na czas, bo inaczej serwer cofnie zmianę.

**Strona pokazuje, że stan serwera jest „nieznany” albo serwer nie odpowiada.** Aplikacja WWW nie mogła połączyć się ze
swoim programem pomocniczym. Sprawdź `sudo journalctl -t vpnctl -n 50` oraz
`sudo -u tunnelry sudo -n /usr/lib/tunnelry/vpnctl version`.

**Wczoraj działało, a dziś nic się nie łączy.** Sprawdź, czy nie zmienił się adres samego serwera. Jeśli serwer
dostaje adres z DHCP (Tunnelry ostrzega o tym na Pulpicie i na stronie Serwer VPN), może on zmienić się po restarcie, a
wtedy urządzenia szukają serwera pod starym adresem, a przekierowanie portów w routerze wskazuje złą maszynę. Nadaj
serwerowi stały adres (rezerwacja w routerze pomaga, ale nie jest w pełni niezawodna); kroki w rozdziale [stały adres](https://tunnelry.com/pl/docs/static-address/index.md).

**Aktualizacja się nie udała.** Poprzednia wersja znów działa; zobacz [aktualizacje](https://tunnelry.com/pl/docs/updating/index.md).

**Przeglądarka ostrzega przed certyfikatem.** Interfejs WWW domyślnie używa certyfikatu samopodpisanego. Porównaj
odcisk z tym, który wypisał instalator. Aby użyć własnego certyfikatu, wstaw go przed serwerem WWW, który już
prowadzisz, i zamknij port Tunnelry na zewnątrz opcją *Tylko osoby połączone z VPN*.

**Moja własna sieć też jest 10.x.x.x i się zderzają.** Wybierz inną sieć VPN w **Serwer VPN → Jak łączą się
urządzenia** (możliwe tylko dopóki nie ma profili), tak żeby nie nakładała się na żadną używaną sieć; kreator odmawia
zakresów nakładających się na sieci, które widzi.
