VPS/vServer - virtual private server > CBCI closed Betatest

Fragen zum Kernel / Virtualisierung

(1/1)

dakasi:
Ich habe einige Fragen und Anregungen zum Kernel.
Unterstützt der verwendete Host-Kernel der Containervirtualisierung:

VPN ? (zB OpenVPN oder Wireguard)
Im Container kann man ja keine Kernelmodule nachladen, deshalb müsste der Host-Kernel die benötigten Module bereits beinhalten.

Containervirtualiserung *innerhalb* des Kunden Containers ?
zB Docker innerhalb des CBCI-vServers

Neue Kernelversionen ?
Klingt trivial, aber wenn der Kernel nie aktualisiert wird, treten Fehler auf.
Beim den bestehenden OpenVZ vServern beschweren sich inzwischen die glibc und systemd über die Kernelversion.



Forum-Support2:

--- Zitat von: dakasi am 22.November 2019, 18:02:23 ---Ich habe einige Fragen und Anregungen zum Kernel.
Unterstützt der verwendete Host-Kernel der Containervirtualisierung:

VPN ? (zB OpenVPN oder Wireguard)
Im Container kann man ja keine Kernelmodule nachladen, deshalb müsste der Host-Kernel die benötigten Module bereits beinhalten.

--- Ende Zitat ---

Ja, VPN müßte laufen. Das müssen Sie testen, dafür machen wir den Test hier. Wenn es nicht läuft, müßten wir konkret wissen, welche Module fehlen.



--- Zitat von: dakasi am 22.November 2019, 18:02:23 ---Containervirtualiserung *innerhalb* des Kunden Containers ?
zB Docker innerhalb des CBCI-vServers

--- Ende Zitat ---

Siehe https://forum.euserv.de/index.php/topic,9027.0.html



--- Zitat von: dakasi am 22.November 2019, 18:02:23 ---Neue Kernelversionen ?
Klingt trivial, aber wenn der Kernel nie aktualisiert wird, treten Fehler auf.
Beim den bestehenden OpenVZ vServern beschweren sich inzwischen die glibc und systemd über die Kernelversion.

--- Ende Zitat ---

Ja, neue Kernel-Versionen werden wir von Zeit zu Zeit einspielen. Das ging bei OpenVZ nicht so ohne Weiteres. Im Kundencenter wird derzeit über 5.x abgestimmt.

dakasi:
Ich habe Wireguard im CBCI Container getestet und Wireguard funktioniert nicht.
Voraussetzung für Wireguard ist entweder ein Kernel-Modul, oder ein Kernel ab Version 5.6.
Im Container kann man logischerweise keine Module nachladen.
Ab Kernel-Version 5.6 ist Wireguard bereits inkludiert.

Im Elrepo 7 Repository gibt es bereits Pakete für Kernelversion 5.6
https://elrepo.org/linux/kernel/el7/x86_64/RPMS/

Die offizielle Wireguard-Installations-Anleitung für Centos-7 empfiehlt den dieses Kernel-Paket aus Elrepo.
https://www.wireguard.com/install/#centos-7-module-tools

Heavy:
Doch, Wireguard funktioniert in dem Container. Jedenfalls in einem VS2-free, den CBCI Betatest Container habe ich nicht mehr.

Da der Kernel die nötige Unterstützung nicht bietet, benötigt man die Userspace-Implementierung wireguard-go von https://git.zx2c4.com/wireguard-go/about/.

Das Tool muss man selber bauen, das muss aber nicht in dem Container geschehen. Dazu Go 1.13 oder neuer installieren und folgendes ausführen:


--- Code: ---$ git clone https://git.zx2c4.com/wireguard-go
$ cd wireguard-go
$ make
--- Ende Code ---

Das resultierende Programm wireguard-go dann ggf. mit SCP auf den Container kopieren und im PATH ablegen, z.B. nach /usr/local/sbin/.

In der Wireguard-Konfiguration benötigt man einen Hook, der das TUN Device anlegt. Das sieht etwa so aus:


--- Code: ---# /etc/wireguard/wg0.conf

[Interface]
PreUp = ip tuntap add dev tun0 mode tun
PostDown = ip link delete tun0
Address = 10.10.10.10
ListenPort = 51820
PrivateKey = ...

[Peer]
PublicKey = ...
AllowedIPs = 10.0.0.0/8
--- Ende Code ---

Damit sollte sich wireguard starten lassen:


--- Code: ---# wg-quick up wg0
--- Ende Code ---

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln