Files
ubuntu-bare-metal/coding-agent/NETWORK-STATIC-IP-HANDOFF.md
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

3.6 KiB

Handoff — statyczne IP (dual NIC) dla agenta kodującego

Stan: skrypt v2 (skan + menu), wdrożenie przez użytkownika

Artykuł: NETWORK-STATIC-IP-BLOG.md.


Jak działa skrypt (v2)

  1. Skan eno1 / enp3s0 — stan, link (TAK/NIE), obecny IPv4
  2. Menu CLI — tylko opcje pasujące do wykrytych kabli
  3. Netplan — globalne nameservers, optional / networkd.ConfigureWithoutCarrier, brama z metric: 100
  4. Weryfikacja — oczekiwane IP, networkctl reconfigure, ping -I <gw_nic> 192.168.100.1

Profile (menu / --profile)

Profil eno1 enp3s0 Brama
dual-eno1 (dual, zalecane) .80 .90 eno1
dual-enp3s0 .90 .80 enp3s0
single-eno1-80 .80 eno1
single-eno1-both .80 + .90 eno1
single-enp3s0-90 .90 enp3s0
single-enp3s0-80 .80 enp3s0
single-enp3s0-both .80 + .90 enp3s0

Menu pokazuje się tylko gdy co najmniej jeden interfejs ma link. Żaden link → błąd i exit 1.


Uruchomienie

cd /home/tomasz-syn-grzegorza/cursor/ubuntu-bare-metal/scripts

# Interaktywnie (skan + menu):
sudo ./configure-static-dual-nic.sh

# Podgląd YAML (domyślna opcja 1 z menu po skanie):
sudo ./configure-static-dual-nic.sh --dry-run

# Bez menu (agent / automatyzacja):
sudo ./configure-static-dual-nic.sh --non-interactive --profile dual-eno1

Rollback (pomija zepsute backupy ze statycznej konfiguracji):

sudo ./restore-dhcp-network.sh
# lub wymuś czysty DHCP:
sudo ./restore-dhcp-network.sh --force-dhcp

Pre-flight

  1. Zarezerwuj .80 i .90 na routerze (DHCP)
  2. Druga sesja SSH lub konsola fizyczna
  3. Skrypt tworzy backup: /etc/netplan/00-installer-config.yaml.bak.<timestamp>

Nie zakładaj sztywnie kabla w eno1 — skrypt wykrywa link i proponuje właściwy profil.


Weryfikacja po apply

ip -br addr show eno1 enp3s0
ip route show default
ping -c 2 -I eno1 192.168.100.1    # lub -I enp3s0, zależnie od profilu
curl -s -o /dev/null -w '%{http_code}\n' http://192.168.100.90:8091

Troubleshooting

Problem Działanie
Brak IPv4 na eno1 mimo kabla (stary bug) v2: ConfigureWithoutCarrier + menu; spróbuj dual-eno1 lub single-enp3s0-90 jeśli tylko enp3s0
Brak internetu ip route; brama musi być na interfejsie z kablem
SSH urwane ip a z konsoli; rollback restore-dhcp-network.sh
Konflikt IP Zwolnij .80/.90 na routerze

Follow-up po wdrożeniu

Pliki z 192.168.100.5.90 (gdy usługi na enp3s0):

  • coding-agent/DOCKER-UI-*.md, SWARMUI-*.md, PORTAINER-SETUP-TOKEN.md, BACKLOG.md
  • stacks/npmplus/README.md, manual-tutorial/06-gpu-fan-control.md

Gdy wybrano single-enp3s0-both lub single-enp3s0-90 — usługi pod .90 na enp3s0.


Backlog

  • Wypełnić NETWORK-STATIC-IP-DEPLOYMENT.md z wybranym profilem
  • Zaktualizować IP w handoffach