Zum Inhalt springen

Server/jun: Unterschied zwischen den Versionen

Aus Opennet
Inhalt gelöscht Inhalt hinzugefügt
mehr Details zur uml-Virtualisierung
Tobias (Diskussion | Beiträge)
K →Besonderheiten: TODO hat sich erledigt
 
(32 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
''Jun'' ist ein Opennet [[Server]].
Jun ist ein Opennet [[Server]].


=== Technische Daten ===
=== Technische Daten ===
Zeile 8: Zeile 8:
|-
|-
|'''Hardware'''
|'''Hardware'''
|Virtualisiert, KVM VM ([[Server/ryoko]])
|Virtualisiert, KVM VM ([[Server/aqua]])
|-
|-
|'''Betriebsystem'''
|'''Betriebsystem'''
Zeile 14: Zeile 14:
|-
|-
|'''Anbindung'''
|'''Anbindung'''
|siehe [[Server/ryoko]]
|siehe [[Server/aqua]]
|-
|-
| '''IP / DNS'''
| '''IP / DNS'''
| 192.168.10.14 (Opennet IPv4, eth0) <br/> dynamisch, WAN (eth1)
| 192.168.10.14 (Opennet IPv4, eth0)<br/>fd32:d8d3:87da::10:14 (Opennet IPv6, lo)<br/>139.30.241.201 (WAN IPv4, eth1) <br/> 2001:638:804:2228:216:3eff:fe76:4703 (WAN IPv6, eth1)
|-
|-
| '''Ausstattung'''
| '''Ausstattung'''
| 4 GB RAM (virtuell)<br/>10 GB (/)
| 512 MB RAM
|-
|-
| '''Dienste'''
| '''Dienste'''
| [[OLSR]] <br/> [[Opennet Domain-Proxy]]<br/>[[Geronimo]] v2 + [[Openlayers]] v2 (Opennet API + Karte)<br />[[Freifunk API]] (Geronimo Freifunk Export)
| [[OLSR]] <BR> Virtualisierung für Experimentalnetze
|-
|-
| '''Backup'''
| '''Backup'''
| via [[Opennet Backup]]
| kein
|}
|}


=== Verantwortlichkeiten ===
=== Verantwortlichkeiten ===
* Zugang/Hosting: siehe [[Server/ryoko]]
* Zugang/Hosting: siehe [[Server/aqua]]
* Administration: Lars Kruse
* Administration: Lars Kruse

=== Dienste ===
* Domain-Proxy: https://domain-proxy.opennet-initiative.de
* Geronimo v2 API: http://api.opennet-initiative.de/api/v1/accesspoint/
* Freifunk API: https://api.opennet-initiative.de/freifunk/
* Freifunk Nodelist: https://api.opennet-initiative.de/freifunk/dynamic/nodelist.json


=== Status ===
=== Status ===
* Monitoring: https://monitor.opennet-initiative.de/server/jun/
* OLSR Status: http://jun.on:8080/
* Dienste-Überwachung (munin): http://howmei.on/munin/frieda23/jun/
* OLSR: http://jun.on:8080/

=== Virtualisierung für konzeptionelle Experimente ===
Via [http://user-mode-linux.sourceforge.net/ user-mode-linux] virtualisieren wir ein paar openwrt-Hosts.

Die Hosts werden mittels virtualisierter Netzwerk-Switches (via ''vde2'') auf die gewünschte Art miteinander verknüpft. Die Hosts basieren auf dem Image eines root-Dateisystems, das je Host mit einer cow-Datei angepasst wird.

Die Hosts werden in einer gemeinsamen Screen-Sitzung gestartet. Dies erleichtert den Zugriff auf alle Terminals an einem Ort.

Alle Host-relevanten Daten und Skripte liegen im Home-Verzeichnis des Nutzers ''uml-virt''. Für die Verwaltung der Hosts sind keine root-Rechte erforderlich.

+-------+ virt-mesh1 +-------+ virt-mesh2 +-------+ virt-mesh3 +-------+
| Host1 |----------------| Host2 |------------------| Host3 |----------------| Host4 |
+-------+ +-------+ +-------+ +-------+
\ | | /
\ | | /
\_____________________\__________________________/______________________/
|
|
|
| virt-uplink
|
|

==== Ersteinrichtung ====
Pakete installieren:
apt-get install dnsmasq vde2

dnsmasq-Konfiguration (/etc/dnsmasq.d/custom.conf):
interface=lo
interface=virt-uplink
dhcp-range=172.16.10.10,172.16.10.50,12h
server=/on/192.168.10.2
server=172.23.12.1
# die virtuellen Clients sollen bei uns die DNS-Anfragen aufloesen
dhcp-option=6, 172.16.10.1

Virtuelle Interfaces konfigurieren (/etc/network/interfaces):
auto virt-uplink
iface virt-uplink inet static
address 172.16.10.1
netmask 255.255.255.0
vde2-switch -t virt-uplink
auto virt-mesh1
iface virt-mesh1 inet manual
vde2-switch -t virt-mesh1
auto virt-mesh2
iface virt-mesh2 inet manual
vde2-switch -t virt-mesh2
auto virt-mesh3
iface virt-mesh3 inet manual
vde2-switch -t virt-mesh3

Nutzer einrichten:
adduser --disabled-password uml-virt
adduser uml-virt vde2-net

Start-Skript für spontane uml-Netze erstellen. Die wichtigste Zeile ist der Aufruf des UML-Kernels:
./uml_vmlinuz uml_dir=run ssl=pty mem=32M ubd0=host_foo.cow:openwrt-uml-ext4.img umid=host_foo eth0=daemon,,,/var/run/vde2/virt-uplink.ctl/ctl


=== Besonderheiten ===
==== Hosts und Netzwerke konfigurieren ====
* Der [[Opennet Domain-Proxy]] belegt naturgemäß die Ports 80 und 443. Daher müssen alle weiteren http(s)-basierten Dienste auf ''jun'' sich dieses [[Opennet Domain-Proxy]]s bedienen, um auf den üblichen Ports erreichbar zu sein. Für diese Dienste sind also olsr-Announcements zu konfigurieren (siehe die Datei ''host_vars/jun.on'' im [[Opennet ansible|ansible]]-Repository).
Die Konfiguration der Hosts und ihrer Netzwerke findet per Hand in der Datei ''bin/admin-uml'' statt. Dort werden (in der start-Sektion am Ende der Datei) die Hosts und ihre zugeordneten Netzwerke definiert.
* Root Partition vergrößert per:
lvresize /dev/lvm-aqua/jun-root --size 10G
e2fsck -f /dev/lvm-aqua/jun-root
resize2fs /dev/lvm-aqua/jun-root


TODO:
==== Übliche Verwaltungsaktionen ====
; Hosts starten
: admin-uml start
; Hosts stoppen
: admin-uml stop
; Hosts zurücksetzen (die Konfiguration verwerfen)
: admin-uml clear-cow
; Terminal-Sitzung mit Hosts eröffnen (via ''screen'')
: admin-uml connect


__NOTOC__
__NOTOC__

Aktuelle Version vom 22. April 2026, 17:04 Uhr

Jun ist ein Opennet Server.

Technische Daten

Name jun
Hardware Virtualisiert, KVM VM (Server/aqua)
Betriebsystem Debian Linux
Anbindung siehe Server/aqua
IP / DNS 192.168.10.14 (Opennet IPv4, eth0)
fd32:d8d3:87da::10:14 (Opennet IPv6, lo)
139.30.241.201 (WAN IPv4, eth1)
2001:638:804:2228:216:3eff:fe76:4703 (WAN IPv6, eth1)
Ausstattung 4 GB RAM (virtuell)
10 GB (/)
Dienste OLSR
Opennet Domain-Proxy
Geronimo v2 + Openlayers v2 (Opennet API + Karte)
Freifunk API (Geronimo Freifunk Export)
Backup via Opennet Backup

Verantwortlichkeiten

  • Zugang/Hosting: siehe Server/aqua
  • Administration: Lars Kruse

Dienste

Status

Besonderheiten

  • Der Opennet Domain-Proxy belegt naturgemäß die Ports 80 und 443. Daher müssen alle weiteren http(s)-basierten Dienste auf jun sich dieses Opennet Domain-Proxys bedienen, um auf den üblichen Ports erreichbar zu sein. Für diese Dienste sind also olsr-Announcements zu konfigurieren (siehe die Datei host_vars/jun.on im ansible-Repository).
  • Root Partition vergrößert per:
lvresize /dev/lvm-aqua/jun-root --size 10G
e2fsck -f /dev/lvm-aqua/jun-root
resize2fs /dev/lvm-aqua/jun-root 

TODO: