Add fail-closed WireGuard container gateway
This commit is contained in:
+17
-19
@@ -11,8 +11,8 @@ startet den Stack.
|
||||
|
||||
1. Die Universität muss den ausgehenden WireGuard-Tunnel erlauben.
|
||||
2. Heimnetz, Universitätsnetz und Docker-Netz dürfen sich nicht überschneiden.
|
||||
3. Der WireGuard-Heim-Peer braucht eine feste öffentliche Adresse oder DNS.
|
||||
4. Für KI-Internetzugang über zuhause: Forwarding und NAT am Heim-Peer.
|
||||
3. In der Fritzbox eine Konfiguration für **einen einzelnen Client** exportieren.
|
||||
4. Der Fritzbox-Zugang muss Heimnetz und gewünschten Internetverkehr erlauben.
|
||||
5. Das private Repository muss auf dem neuen Host lesbar sein.
|
||||
|
||||
## Debian installieren
|
||||
@@ -32,10 +32,16 @@ chmod 600 config/install.env
|
||||
editor config/install.env
|
||||
```
|
||||
|
||||
Mindestens `ADMIN_USER`, `AI_BIND_ADDRESS`, `WG_ADDRESS`,
|
||||
`WG_PEER_PUBLIC_KEY`, `WG_ENDPOINT` und `WG_HOME_SUBNET` anpassen. Private
|
||||
WireGuard-, Router- und WebUI-Schlüssel werden lokal erzeugt und nur unter
|
||||
`/etc/mike-ai` gespeichert.
|
||||
Mindestens `ADMIN_USER`, Netzwerkschnittstellen, GPU-Zuordnung und Modellwerte
|
||||
prüfen. Die Fritzbox-Datei vor dem Start root-only ablegen:
|
||||
|
||||
```bash
|
||||
sudo install -d -m 700 /etc/mike-ai/wireguard
|
||||
sudo install -m 600 fritz-athena.conf /etc/mike-ai/wireguard/fritz-athena.conf
|
||||
```
|
||||
|
||||
Router- und WebUI-Schlüssel werden lokal erzeugt und nur unter `/etc/mike-ai`
|
||||
gespeichert. Der Installer gibt keine privaten WireGuard-Werte aus.
|
||||
|
||||
## Installation starten
|
||||
|
||||
@@ -50,16 +56,7 @@ Beim ersten Stackstart lädt der interne Piper-Container die konfigurierte
|
||||
deutsche Stimme in sein persistentes Volume. Dadurch kann seine erste
|
||||
Bereitschaft je nach Internetverbindung etwas länger dauern.
|
||||
|
||||
Der Installer zeigt nur den öffentlichen WireGuard-Schlüssel. Diesen am
|
||||
Heim-Peer eintragen:
|
||||
|
||||
```ini
|
||||
[Peer]
|
||||
PublicKey = <AUSGABE-DES-INSTALLERS>
|
||||
AllowedIPs = 10.77.0.2/32
|
||||
```
|
||||
|
||||
Erst wenn der Tunnel steht, kann der Bootstrap fortfahren. API-Schlüssel
|
||||
Der Compose-Start wartet auf einen aktuellen WireGuard-Handshake. API-Schlüssel
|
||||
werden nicht ausgegeben. Sie liegen root-only unter `/etc/mike-ai`.
|
||||
|
||||
## Ergebnis und Abnahme
|
||||
@@ -69,7 +66,8 @@ werden nicht ausgegeben. Sie liegen root-only unter `/etc/mike-ai`.
|
||||
- llama.cpp-WebUI: absichtlich deaktiviert und nicht veröffentlicht
|
||||
|
||||
```bash
|
||||
sudo systemctl status wg-quick@wg0 mike-ai-network-guard
|
||||
sudo systemctl status mike-ai-container-vpn-guard
|
||||
sudo docker inspect -f '{{.State.Health.Status}}' mike-ai-wireguard-gateway
|
||||
sudo docker compose --env-file /etc/mike-ai/stack.env \
|
||||
-f /opt/mike-ai/stack/compose.yaml ps
|
||||
curl http://<WIREGUARD-IP>:8081/health
|
||||
@@ -91,8 +89,8 @@ curl -fsS http://127.0.0.1:8081/v1/audio/speech \
|
||||
-o /tmp/athena-piper-test.mp3
|
||||
```
|
||||
|
||||
Zusätzlich prüfen: Uni-LAN sieht keine KI-Ports; Heimnetz erreicht beide;
|
||||
gestopptes WireGuard lässt KI-Container nicht ins Internet; jeder Profilwechsel
|
||||
Zusätzlich prüfen: Standort-LAN sieht keine KI-Ports; Heimnetz erreicht beide;
|
||||
gestopptes VPN-Gateway lässt KI-Container nicht ins Internet; jeder Profilwechsel
|
||||
startet exakt einen llama-Container; Text, Tool Call, Bild und Sprachausgabe funktionieren.
|
||||
|
||||
Nach dem ersten Anlegen des OpenWebUI-Administrators werden Filter, Quick
|
||||
|
||||
Reference in New Issue
Block a user