technik: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
technik:proxmox [06.02.2023 - 19:14] nrbtechnik:proxmox [29.05.2025 - 21:58] (aktuell) nrb
Zeile 4: Zeile 4:
  
 Der Zugriff auf die Admin-Oberflaechen erfolgt bitte immer per HOSTNAME.pveadmin.freifunk-stuttgart.de. Hintergrund: damit kann man auch ueber den Reverse Proxy, die auf anderen Hosts laufen, zugreifen. Ausserdem bekommt man so ein ordentliches Zertifikat. Der Zugriff auf die Admin-Oberflaechen erfolgt bitte immer per HOSTNAME.pveadmin.freifunk-stuttgart.de. Hintergrund: damit kann man auch ueber den Reverse Proxy, die auf anderen Hosts laufen, zugreifen. Ausserdem bekommt man so ein ordentliches Zertifikat.
 +
 +Jeder pve-Cluster hat ein lokales Netzwerk (Hetzner vSwitch/Crossoverkabel) das fuer die Kommunikation im Cluster verwendet wird. Getrennt davon gibt es L2-Netze fuer die Gaeste, die auf den Proxmox-Hosts laufen.
 +
 +===== Backup =====
 +
 +==== Host ====
 +
 +Die Hosts werden per PBS gebackupt, siehe ''/usr/local/sbin/backup_pbs.sh''
 +
 +Infos zum restore per proxmox-backup-client gibt es unter [[technik:pbs]].
 +
 +==== Gaeste ====
 +
 +Per Proxmox Backup.
 +
 +In clustern bitte pro Cluster-Node extra Backup-Jobs anlegen, damit Notifcation per Healthchecks pro Node erfolgt
 +
 +
 +===== Netz fuer Gaeste =====
 +
 +Es gibt per VXLAN ein Clusteruebergreifendes L2, ueber das die Gaeste miteinander kommunizieren koennen. Wird per Proxmox SDN konfiguriert.
 +
 +Als L3-underlay dient der [[technik:babel-backbone|Babel-Backbone]].
 +
  
 ===== Cluster =====  ===== Cluster ===== 
  
-^ Clustername ^ Cluster-ID ^ Hoster/Standort ^ +^ Clustername ^ Cluster-ID ^ Hoster/Standort ^ Cluster-Netz 
-| ffshetzner  | 3          | Hetzner +| ffshetzner  | 3          | Hetzner  | ''10.5.0.0/24'' 
-| ffsz10a     | 8          | Nepustil, Zettachring 10a |+| ffsz10a     | 8          | Nepustil, Zettachring 10a | ''10.8.0.0/24'' |
  
 ===== Maschinen =====  ===== Maschinen ===== 
  
 ^ Proxmox Instanz                ^ Cluster    ^ Cluster-IP ^ ^ Proxmox Instanz                ^ Cluster    ^ Cluster-IP ^
-ffs03.freifunk-stuttgart.de    | ffshetzner | 10.0.3.1   | +ffs05.freifunk-stuttgart.de    | ffshetzner | 10.5.0.  | 
-ffs05.freifunk-stuttgart.de    | ffshetzner | 10.0.3.2   | +ffs08.freifunk-stuttgart.de    | ffsz10a    | 10.8.0.  | 
-ffs08.freifunk-stuttgart.de    | ffsz10a    | 10.0.8.1   +ffs11.freifunk-stuttgart.de    | ffshetzner | 10.5.0.11  
-ffs11.freifunk-stuttgart.de    | ffshetzner | 10.0.3.3   |+ffs13.freifunk-stuttgart.de    | ffsz10a    | 10.8.0.13  |
  
 ===== Setup =====  ===== Setup ===== 
Zeile 25: Zeile 49:
 ==== Interfaces ==== ==== Interfaces ====
  
-  * ''vmbr1'': NAT für Gäste, Netz ist hier `10.0.CLUSTERID.0/24`. Die Mitglieder des Cluster haben die IPs 1-10.+  * ''vmbr1'': NAT für Gäste, Netz ist hier `10.0.CLUSTERID.0/24`. Die Mitglieder des Cluster haben die IPs 1-10. - bald alt wird auf gastnat migriert
   * ''vmbr2'': Layer 2 Freifunknetz, VLAN = Segment + 100. VLAN 255 ist Transfernetz in den Wireguard Backbone.   * ''vmbr2'': Layer 2 Freifunknetz, VLAN = Segment + 100. VLAN 255 ist Transfernetz in den Wireguard Backbone.
   * ''vmbr999'': externes Interface mit öffentlicher IP. Finger weg, bei Hetzner droht Serversperrung wenn hier unbekannte MACs oder IPs unterwegs sind!   * ''vmbr999'': externes Interface mit öffentlicher IP. Finger weg, bei Hetzner droht Serversperrung wenn hier unbekannte MACs oder IPs unterwegs sind!
 +  * ''gastnat'': Clusteruebergreifendes VXLAN fuer Gaeste-Kommunikation ''10.0.3/24'' - ''2a0f:d607:e:1::/64'' - Dualstack mit Firewall IPv4/IPv6
 +  * ''services'': Clusteruebergreifendes VXLAN fuer services die public IPv4/IPv6 brauchen ''91.216.35.208/28'' - ''2a0f:d607:e:1::/64'' - keine Firewall
  
 ==== Dateisysteme ====  ==== Dateisysteme ==== 
