# Dwa adresy IP na serwerze domowym — poradnik krok po kroku *Dla hosta GMKtec K11 (`gmktec-k11`), Ubuntu 26.04, dwie karty Ethernet.* --- ## Po co dwa IP? Serwer ma **dwie fizyczne karty sieciowe**. Docelowo (gdy oba kable podłączone): | Karta | Adres | Do czego | |-------|-------|----------| | **eno1** | `192.168.100.80` | Internet — brama domyślna `192.168.100.1` | | **enp3s0** | `192.168.100.90` | LAN — Portainer, LocalAI | Skrypt **sam wykrywa**, które porty mają kabel, i pokazuje menu z sensownymi opcjami. Nie musisz zgadywać, który port „działa”. --- ## Zanim zaczniesz ### 1. Podłącz kabel(e) - **Oba porty** — wybierzesz konfigurację dual (`.80` na eno1 + brama, `.90` na enp3s0). - **Jeden port** — skrypt zaproponuje wariant pojedynczy (np. tylko enp3s0 z `.90` i bramą). Sprawdź ręcznie: ```bash ip -br link show eno1 enp3s0 ``` Kolumna stanu: `UP` + link = kabel w porcie. ### 2. Zarezerwuj adresy na routerze Wyklucz z DHCP: `192.168.100.80` i `192.168.100.90`. ### 3. Plan B Druga sesja SSH lub konsola fizyczna — po zmianie IP stara sesja może się rozłączyć. --- ## Instalacja — skrypt ze skanem i menu ```bash cd /home/tomasz-syn-grzegorza/cursor/ubuntu-bare-metal/scripts ``` ### Podgląd (bez zmian) ```bash sudo ./configure-static-dual-nic.sh --dry-run ``` Zobaczysz skan interfejsów, domyślną opcję menu i YAML Netplan. ### Właściwe uruchomienie ```bash sudo ./configure-static-dual-nic.sh ``` Przykład interakcji: ``` === Skan interfejsów === Interfejs Stan Link IPv4 eno1 UP NIE — enp3s0 UP TAK 192.168.100.2/24 === Wybierz konfigurację === 1) Pojedynczy enp3s0: .90+brama (zalecane — usługi Docker) 2) Pojedynczy enp3s0: .80+brama 3) Pojedynczy enp3s0: .80+.90+brama (oba IP na jednej karcie) 0) Anuluj Wybór [1-3, domyślnie 1]: ``` Gdy **oba** porty mają link: ``` 1) Dual: eno1=.80+brama, enp3s0=.90 (zalecane) 2) Dual odwrócony: enp3s0=.80+brama, eno1=.90 ``` Skrypt dalej: backup Netplan → zapis → `netplan apply` → weryfikacja IP i ping do routera. --- ## Sprawdzenie, czy działa ```bash ip -br addr show eno1 enp3s0 ip route show default ping -c 2 192.168.100.1 ``` Usługi (gdy `.90` na enp3s0 lub w profilu „both” na enp3s0): - Server UI: `http://192.168.100.90:8091` - LocalAI: `http://192.168.100.90:8070` --- ## Co zrobić, gdy coś poszło nie tak ```bash sudo ./restore-dhcp-network.sh ip -br addr ``` SSH może wrócić pod adresem DHCP (np. `192.168.100.2`). Po rollbacku uruchom ponownie `configure-static-dual-nic.sh` i wybierz inną opcję z menu (np. pojedynczy enp3s0, jeśli eno1 nie współpracuje). --- ## FAQ **Miałem kabel w eno1 i nie było IP — co się stało?** Stara wersja skryptu wymuszała bramę na eno1 bez uwzględnienia stanu drugiej karty. Wersja v2 używa poprawnego Netplan (`optional`, `ConfigureWithoutCarrier`) i menu zależnego od kabli. **Czy muszę restartować serwer?** Nie — wystarczy `netplan apply` (robi to skrypt). **Który adres przy port forward na routerze?** Zwykle **`192.168.100.90`** — sprawdź `ip a`, gdzie faktycznie siedzi `.90`. --- ## Pliki | Plik | Opis | |------|------| | [`scripts/configure-static-dual-nic.sh`](../scripts/configure-static-dual-nic.sh) | Skan + menu + statyczne IP | | [`scripts/restore-dhcp-network.sh`](../scripts/restore-dhcp-network.sh) | Powrót do DHCP | | [`NETWORK-STATIC-IP-HANDOFF.md`](NETWORK-STATIC-IP-HANDOFF.md) | Notatki dla agenta | --- *Ostatnia aktualizacja: 2026-07-04 (skrypt v2 — skan + menu).*