Files
ubuntu-bare-metal/coding-agent/NETWORK-STATIC-IP-BLOG.md
T
tomasz-syn-grzegorza 359afb3a59 Initial import: bare-metal stacks, Server UI, GPU fan, tutorials.
Infrastructure configs for GMKtec K11 (Docker, vLLM, LocalAI, ComfyUI,
control-plane, gpu-fan agent, Server UI with CLI/file explorer/GPU fan curve).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-05 12:02:04 +00:00

145 lines
3.5 KiB
Markdown

# 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).*