Zeile 35: Zeile 61:
 ==== IP-Adressen ==== ==== IP-Adressen ====
  
-Bitte alle IP-Adressen fuer Container und VMs im Wiki-Artikel [[Zentraler Backbone|technik:ip-adressen#zentraler_backbone]] aus '''10.191.255.0/24''' reservieren. Das stellt sicher, dass alle Gaeste spaeter auch prinzipiell an den Backbone angebunden werdne koennen.+Bitte alle IP-Adressen fuer Container und VMs im Wiki-Artikel [[technik:ip-adressen#zentraler_backbone|Zentraler Backbone]] aus ''10.191.255.0/24'' reservieren. Das stellt sicher, dass alle Gaeste spaeter auch prinzipiell an den Backbone angebunden werden koennen.
  
 ==== Gast-IDs ==== ==== Gast-IDs ====
Zeile 45: Zeile 71:
 </code> </code>
  
-Also hat der Gast mit IP '''10.191.255.123''' auf Cluster 7 die IP '''7123'''.+Also hat der Gast mit IP ''10.191.255.123'' auf Cluster 7 die IP ''7123''.
  
 ===== Nutzerkonto auf Proxmox anlegen ===== ===== Nutzerkonto auf Proxmox anlegen =====
Zeile 58: Zeile 84:
   - Playbook ''all.yml'' laufen lassen.    - Playbook ''all.yml'' laufen lassen. 
   - Den Nutzer per ''pveum user add NUTZER@pam'' bei Proxmox bekannt machen. Das muss nur einmal pro Cluster und Nutzer gemacht werden.   - Den Nutzer per ''pveum user add NUTZER@pam'' bei Proxmox bekannt machen. Das muss nur einmal pro Cluster und Nutzer gemacht werden.
-  - Den Nutzer per ''pveum user modify --groups ffs nrb@pam'' zur Proxmox-Gruppe ffs hinzufuegen. Das muss nur einmal pro Cluster und Nutzer gemacht werden.+  - Den Nutzer per ''<nowiki>pveum user modify --groups ffs nrb@pam</nowiki>'' zur Proxmox-Gruppe ffs hinzufuegen. Das muss nur einmal pro Cluster und Nutzer gemacht werden.
   - Nutzer kann sich per SSH einloggen und anschließend ein Passwort per `passwd` setzen, mit dem er sich im Proxmox einloggen kann. Das Passwort gilt jeweils nur für einen Host, nicht clusterweit.   - Nutzer kann sich per SSH einloggen und anschließend ein Passwort per `passwd` setzen, mit dem er sich im Proxmox einloggen kann. Das Passwort gilt jeweils nur für einen Host, nicht clusterweit.
  
 ===== Zugriff auf Container / Proxmox als Jumphost ===== ===== Zugriff auf Container / Proxmox als Jumphost =====
  
-Sobald man einen Account auf den Proxmox Hosts hat und sich auf den Hosts per SSH einloggen kann, kann man sich auf den Gästen einloggen.+Zum Zugriff auf Container/VMs per SSH kann der Jumphost verwendet werden
  
-Entweder per Jumphost und IP des Gastes:+Anleitung gibt es im [[https://gitlab.freifunk-stuttgart.de/infrastruktur/ansible|Infrastruktur-Ansible]]
  
-''ssh -J PROXMOXHOST GASTIP'' +===== Neuen Container anlegen =====
  
-Oder man fügt folgenden Schnipsel in seine `.ssh/config` ein:+Wer ein Freifunkprojekt hat, kann vom Verein einen Container bekommenVoraussetzung ist Vereinsmitgliedschaft und/oder eine entsprechende Vereinbarung mit dem Verein. Der Vorstand kann hierzu Auskunft geben.
  
 +Ansible-Playbooks im  [[https://gitlab.freifunk-stuttgart.de/infrastruktur/ansible|Infrastruktur-Ansible]]
  
-  Host *.ffs05 +  * create_container_z10a_gastnet.yml  
-          User root +    * erstellt einen LXC Container im gastnet 
-          ProxyCommand ssh ffs05 -W 10.0.3.$(( $(echo %n | sed -e 's/.ffs05//') - 3000 )):22+    * Dualstack IPv4/IPv6; IPv4 NAT 
 +    * Inbound Firewall IPv4 und IPv6 
 +    * ideal geeignet bspw fuer Webanwendungen 
 +    * keine Portforwardings  
 +  * create_container_z10a_services.yml 
 +    * erstellt einen LXC Container im services Netz 
 +    * Dualstack IPv4/IPv6; kein NAT 
 +    * :!keinerlei Firewall! 
  
 +Die Playbooks reservieren autoamtisch IP-Adressen und erstellen DNS-Eintraege usw
  
-Und kann dann per ''ssh GASTID.ffs05'' auf jeden beliebigen Gast hinter ffs05. 
- 
-===== Neuen Container anlegen ===== 
- 
-Wer ein Freifunkprojekt hat, kann vom Verein einen Container bekommen. Voraussetzung ist Vereinsmitgliedschaft und/oder eine entsprechende Vereinbarung mit dem Verein. Der Vorstand kann hierzu Auskunft geben. 
  • technik/proxmox.1675710851.txt.gz
  • Zuletzt geändert: vor 2 Jahren
  • von nrb