Benutzer-Werkzeuge

Webseiten-Werkzeuge


proxmox

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
proxmox [2025/06/14 13:02]
jango [CLI]
proxmox [2025/07/04 11:26] (aktuell)
jango [Links]
Zeile 211: Zeile 211:
  
 {{https://sweworld.net/cheatsheets/proxmox/|CheatSheet}} {{https://sweworld.net/cheatsheets/proxmox/|CheatSheet}}
 +=====API=====
 +
 +<code bash>
 +#!/bin/bash
 +
 +# ===== KONFIGURATION =====
 +PVE_HOST="192.168.0.100"         # IP oder Hostname deines Proxmox-Servers
 +PVE_USER="root@pam"             # API-Benutzer (z. B. root@pam oder apiuser@pve)
 +PVE_PASS="Lunikoff0310#"        # Passwort oder API-Token
 +PVE_NODE="pve"                  # Name des Proxmox-Nodes (z. B. pve)
 +
 +VMID=120
 +HOSTNAME="myct"
 +TEMPLATE="local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst"
 +MEMORY=512                     # MB
 +CORES=1
 +DISK_SIZE=1                    # GB
 +BRIDGE="vmbr0"
 +IP_CONFIG="ip=dhcp"
 +ROOT_PASS="lunikoff"
 +
 +# ===== LOGIN (Ticket holen) =====
 +echo "[*] Authentifiziere bei Proxmox API..."
 +AUTH_RESPONSE=$(curl -sk -d "username=$PVE_USER&password=$PVE_PASS" https://$PVE_HOST:8006/api2/json/access/ticket)
 +
 +TICKET=$(echo "$AUTH_RESPONSE" | jq -r '.data.ticket')
 +CSRF=$(echo "$AUTH_RESPONSE" | jq -r '.data.CSRFPreventionToken')
 +
 +if [[ -z "$TICKET" || -z "$CSRF" ]]; then
 +  echo "[!] Fehler: Authentifizierung fehlgeschlagen."
 +  exit 1
 +fi
 +
 +# ===== LXC erstellen =====
 +echo "[*] Erstelle LXC-Container $VMID auf Node $PVE_NODE..."
 +
 +CREATE_RESPONSE=$(curl -sk -X POST https://$PVE_HOST:8006/api2/json/nodes/$PVE_NODE/lxc \
 +  -H "CSRFPreventionToken: $CSRF" \
 +  -b "PVEAuthCookie=$TICKET" \
 +  -d vmid=$VMID \
 +  -d hostname=$HOSTNAME \
 +  -d ostemplate=$TEMPLATE \
 +  -d memory=$MEMORY \
 +  -d cores=$CORES \
 +  -d rootfs="local-lvm:${DISK_SIZE}" \
 +  -d unprivileged=1)
 +
 +echo "$CREATE_RESPONSE" | jq
 +
 +# ===== Container starten =====
 +echo "[*] Starte Container $VMID..."
 +answer=$(curl -sk -X POST https://$PVE_HOST:8006/api2/json/nodes/$PVE_NODE/lxc/$VMID/status/start \
 +  -H "CSRFPreventionToken: $CSRF" \
 +  -b "PVEAuthCookie=$TICKET" | jq)
 +
 +sleep 15
 +
 +ssh root@192.168.0.100 "pct exec $VMID -- bash -c 'useradd -m user -G sudo -s /bin/bash'"
 +ssh root@192.168.0.100 "pct exec $VMID -- bash -c 'echo user:$ROOT_PASS | chpasswd'"
 +ssh root@192.168.0.100 "pct set $VMID -net0 name=eth0,bridge=vmbr0,ip=192.168.0.120/24,gw=192.168.0.1"
 +
 +echo "[✓] Container $VMID wurde erstellt und gestartet."
 +</code>
 +
 +=====Traffic Monitoring=====
 +
 +Um den Traffic einzelner VMs/Container verlässlich zu monitoren braucht man zusätzliche Tools wie z.B [[vnstat]].
 +
 =====Links===== =====Links=====
  
Zeile 216: Zeile 284:
   * [[https://www.youtube.com/watch?v=ITYMeRE455g|How to create and settings a NAT network on a single IP address]]   * [[https://www.youtube.com/watch?v=ITYMeRE455g|How to create and settings a NAT network on a single IP address]]
   * [[https://homelabtopia.com/roxmox-fail2ban/|Proxmox Fail2Ban]]   * [[https://homelabtopia.com/roxmox-fail2ban/|Proxmox Fail2Ban]]
 +  * [[https://www.youtube.com/watch?v=VcTGKBHcqmk|OPNSense Router]]
proxmox.1749898972.txt.gz · Zuletzt geändert: 2025/06/14 13:02 von jango