<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thomas-krenn.com/en/wikiEN/index.php?title=Special:NewPages&amp;feed=atom&amp;xortex=yes</id>
	<title>Thomas-Krenn-Wiki - New pages [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thomas-krenn.com/en/wikiEN/index.php?title=Special:NewPages&amp;feed=atom&amp;xortex=yes"/>
	<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Special:NewPages"/>
	<updated>2026-06-24T13:51:54Z</updated>
	<subtitle>From Thomas-Krenn-Wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Installation_of_N8n</id>
		<title>Installation of N8n</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Installation_of_N8n"/>
		<updated>2026-06-19T06:10:54Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;n8n&amp;#039;&amp;#039;&amp;#039; is a performant open-source platform for automatizing workflows. In contrast to cloud services such as Zapier or Make.com, n8n enables self-hostet operation, which allows you to maintain full control over your data, workflows, and costs. &lt;br /&gt;
&lt;br /&gt;
This article describes four different self-contained methods (&amp;quot;paths&amp;quot;) to install n8n on a local Linux server. Select the path that fits best to your use case and follow the steps from beginning to end. &lt;br /&gt;
&lt;br /&gt;
== Requirements == &lt;br /&gt;
=== General requirements (for all methods) ===&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Server:&amp;#039;&amp;#039;&amp;#039; A physical server or a virtual machine. &lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Resources:&amp;#039;&amp;#039;&amp;#039; At least 1 vCPU and 2 GB RAM. 2+ vCPUs and 4+ GB RAM are recommended for productive use.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;User rights:&amp;#039;&amp;#039;&amp;#039; You will require a user with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;-rights.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;System updates:&amp;#039;&amp;#039;&amp;#039; It is recommended to update the system in advance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Specific software (depending on the path) ===&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;For path 1 &amp;amp; 2 (Docker / Docker Compose):&amp;#039;&amp;#039;&amp;#039; Install the docker engine and the compose plugin via the &amp;#039;&amp;#039;&amp;#039;official docker repositories&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get remove docker docker-engine docker.io containerd runc &amp;amp;&amp;amp; sudo apt-get autoremove -y&lt;br /&gt;
# 2. Set up Repository and install docker&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y ca-certificates curl&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg&lt;br /&gt;
echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
# 3. Set permissions (crucial!)&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; So that docker permissions work, you have to &amp;#039;&amp;#039;&amp;#039;log out and log in&amp;#039;&amp;#039;&amp;#039; or execute the command &amp;lt;code&amp;gt;newgrp docker&amp;lt;/code&amp;gt; in your current shell. &lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;For path 3 (npm):&amp;#039;&amp;#039;&amp;#039; Install Node.js (v18+) and the package manager npm.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y nodejs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;For path 4 (Proxmox):&amp;#039;&amp;#039;&amp;#039; A functional Proxmox VE installation is required.&lt;br /&gt;
&lt;br /&gt;
== Installation paths ==&lt;br /&gt;
&lt;br /&gt;
=== Path 1: Docker (fast &amp;amp; simple for tests) ===&lt;br /&gt;
This method is ideal to test n8n fast and uncomplicated.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 1: Create data directory&amp;#039;&amp;#039;&amp;#039; This steps avoids permission issues in the container.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/.n8n&lt;br /&gt;
sudo chown -R $USER:$USER ~/.n8n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 2: Start container&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run -d --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n:latest&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
n8n is available on &amp;lt;code&amp;gt;http://&amp;lt;Ihre-Server-IP&amp;gt;:5678&amp;lt;/code&amp;gt;. You will see a security warning about &amp;quot;secure cookie&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 3: Resolve access issue&amp;#039;&amp;#039;&amp;#039; You have two possibilities:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;A) Fast workaround (unsafe):&amp;#039;&amp;#039;&amp;#039; Stop the old container (&amp;lt;code&amp;gt;docker stop n8n&amp;lt;/code&amp;gt;) and restart it with additional environment variable.&lt;br /&gt;
This is only suitable for localhost testing!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run -d --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e &amp;quot;N8N_SECURE_COOKIE=false&amp;quot; n8nio/n8n:latest&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;B) Secure approach using Reverse Proxy (recommended):&amp;#039;&amp;#039;&amp;#039; Set up a reverse proxy to run n8n over HTTPS using a domain.&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Detailed instructions: [[Installation of Reverse Proxy for n8n with Nginx Proxy Manager]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Path 2: Docker Compose (recommended for productive use) ===&lt;br /&gt;
This method is a robust method and ideal for long-term use, as it clearly divides the data base and n8n.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 1: Create project directory and configuration file&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/n8n-produktiv&lt;br /&gt;
cd ~/n8n-produktiv&lt;br /&gt;
nano docker-compose.yml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 2: Add content for &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Replace the placeholders for the passwords.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  n8n:&lt;br /&gt;
    image: n8nio/n8n:latest&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;5678:5678&amp;quot;&lt;br /&gt;
    restart: always&lt;br /&gt;
    environment:&lt;br /&gt;
      - DB_TYPE=postgresdb&lt;br /&gt;
      - DB_POSTGRESDB_HOST=postgres&lt;br /&gt;
      - DB_POSTGRESDB_PORT=5432&lt;br /&gt;
      - DB_POSTGRESDB_DATABASE=n8n&lt;br /&gt;
      - DB_POSTGRESDB_USER=n8n&lt;br /&gt;
      - DB_POSTGRESDB_PASSWORD=IHR_N8N_DB_PASSWORT&lt;br /&gt;
      - GENERIC_TIMEZONE=Europe/Berlin&lt;br /&gt;
    volumes:&lt;br /&gt;
      - n8n_data:/home/node/.n8n&lt;br /&gt;
    depends_on:&lt;br /&gt;
      - postgres&lt;br /&gt;
  postgres:&lt;br /&gt;
    image: postgres:14&lt;br /&gt;
    restart: always&lt;br /&gt;
    environment:&lt;br /&gt;
      - POSTGRES_USER=n8n&lt;br /&gt;
      - POSTGRES_PASSWORD=IHR_N8N_DB_PASSWORT&lt;br /&gt;
      - POSTGRES_DB=n8n&lt;br /&gt;
    volumes:&lt;br /&gt;
      - postgres_data:/var/lib/postgresql/data&lt;br /&gt;
volumes:&lt;br /&gt;
  n8n_data:&lt;br /&gt;
  postgres_data:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 3: Start container&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker compose up -d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
As the port is only connected to 127.0.0.1, n8n is not directly accessible from outside. This is intentional. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 4: Enable access&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
You have two possibilities:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;A) Fast workaround (unsafe):&amp;#039;&amp;#039;&amp;#039; Change the port assignment in the &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;5678:5678&amp;quot;&amp;lt;/code&amp;gt; and add to the &amp;lt;code&amp;gt;environment&amp;lt;/code&amp;gt;-block in n8n the line &amp;lt;code&amp;gt;- N8N_SECURE_COOKIE=false&amp;lt;/code&amp;gt;. Restart with &amp;lt;code&amp;gt;docker compose up -d&amp;lt;/code&amp;gt;.&lt;br /&gt;
This is only suitable for LAN-only test without external accessibility!&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;B) Secure approach using Reverse Proxy (recommended): &amp;#039;&amp;#039;&amp;#039;Set up a Reverse Proxy, that forwards the traffic to &amp;lt;code&amp;gt;127.0.0.1:5678&amp;lt;/code&amp;gt;.&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Detailed instructions: [[Installation of Reverse Proxy for n8n with Nginx Proxy Manager]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Path 3: npm (for developers) ===&lt;br /&gt;
This method installs n8n directly on the host system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 1: Install n8n globally&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
The global installation requires administrator rights.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo npm install -g n8n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 2: Start n8n&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Execute the command as normal user.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
n8n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
n8n is now available on &amp;lt;code&amp;gt;http://&amp;amp;#x3C;Your&amp;lt;nowiki/&amp;gt;-Server-IP&amp;gt;:5678&amp;lt;/code&amp;gt; and displays a safety warning. Terminate the process with &amp;lt;code&amp;gt;Strg+C&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 3: Resolve access issue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
You have two possibilities:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;A) Fast workaround (unsafe):&amp;#039;&amp;#039;&amp;#039; Start n8n with a preceding environment variable.&lt;br /&gt;
Please note that this is only suitable for localhost tests!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N8N_SECURE_COOKIE=false n8n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;B) Secure approach with Reverse Proxy (recommended): &amp;#039;&amp;#039;&amp;#039;Let n8n run in the background (for example with &amp;lt;code&amp;gt;pm2&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt;) and set up a Reverse Proxy in front of it.&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Detailed instructions: [[Installation of Reverse Proxy for n8n with Nginx Proxy Manager]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Path 4: Proxmox Helper Scripts (LXC) ===&lt;br /&gt;
This method creates a dedicated, lean Linux container for n8n. &lt;br /&gt;
&lt;br /&gt;
Attention: We do not recommend this for productive use!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 1: Execute installation script&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Execute this command on the &amp;#039;&amp;#039;&amp;#039;Proxmox-Host&amp;#039;&amp;#039;&amp;#039; shell and follow the interactive dialogue.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash -c &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/n8n.sh)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 2: Test access&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
After the installation, the script outputs the IP address of the container. n8n is available on &amp;lt;code&amp;gt;http://&amp;lt;IP-des-LXC-Containers&amp;gt;:5678&amp;lt;/code&amp;gt; and displays the safety warning.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 3: Resolve access issue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
You have two possibilities:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;A) Fast workaround (unsafe):&amp;#039;&amp;#039;&amp;#039; The environment variable must be configured directly in the container.&lt;br /&gt;
This is only suitable for LAN-tests without external availability!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Verbinden Sie sich mit der Shell des n8n-Containers&lt;br /&gt;
ssh root@&amp;lt;IP-des-LXC-Containers&amp;gt;&lt;br /&gt;
# 2. Öffnen Sie die systemd-Service-Datei&lt;br /&gt;
nano /etc/systemd/system/n8n.service&lt;br /&gt;
# 3. Fügen Sie unter dem Abschnitt [Service] folgende Zeile hinzu:&lt;br /&gt;
Environment=&amp;quot;N8N_SECURE_COOKIE=false&amp;quot;&lt;br /&gt;
# 4. Speichern, schließen und die Dienste neu laden/starten&lt;br /&gt;
systemctl daemon-reload &amp;amp;&amp;amp; systemctl restart n8n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;B) Secure approach with Reverse Proxy (recommended):&amp;#039;&amp;#039;&amp;#039; Set up a Reverse Proxy on another server or in another container that forwards the traffic to &amp;lt;code&amp;gt;http://&amp;lt;IP-des-LXC-Containers&amp;gt;:5678&amp;lt;/code&amp;gt;.&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Detailed instructions: [[Installation of Reverse Proxy for n8n with Nginx Proxy Manager]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* [https://docs.n8n.io/hosting/self-hosted/ n8n Documentation – Self‑Hosted] (en)&lt;br /&gt;
* [https://github.com/n8n-io/n8n n8n auf GitHub] (en)&lt;br /&gt;
* [https://tteck.github.io/Proxmox/ Proxmox VE Helper-Scripts von tteck] (en)&lt;br /&gt;
&lt;br /&gt;
{{fmueller}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Automation]]&lt;br /&gt;
[[Category:Artificial Intelligence]]&lt;br /&gt;
[[Category:Docker]]&lt;br /&gt;
[[Category:VMs/Containers]]&lt;br /&gt;
[[de:N8n installieren]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Creation_of_Proxmox_HA_cluster</id>
		<title>Creation of Proxmox HA cluster</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Creation_of_Proxmox_HA_cluster"/>
		<updated>2026-06-18T10:12:06Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;This article describes the configuration of a &amp;#039;&amp;#039;&amp;#039;High Availability Cluster&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;HA Cluster&amp;#039;&amp;#039;&amp;#039; using three servers with &amp;#039;&amp;#039;&amp;#039;Proxmox&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;VE&amp;#039;&amp;#039;&amp;#039; 8.2.2. In this example, Ceph is configured within the cluster as the data storage.  ==Requirements for High Availability== Before configuring the HA cluster, it must be verified if all requirements are fulfilled: *3 server systems identical in design  * all nodes must be located in the same system * date and time must be sy...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes the configuration of a &amp;#039;&amp;#039;&amp;#039;High Availability Cluster&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;HA Cluster&amp;#039;&amp;#039;&amp;#039; using three servers with &amp;#039;&amp;#039;&amp;#039;Proxmox&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;VE&amp;#039;&amp;#039;&amp;#039; 8.2.2. In this example, [[Ceph]] is configured within the cluster as the data storage.&lt;br /&gt;
&lt;br /&gt;
==Requirements for High Availability==&lt;br /&gt;
Before configuring the HA cluster, it must be verified if all requirements are fulfilled:&lt;br /&gt;
*3 server systems identical in design &lt;br /&gt;
* all nodes must be located in the same system&lt;br /&gt;
* date and time must be synchronized (NTP)&lt;br /&gt;
* SSH must be released for SSH on port 22&lt;br /&gt;
&lt;br /&gt;
==Installation and configuration==&lt;br /&gt;
First, Proxmox must be installed on all 3 nodes. Please make sure that you have entered the correct host name and IP configuration.&lt;br /&gt;
&lt;br /&gt;
=== Network configuration === &lt;br /&gt;
After that, the network configuration of all nodes must be made. The following steps must be executed after the installation has been successful:&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Initiale Netzwerkkonfiguration.png|First, select the host name and click on &amp;#039;&amp;#039;&amp;#039;[Network]&amp;#039;&amp;#039;&amp;#039;. Next, you will see the initial network configuration, which can be adjusted according to your requirements. &lt;br /&gt;
file:Netzwerkkonfiguration PVE.png|After that, the changes are applied by clicking on &amp;#039;&amp;#039;&amp;#039;[Apply]&amp;#039;&amp;#039;&amp;#039;. This process must be repeated on the remaining nodes.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, the network configuration can be verified with a ping test. You can also test the ping with jumbo frames, if configured. The following command would test this with an MTU configured to 9000 bytes:&amp;lt;pre&amp;gt;&lt;br /&gt;
ping -M do -s 8972 [IP-Adresse]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create Proxmox VE cluster===&lt;br /&gt;
The following steps must be executed to create the cluster:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Create PVE Cluster.png|Go to &amp;#039;&amp;#039;&amp;#039;[Datacenter]&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[Cluster]&amp;#039;&amp;#039;&amp;#039; and click on &amp;#039;&amp;#039;&amp;#039;[Create Cluster]&amp;#039;&amp;#039;&amp;#039;. Now, a pop-up appears where a   &amp;#039;&amp;#039;&amp;#039;Clustername&amp;#039;&amp;#039;&amp;#039; and the &amp;#039;&amp;#039;&amp;#039;Network&amp;#039;&amp;#039;&amp;#039; are entered for the PVE-cluster. By clicking on  &amp;#039;&amp;#039;&amp;#039;[Create]&amp;#039;&amp;#039;&amp;#039; , the cluster is created. &lt;br /&gt;
file:PVE Cluster Join Information .png|Now you can copy the join information by selecting the &amp;#039;&amp;#039;&amp;#039;[Join Information]&amp;#039;&amp;#039;&amp;#039; option and clicking &amp;#039;&amp;#039;&amp;#039;[Copy Information]&amp;#039;&amp;#039;&amp;#039;. This step is required for adding the remaining nodes.  &lt;br /&gt;
file:PVE Cluster Join.png|To add the remaining nodes to the cluster, connect to their GUI and under &amp;#039;&amp;#039;&amp;#039;[Datacenter]&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[Cluster]&amp;#039;&amp;#039;&amp;#039;, click &amp;#039;&amp;#039;&amp;#039;[Join Cluster]&amp;#039;&amp;#039;&amp;#039;. After that, the join information, the password and the network can be entered. By clicking on &amp;#039;&amp;#039;&amp;#039;[Join &amp;#039;Clustername&amp;#039;],&amp;#039;&amp;#039;&amp;#039; the host is added. Repeat this process for the remaining servers. &lt;br /&gt;
file:PVE Cluster Final.png|The overview should look similar to this.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hint for a cluster with a lot of nodes:&amp;#039;&amp;#039;&amp;#039; For clusters with a large number of nodes (25 or more), enter all nodes in the local hosts file on each cluster node. Otherwise, it may come to high network traffic and stability problems.&lt;br /&gt;
&lt;br /&gt;
===Add Ceph storage===&lt;br /&gt;
To create a Ceph storage for storing all data, the following steps must be performed:&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:1 Ceph Installation.png|Select a node here and click on &amp;#039;&amp;#039;&amp;#039;[Ceph]&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;[Install Ceph]&amp;#039;&amp;#039;&amp;#039; to start the installation.&lt;br /&gt;
file:Ceph Network.png|After the installation has been completed, the &amp;#039;&amp;#039;&amp;#039;Ceph-Network&amp;#039;&amp;#039;&amp;#039; can be stated. In addition, you can also set the number of &amp;#039;&amp;#039;&amp;#039;replicates&amp;#039;&amp;#039;&amp;#039; here. Click on &amp;#039;&amp;#039;&amp;#039;[Next]&amp;#039;&amp;#039;&amp;#039; to complete the configuration. This process is repeated for all nodes.  &lt;br /&gt;
file:Ceph MON MGR.png|Next, some services must be configured for Ceph.  The first are the monitoring and management services. For this, click &amp;#039;&amp;#039;&amp;#039;[Ceph],&amp;#039;&amp;#039;&amp;#039; then  &amp;#039;&amp;#039;&amp;#039;[Monitor]&amp;#039;&amp;#039;&amp;#039; and then &amp;#039;&amp;#039;&amp;#039;[Create]&amp;#039;&amp;#039;&amp;#039; in Monitor and Manager. In this example, one service is created per host. &lt;br /&gt;
file:Ceph MON MGR done.png|The result should look similar to this image.&lt;br /&gt;
file:Disk Wipe GPT.png|The HDDs/SSDs/NVMes must be prepared for the creation of the OSDs.  To do this, delete them under &amp;#039;&amp;#039;&amp;#039;[Disks]&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[Wipe Disk]&amp;#039;&amp;#039;&amp;#039; and initialize them with GPT &amp;#039;&amp;#039;&amp;#039;[Initialize Disk with GPT]&amp;#039;&amp;#039;&amp;#039;. Repeat this with all data carriers. &lt;br /&gt;
file:Ceph OSD.png|Now, you can create the OSDs under  &amp;#039;&amp;#039;&amp;#039;[Ceph]&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[OSD]&amp;#039;&amp;#039;&amp;#039; by clicking on &amp;#039;&amp;#039;&amp;#039;[Create: OSD].&amp;#039;&amp;#039;&amp;#039; Select the disk and a device class and confirm it by clicking on &amp;#039;&amp;#039;&amp;#039;[Create]&amp;#039;&amp;#039;&amp;#039;. This must be repeated for all data carriers. &lt;br /&gt;
file:MDS Erstellung.png|After creating the OSD, a Meta Data server can be created under &amp;#039;&amp;#039;&amp;#039;[CephFS].&amp;#039;&amp;#039;&amp;#039; These are required for CephFS. For this, click on  &amp;#039;&amp;#039;&amp;#039;[Create].&amp;#039;&amp;#039;&amp;#039; In this example, a MDS host is created per host&amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
file:CephFS.png|You can now create CephFS by clicking &amp;#039;&amp;#039;&amp;#039;[Create CephFS]&amp;#039;&amp;#039;&amp;#039;. You can use the default values here.&lt;br /&gt;
file:Ceph Pool erstellen.png|Finally, a pool must be created to store all data from the VMs/CTs. For this, switch to  &amp;#039;&amp;#039;&amp;#039;[Pools]&amp;#039;&amp;#039;&amp;#039; and click &amp;#039;&amp;#039;&amp;#039;[Create]&amp;#039;&amp;#039;&amp;#039;. Next, you must assign a pool name; you can also set a &amp;#039;&amp;#039;&amp;#039;target ratio&amp;#039;&amp;#039;&amp;#039; of &amp;#039;&amp;#039;&amp;#039;0.9&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
file:Ceph Health Status.png|Finally, you can check the Ceph dashboard, and everything should be showing as Healthy.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration High Availability ===&lt;br /&gt;
Now you can create the required virtual machines and containers on the cluster. To take advantage of the cluster&amp;#039;s high availability, it is essential that the configured VMs/CTs are added to the HA. To set this up, follow the steps below:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Add VM to HA.png|Go to &amp;#039;&amp;#039;&amp;#039;[Datacenter]&amp;#039;&amp;#039;&amp;#039; and click on &amp;#039;&amp;#039;&amp;#039;[HA]&amp;#039;&amp;#039;&amp;#039;. You can now add the VM to HA by clicking &amp;#039;&amp;#039;&amp;#039;[Add]&amp;#039;&amp;#039;&amp;#039;. To do so, enter the VM ID and a request state, then confirm by clicking &amp;#039;&amp;#039;&amp;#039;[Add]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After all steps have been executed, the cluster is functional and your virtual instance is highly available.&lt;br /&gt;
&lt;br /&gt;
{{Npauli}}&lt;br /&gt;
{{Tlindinger}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Proxmox Administration]]&lt;br /&gt;
[[de:Proxmox HA Cluster erstellen]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/LVM_basic_configuration</id>
		<title>LVM basic configuration</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/LVM_basic_configuration"/>
		<updated>2026-06-18T07:09:52Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the following article, the &amp;#039;&amp;#039;&amp;#039;basic configuration&amp;#039;&amp;#039;&amp;#039; of LVs is explained. The used system is a &amp;#039;&amp;#039;&amp;#039;Ubuntu Server 10.4&amp;#039;&amp;#039;&amp;#039; with the 2.6.32-24 kernel and the LVM-version 2.02.54(1) (2009-10-26). In the following, it is explained how to create &amp;#039;&amp;#039;&amp;#039;partitions&amp;#039;&amp;#039;&amp;#039; of &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Physical Volumes&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (PVs), a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Volume Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (VG) and the &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Logical Volumes&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (LVs) built on top of them.&lt;br /&gt;
&lt;br /&gt;
==Creating partitions== &lt;br /&gt;
First, the partitions for the PVs are created. The following points must be taken into account:&lt;br /&gt;
&lt;br /&gt;
*[[Partition Alignment]]&lt;br /&gt;
**Switch display to sectors (Switch &amp;quot;-u&amp;quot;)&lt;br /&gt;
**switch off DOS-compatible mode (Switch &amp;quot;-c&amp;quot;)&lt;br /&gt;
*for later LVM management&lt;br /&gt;
**switch system ID of partition to &amp;quot;8e&amp;quot; (Switch &amp;quot;-t&amp;quot; bei fdisk)&lt;br /&gt;
After the changes, the partition table looks as follows: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:/home/tktest# fdisk -lu&lt;br /&gt;
&lt;br /&gt;
Disk /dev/sda: 5368 MB, 5368709120 bytes&lt;br /&gt;
255 heads, 63 sectors/track, 652 cylinders, total 10485760 sectors&lt;br /&gt;
Units = sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disk identifier: 0x00051afd&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/sda1   *        2048     9920511     4959232   83  Linux&lt;br /&gt;
Partition 1 does not end on cylinder boundary.&lt;br /&gt;
/dev/sda2         9922558    10483711      280577    5  Extended&lt;br /&gt;
Partition 2 does not end on cylinder boundary.&lt;br /&gt;
/dev/sda5         9922560    10483711      280576   82  Linux swap / Solaris&lt;br /&gt;
&lt;br /&gt;
Disk /dev/sdb: 2147 MB, 2147483648 bytes&lt;br /&gt;
22 heads, 16 sectors/track, 11915 cylinders, total 4194304 sectors&lt;br /&gt;
Units = sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disk identifier: 0x1673663d&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/sdb1            2048     4194303     2096128   8e  Linux LVM&lt;br /&gt;
&lt;br /&gt;
Disk /dev/sdc: 2147 MB, 2147483648 bytes&lt;br /&gt;
22 heads, 16 sectors/track, 11915 cylinders, total 4194304 sectors&lt;br /&gt;
Units = sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disk identifier: 0xbd277faf&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/sdc1            2048     4194303     2096128   8e  Linux LVM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Preparation of PVs==&lt;br /&gt;
PVs also include meta data for the administration of volumes (see also [[LVM basics]]). 255 sectors (á 512 byte) are created for the meta data by default. Among other things, a meta data area that is too small can result in, for example, the inability to create snapshots anymore: [[Fix LVM VG vgname metadata too large for circular buffer]]. Therefore, it will make sense to configure a larger meta data area. If you want to enlargen your meta data area, the parameter &amp;quot;--metadatasize&amp;quot; must be added to the command &amp;quot;pvcreate&amp;quot; and then select the desired size at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--metadatasize size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, the partitions are initialized as PV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# pvcreate /dev/sdb1 &lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
root@ubuntu:~# pvcreate /dev/sdc1 &lt;br /&gt;
  Physical volume &amp;quot;/dev/sdc1&amp;quot; successfully created&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The commands &amp;quot;pvs&amp;quot; and &amp;quot;pvdisplay&amp;quot; offer a variety of possibilities to display the current status of the PVs. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# pvs&lt;br /&gt;
  PV         VG   Fmt  Attr PSize PFree&lt;br /&gt;
  /dev/sdb1       lvm2 --   2.00g 2.00g&lt;br /&gt;
  /dev/sdc1       lvm2 --   2.00g 2.00g&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Creating a VG==&lt;br /&gt;
The PVs, that have been created before, are now summarized to a VG.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# vgcreate vg00 /dev/sdb1 /dev/sdc1 &lt;br /&gt;
  Volume group &amp;quot;vg00&amp;quot; successfully created&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The  &amp;quot;pvdisplay&amp;quot; now shows that a VG was created with the PVs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# pvdisplay &lt;br /&gt;
  --- Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               vg00&lt;br /&gt;
  PV Size               2.00 GiB / not usable 3.00 MiB&lt;br /&gt;
  Allocatable           yes &lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              511&lt;br /&gt;
  Free PE               511&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               fl9ipM-bhhQ-V46G-2iH3-R3yZ-9DsN-JbRmY9&lt;br /&gt;
   &lt;br /&gt;
  --- Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdc1&lt;br /&gt;
  VG Name               vg00&lt;br /&gt;
  PV Size               2.00 GiB / not usable 3.00 MiB&lt;br /&gt;
  Allocatable           yes &lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              511&lt;br /&gt;
  Free PE               511&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               d1iY5L-ac3F-W5Sz-zyaE-uaT3-f66r-I3831o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
vgdisplay also shows information on VG: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               vg00&lt;br /&gt;
  System ID             &lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        2&lt;br /&gt;
  Metadata Sequence No  1&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                0&lt;br /&gt;
  Open LV               0&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                2&lt;br /&gt;
  Act PV                2&lt;br /&gt;
  VG Size               3.99 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1022&lt;br /&gt;
  Alloc PE / Size       0 / 0   &lt;br /&gt;
  Free  PE / Size       1022 / 3.99 GiB&lt;br /&gt;
  VG UUID               YTEj9f-9LCT-EOP5-JBEA-YHSz-c0R1-TMzVmy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
What stands out here is, that the PE size is 4.00 MiB. Since the lvm2-format, the number of PEs is not limited anymore. According to the Man page of vgcreate, a high number of PEs can slow down the tools. However, the number of pEs does not have influence on the I/O-performance of the Logical Volumes. If you want to change the PE-size, add the parameter to &amp;quot;vgcreate&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-s, --physicalextentsize PhysicalExtentSize&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Creating LVs==&lt;br /&gt;
&lt;br /&gt;
There are different possibilities to specify the size of the LV to be created. However, all LVs require the parameter &amp;quot;-l&amp;quot; or &amp;quot;-L&amp;quot;.&lt;br /&gt;
*size specification in, for example, Gigabyte: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lvcreate -n data -L1G vg00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Percentage of available storage in the VG:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lvcreate -n data -l100%VG vg00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Percentage of free storage in the VG: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lvcreate -n data -l100%FREE vg00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The example in progress is continued by dividing the VG into two equally sized LVs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvcreate -n data -l50%VG vg00&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&lt;br /&gt;
root@ubuntu:~# lvcreate -n data1 -l100%FREE vg00&lt;br /&gt;
  Logical volume &amp;quot;data1&amp;quot; created&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, the status of the Logical Volume can be taken into consideration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvdisplay &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/vg00/data&lt;br /&gt;
  VG Name                vg00&lt;br /&gt;
  LV UUID                S1btrq-zQZQ-h9oU-2VE6-UNoT-hkqB-Fpv7pG&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                2.00 GiB&lt;br /&gt;
  Current LE             511&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/vg00/data1&lt;br /&gt;
  VG Name                vg00&lt;br /&gt;
  LV UUID                Syaml9-d1Ax-RYTs-tSZy-vEyq-yzqW-VoOddZ&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                2.00 GiB&lt;br /&gt;
  Current LE             511&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Creating file system== &lt;br /&gt;
Now, the LVs can be formatted with a file system and mounted afterwards:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/vg00/data&lt;br /&gt;
mkdir data&lt;br /&gt;
mount /dev/vg00/data data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Removing LV==&lt;br /&gt;
If a LV should be removed, it can be removed via lvremove command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvremove /dev/vg00/data_snap &lt;br /&gt;
  Do you really want to remove active logical volume data_snap? [y/n]: y  &lt;br /&gt;
  Logical volume &amp;quot;data_snap&amp;quot; successfully removed &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The LV data_snap does no longer appear as an LV. However, the underlying partition is still listed as a PV:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  --- Physical volume ---   &lt;br /&gt;
PV Name               /dev/sde1   &lt;br /&gt;
VG Name               vg00   &lt;br /&gt;
PV Size               2.00 GiB / not usable 3.00 MiB   &lt;br /&gt;
Allocatable           yes    &lt;br /&gt;
PE Size               4.00 MiB   &lt;br /&gt;
Total PE              511   &lt;br /&gt;
Free PE               511   &lt;br /&gt;
Allocated PE          0   &lt;br /&gt;
PV UUID               lKEW15-1YHu-dikC-S0Pm-72UJ-UMPg-fgiW0Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the partition should be released completely, the PV must be removed from the VG first:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# vgreduce vg00 /dev/sde1   &lt;br /&gt;
  Removed &amp;quot;/dev/sde1&amp;quot; from volume group &amp;quot;vg00&amp;quot;&lt;br /&gt;
root@ubuntu:~# pvdisplay&lt;br /&gt;
 &amp;quot;/dev/sde1&amp;quot; is a new physical volume of &amp;quot;2.00 GiB&amp;quot;  &lt;br /&gt;
 --- NEW Physical volume ---&lt;br /&gt;
   PV Name               /dev/sde1&lt;br /&gt;
   VG Name                 &lt;br /&gt;
   PV Size               2.00 GiB&lt;br /&gt;
   Allocatable           NO&lt;br /&gt;
   PE Size               0&lt;br /&gt;
   Total PE              0 &lt;br /&gt;
   Free PE               0&lt;br /&gt;
   Allocated PE          0&lt;br /&gt;
   PV UUID               lKEW15-1YHu-dikC-S0Pm-72UJ-UMPg-fgiW0Y &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, the PV can be also deleted completely to reformat, for example, the hard drive:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# pvremove /dev/sde1&lt;br /&gt;
  Labels on physical volume &amp;quot;/dev/sde1&amp;quot; successfully wiped&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Gschoenberger}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:LVM]]&lt;br /&gt;
[[de:LVM Grundkonfiguration]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Linux_performance_analysis_in_60_seconds</id>
		<title>Linux performance analysis in 60 seconds</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Linux_performance_analysis_in_60_seconds"/>
		<updated>2026-06-17T13:17:30Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When a critical &amp;#039;&amp;#039;&amp;#039;performance issue&amp;#039;&amp;#039;&amp;#039; arises on a [[Linux]] server, there is often little time to analyze the problem in detail. Brendan Gregg, computer performance analyst and kernel engineer, describes in a blog posting and in a video, &amp;#039;&amp;#039;&amp;#039;which Linux commands he uses for the performance analysis in the first 60 seconds&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Commands for performance analysis == &lt;br /&gt;
The following commands are recommended by Brendan Gregg:&amp;lt;ref&amp;gt;[http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html Linux Performance Analysis in 60,000 Milliseconds] (techblog.netflix.com, 30.11.2015)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uptime&lt;br /&gt;
dmesg | tail&lt;br /&gt;
vmstat 1&lt;br /&gt;
mpstat -P ALL 1&lt;br /&gt;
pidstat 1&lt;br /&gt;
iostat -xz 1&lt;br /&gt;
free -m&lt;br /&gt;
sar -n DEV 1&lt;br /&gt;
sar -n TCP,ETCP 1&lt;br /&gt;
top&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information on these commands can be found in the following articles:&lt;br /&gt;
* vmstat: [[Linux Performance Measurements using vmstat]]&lt;br /&gt;
* mpstat: [[Linux CPU performance measurements with mpstat]]&lt;br /&gt;
* iostat: [[Linux I/O Performance measurements with iostat]]&lt;br /&gt;
* free: [[Linux Page Cache Basics]]&lt;br /&gt;
* sar: [[Collect and report Linux System Activity Information with sar]]&lt;br /&gt;
* top: [[Linux-tool top]]&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
In this video, Brendan Gregg shows how to execute these commands in 60 seconds:&amp;lt;ref&amp;gt;[http://www.brendangregg.com/blog/2015-12-03/linux-perf-60s-video.html Linux Performance Analysis in 60s (video)] (www.brendangregg.com/blog, 03.12.2015)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#widget:YouTube|id=ZdVpKx6Wmc8}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Linux Performance]]&lt;br /&gt;
[[de:Linux Performance Analyse in 60 Sekunden]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Docker_basics_-_the_most_important_terms</id>
		<title>Docker basics - the most important terms</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Docker_basics_-_the_most_important_terms"/>
		<updated>2026-06-17T12:17:57Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;This article provides an introduction in Docker and shows useful terms, which can be useful when using Docker and Docker containers:  &amp;lt;pre&amp;gt; # Start container docker container run &amp;lt;IMAGENAME&amp;gt; starts a container based on an image (Example: checkmk/check-mk-raw:2.2.0-latest)   # List containers (active) docker ps displays a list of all containers that are currently active   # List containers (all)  docker ps -all displays all containers on the system including those that ha...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article provides an introduction in Docker and shows useful terms, which can be useful when using Docker and Docker containers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start container&lt;br /&gt;
docker container run &amp;lt;IMAGENAME&amp;gt; starts a container based on an image (Example: checkmk/check-mk-raw:2.2.0-latest) &lt;br /&gt;
&lt;br /&gt;
# List containers (active)&lt;br /&gt;
docker ps displays a list of all containers that are currently active &lt;br /&gt;
&lt;br /&gt;
# List containers (all) &lt;br /&gt;
docker ps -all displays all containers on the system including those that have been stopped. &lt;br /&gt;
&lt;br /&gt;
# Stop container &lt;br /&gt;
docker stop &amp;lt;CONTAINER-NAME&amp;gt; stops a container &lt;br /&gt;
&lt;br /&gt;
# Reboot container&lt;br /&gt;
docker restart &amp;lt;CONTAINER-NAME&amp;gt; restarts a Docker container &lt;br /&gt;
&lt;br /&gt;
# Delete container&lt;br /&gt;
docker remove &amp;lt;CONTAINER-NAME&amp;gt; deletes a container &lt;br /&gt;
&lt;br /&gt;
# Display container volume &lt;br /&gt;
docker volume ls displays all created container volumes &lt;br /&gt;
&lt;br /&gt;
# Delete container volume &lt;br /&gt;
docker volume rm &amp;lt;VOLUME-NAME&amp;gt; - deletes a named volume &lt;br /&gt;
&lt;br /&gt;
# Execute container shell command in container&lt;br /&gt;
docker exec &amp;lt;CONTAINER-NAME&amp;gt; &amp;lt;COMMAND&amp;gt; executes the command and displays the output on its own terminal (locally)&lt;br /&gt;
&lt;br /&gt;
# Open the interactive full shell in the container (interactive terminal) &lt;br /&gt;
docker exec -it &amp;lt;CONTAINER-NAME&amp;gt; bash&lt;br /&gt;
&lt;br /&gt;
# Display container logs: &lt;br /&gt;
docker container logs &amp;lt;CONTAINER-NAME&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{jsterr}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Docker]]&lt;br /&gt;
[[de:Docker Grundlagen - die wichtigsten Befehle]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Measuring_TCP_and_UDP_Network_Performance_with_iperf</id>
		<title>Measuring TCP and UDP Network Performance with iperf</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Measuring_TCP_and_UDP_Network_Performance_with_iperf"/>
		<updated>2026-06-17T08:44:44Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;iperf&amp;#039;&amp;#039;&amp;#039;, the open-source tool, allows to measure the maximum TCP and UDP network bandwidth. It is an alternative for netperf&amp;lt;ref&amp;gt;[http://www.netperf.org/ Netperf] (www.netperf.org)&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Iperf is already included in the Debian and Ubuntu repository, which means that an installation is easy possible via &amp;lt;code&amp;gt;apt-get install iperf&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
For RHEL and CentOS, the package is available in the EPEL&amp;lt;ref&amp;gt;[http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/iperf.html IPerf Paket aus EPEL Repository] (download.fedora.redhat.com)&amp;lt;/ref&amp;gt; repository.&lt;br /&gt;
&lt;br /&gt;
Alternatively, the source code can be downloaded from the IPerf website &amp;lt;ref&amp;gt;[http://sourceforge.net/projects/iperf/files/ IPerf] (sourceforge.net)&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Use ==&lt;br /&gt;
Iperf works according to the client-sever model, which means that the iperf daemon must be started first on a server and then connects to the iperf client. Client and server are included in the same binary. When entering the IP address for the client, be sure to select the one associated with the network interface you want to test.&lt;br /&gt;
&lt;br /&gt;
=== Measure TCP performance ===&lt;br /&gt;
In this case, the TCP performance of a 1 GBit network card is measured.&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@server1 ~]# iperf -s&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
Server listening on TCP port 5001&lt;br /&gt;
TCP window size: 85.3 KByte (default)&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
[  4] local 192.168.255.1 port 5001 connected with 192.168.255.2 port 39838&lt;br /&gt;
[ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
[  4]  0.0-10.0 sec  1.10 GBytes   941 Mbits/sec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@server2 ~]# iperf -c 192.168.255.1&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
Client connecting to 192.168.255.1, TCP port 5001&lt;br /&gt;
TCP window size: 16.0 KByte (default)&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
[  3] local 192.168.255.2 port 39838 connected with 192.168.255.1 port 5001&lt;br /&gt;
[ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
[  3]  0.0-10.0 sec  1.10 GBytes   944 Mbits/sec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Measure UDP performance ===&lt;br /&gt;
The UDP performance is measured on the same system. In this case, the used bandwidth (-b) must be stated. The default here is only 1 MBit per second. &lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@server1 ~]# iperf -s -u&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
Server listening on UDP port 5001&lt;br /&gt;
Receiving 1470 byte datagrams&lt;br /&gt;
UDP buffer size:  126 KByte (default)&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
[  3] local 192.168.255.1 port 5001 connected with 192.168.255.2 port 40612&lt;br /&gt;
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams&lt;br /&gt;
[  3]  0.0-10.0 sec   889 MBytes   746 Mbits/sec   0.065 ms  621/634707 (0.098%)&lt;br /&gt;
[  3]  0.0-10.0 sec  1 datagrams received out-of-order&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@server2 ~]# iperf -c 192.168.255.1 -u -b 1000M&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
Client connecting to 192.168.255.1, UDP port 5001&lt;br /&gt;
Sending 1470 byte datagrams&lt;br /&gt;
UDP buffer size:  126 KByte (default)&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
[  3] local 192.168.255.2 port 40612 connected with 192.168.255.1 port 5001&lt;br /&gt;
[ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
[  3]  0.0-10.0 sec   890 MBytes   746 Mbits/sec&lt;br /&gt;
[  3] Sent 634708 datagrams&lt;br /&gt;
[  3] Server Report:&lt;br /&gt;
[  3]  0.0-10.0 sec   889 MBytes   746 Mbits/sec   0.065 ms  621/634707 (0.098%)&lt;br /&gt;
[  3]  0.0-10.0 sec  1 datagrams received out-of-order&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hints for 10G/40G tests ==&lt;br /&gt;
When testing 40 Gbit/s connections, it is possible that an individual CPU-core can become a bottleneck. In this case, it is recommended that several parallel tests are operated on different ports.&lt;br /&gt;
&lt;br /&gt;
More information on this topic can be found, for example, on the following pages:&lt;br /&gt;
* [https://fasterdata.es.net/host-tuning/linux/100g-tuning/ 40G/100G Tuning] (fasterdata.es.net)&lt;br /&gt;
* [https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/multi-stream-iperf3/ iperf3 at 40Gbps and above] (fasterdata.es.net)&lt;br /&gt;
* [https://calomel.org/network_performance.html Network Tuning and Performance: a simple guide to enhancing network speeds] (calomel.org)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Cmitasch}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Linux Networking]]&lt;br /&gt;
[[Category:Linux Performance]]&lt;br /&gt;
[[de:TCP und UDP Netzwerk Performance mit iperf messen]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Permanently_Change_the_Root_Data_Directory_in_Docker</id>
		<title>Permanently Change the Root Data Directory in Docker</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Permanently_Change_the_Root_Data_Directory_in_Docker"/>
		<updated>2026-06-17T05:40:20Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;This article explains how to permanently switch the default root data directory &amp;lt;code&amp;gt;/var/lib/docker/&amp;lt;/code&amp;gt; to a different directory.  == Background information ==  The &amp;lt;code&amp;gt;/var/lib/docker&amp;lt;/code&amp;gt; directory stores all images, volumes from Docker and can grow significantly depending on how many containers are used. The directory is structured as follows:&amp;lt;pre&amp;gt; root@js-checkmk-02:/var/lib/docker# ls buildkit  containers  engine-id  image  network  overlay2  plugins  runt...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to permanently switch the default root data directory &amp;lt;code&amp;gt;/var/lib/docker/&amp;lt;/code&amp;gt; to a different directory.&lt;br /&gt;
&lt;br /&gt;
== Background information == &lt;br /&gt;
The &amp;lt;code&amp;gt;/var/lib/docker&amp;lt;/code&amp;gt; directory stores all images, volumes from Docker and can grow significantly depending on how many containers are used. The directory is structured as follows:&amp;lt;pre&amp;gt;&lt;br /&gt;
root@js-checkmk-02:/var/lib/docker# ls&lt;br /&gt;
buildkit  containers  engine-id  image  network  overlay2  plugins  runtimes  swarm  tmp  volumes&amp;lt;/pre&amp;gt; You can see that it is used if you, for example, verify the status with df -h:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;root@js-checkmk-02:/var/lib/docker# df -h&lt;br /&gt;
Filesystem      Size  Used Avail Use% Mounted on&lt;br /&gt;
udev            3.9G     0  3.9G   0% /dev&lt;br /&gt;
tmpfs           794M  684K  794M   1% /run&lt;br /&gt;
/dev/sda1        47G  3.8G   41G   9% /&lt;br /&gt;
tmpfs           3.9G     0  3.9G   0% /dev/shm&lt;br /&gt;
tmpfs           5.0M     0  5.0M   0% /run/lock&lt;br /&gt;
/dev/sda15      124M   12M  113M  10% /boot/efi&lt;br /&gt;
tmpfs           794M     0  794M   0% /run/user/0&lt;br /&gt;
tmpfs           794M     0  794M   0% /run/user/1000&lt;br /&gt;
overlay          47G  3.8G   41G   9% /var/lib/docker/overlay2/a6a4203cef42815c7187f584436e5eb9dff385e3ca9c92d597a38806b9dc255d/merged&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
First, &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; must be stopped, which has immediately influence on all active containers. In addition, we install the tool &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt;.&amp;lt;pre&amp;gt;&lt;br /&gt;
root@js-checkmk-02:/# systemctl stop docker &amp;amp;&amp;amp; apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;After this, it must be communicated to Docker where to find the new data root:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Create directory if it has not been created yet&lt;br /&gt;
root@js-checkmk-02:/# mkdir -p /root/docker/root&lt;br /&gt;
&lt;br /&gt;
# Daemon-Datei anlegen in /etc/docker&lt;br /&gt;
root@js-checkmk-02:/# nano /etc/docker/daemon.json&lt;br /&gt;
&lt;br /&gt;
# Please add the following into the file, then adjust your path and store it. In this example, we change it to /root/docker/root&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;data-root&amp;quot;: &amp;quot;/root/docker/root&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;Next, the whole content of the old docker-root-directory is copied into the new data-root-directory and then the old &amp;lt;code&amp;gt;/var/lib/docker&amp;lt;/code&amp;gt; directory is renamed to &amp;lt;code&amp;gt;/var/lib/docker.old&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;rsync -aP /var/lib/docker/ &amp;quot;/root/docker/root&amp;quot;&lt;br /&gt;
cp -rp /var/lib/docker/* &amp;quot;/root/docker/root&amp;quot;&lt;br /&gt;
mv /var/lib/docker /var/lib/docker.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, Docker can be restarted and it should be verified if all containers still function:&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl start docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;If everything functions, the old data-root-directory can be deleted:&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -rf /var/lib/docker.old&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{jsterr}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Docker]]&lt;br /&gt;
[[de:Root Data Directory in Docker dauerhaft ändern]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Checkmk_RAW_Edition_-_Docker_Container_Installation</id>
		<title>Checkmk RAW Edition - Docker Container Installation</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Checkmk_RAW_Edition_-_Docker_Container_Installation"/>
		<updated>2026-06-16T11:51:57Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;These instructions show how to install and start the free RAW-edition on a Debian server.  == Installation == The installation of Docker on a server is a requirement (see Docker installation on Debian 12).  == Container (custom parameter) == Please note: We will provide the default password shortly so that you can log in right away. Otherwise, you may have trouble logging in. Please note that you have to change the following parameters:  * &amp;lt;code&amp;gt;-p 8006:5000&amp;lt;/cod...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These instructions show how to install and start the free RAW-edition on a [[Debian]] server.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
The installation of Docker on a server is a requirement (see [[Docker installation on Debian 12]]).&lt;br /&gt;
&lt;br /&gt;
== Container (custom parameter) ==&lt;br /&gt;
Please note: We will provide the default password shortly so that you can log in right away. Otherwise, you may have trouble logging in. Please note that you have to change the following parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-p 8006:5000&amp;lt;/code&amp;gt; (This is the port for accessing the Web-UI, default is usually 8080:5000)&lt;br /&gt;
* &amp;lt;code&amp;gt;-p 8007:8000&amp;lt;/code&amp;gt; (This is the port for the agent communication, default is usually 8000:8000)&lt;br /&gt;
* &amp;lt;code&amp;gt;-e CMK_PASSWORD=&amp;#039;relation&amp;#039;&amp;lt;/code&amp;gt; (The password for the Web-UI user cmkadmin is set here)&lt;br /&gt;
* &amp;lt;code&amp;gt;-e MAIL_RELAY_HOST=&amp;#039;mail.thomas-krenn.com&amp;#039;&amp;lt;/code&amp;gt; (Please state your mail server if it can be used as relay host) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@js-checkmk-02:/home/tk#  docker container run -dit -p 8006:5000 -p 8007:8000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro -e CMK_PASSWORD=&amp;#039;relation&amp;#039; -e MAIL_RELAY_HOST=&amp;#039;mail.thomas-krenn.com&amp;#039; --restart always checkmk/check-mk-raw:2.2.0-latest&lt;br /&gt;
&lt;br /&gt;
Unable to find image &amp;#039;checkmk/check-mk-raw:2.2.0-latest&amp;#039; locally&lt;br /&gt;
2.2.0-latest: Pulling from checkmk/check-mk-raw&lt;br /&gt;
125a6e411906: Pull complete&lt;br /&gt;
1a8b24f9c661: Pull complete&lt;br /&gt;
e005a80d7504: Pull complete&lt;br /&gt;
727db143e9a5: Pull complete&lt;br /&gt;
1c9d1984857d: Pull complete&lt;br /&gt;
6261e32c9473: Pull complete&lt;br /&gt;
Digest: sha256:c75927b694b02fbd748c48f1aa9469964f3c003757ebbd01c17e21daaeb08b20&lt;br /&gt;
Status: Downloaded newer image for checkmk/check-mk-raw:2.2.0-latest&lt;br /&gt;
23a12948f6b3d3a8bb0ed1808a9e4aef6f4183509c14b34de8b84175e7a12a00&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is searched for the container image online, which will be downloaded. After that, the container will start immediately. You can verify with &amp;lt;code&amp;gt;docker ps&amp;lt;/code&amp;gt;  if everything has functioned:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@js-checkmk-01:~# docker ps&lt;br /&gt;
CONTAINER ID   IMAGE                               COMMAND                  CREATED          STATUS                             PORTS                                                                                            NAMES&lt;br /&gt;
756a5156e143   checkmk/check-mk-raw:2.2.0-latest   &amp;quot;/docker-entrypoint.…&amp;quot;   29 seconds ago   Up 28 seconds (health: starting)   6557/tcp, 0.0.0.0:8000-&amp;gt;8000/tcp, :::8000-&amp;gt;8000/tcp, 0.0.0.0:8080-&amp;gt;5000/tcp, :::8080-&amp;gt;5000/tcp   monitoring&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webinterface ==&lt;br /&gt;
You can test the Web-UI with &amp;lt;code&amp;gt;http://IP-DES-DOCKER-SERVERS:8006&amp;lt;/code&amp;gt;. Here, we used custom port 8006.&lt;br /&gt;
&lt;br /&gt;
== Login data ==&lt;br /&gt;
You can log in using the following data in the login screen. Please note that the password is the one you set when you first started the container!&lt;br /&gt;
&lt;br /&gt;
* User: cmkadmin&lt;br /&gt;
* Password: relation&lt;br /&gt;
&lt;br /&gt;
{{jsterr}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Docker]]&lt;br /&gt;
[[Category:Monitoring]]&lt;br /&gt;
[[de:Checkmk RAW Edition - Docker Container Installation]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Proxmox_Backup_Server_No_Subscription_Update_Repository</id>
		<title>Proxmox Backup Server No Subscription Update Repository</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Proxmox_Backup_Server_No_Subscription_Update_Repository"/>
		<updated>2026-06-16T09:08:21Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;Proxmox Backup Server offers subscriptions for productive systems with which you can still get support from Proxmox for tested updates. For certain test systems, you may not want to purchase a subscription. The company, Thomas-Krenn.AG, recommends using Proxmox Proxmox Backup Server Support Subscriptions for productive systems. Proxmox Backup Server subscriptions are the only way to fund and support the ongoing development of Proxmox VE and Proxmox PBS. If you still...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Proxmox Backup Server offers subscriptions for productive systems with which you can still get support from Proxmox for tested updates. For certain test systems, you may not want to purchase a subscription. The company, Thomas-Krenn.AG, recommends using Proxmox [[Proxmox Backup Server Support Subscriptions]] for productive systems. Proxmox Backup Server subscriptions are the only way to fund and support the ongoing development of Proxmox VE and Proxmox PBS. If you still want to use a no-subscription repository, the following error appears after default-installation if you want to start a PBS upgrade via&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt update &amp;amp;&amp;amp; apt dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E: Failed to fetch https://enterprise.proxmox.com/debian/pbs/dists/buster/InRelease  401  Unauthorized [IP: 212.224.xxx.xxx 443]&lt;br /&gt;
E: The repository &amp;#039;https://enterprise.proxmox.com/debian/pbs buster InRelease&amp;#039; is not signed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To switch to the pbs-no-subscription repository, you need to edit the repository file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the following content into the file or make the following changes. Here, the enterprise repository was commented out and the no-subscription repository was added (Note that, unlike the enterprise repository, the no-subscription repository does not use https)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# deb https://enterprise.proxmox.com/debian/pbs buster pbs-enterprise&lt;br /&gt;
deb http://download.proxmox.com/debian/pbs buster pbs-no-subscription&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After completing these steps, the update process also functions without subscription.&lt;br /&gt;
&lt;br /&gt;
{{Jsterr}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Proxmox Backupserver]]&lt;br /&gt;
[[de:Proxmox Backup Server No Subscription Update Repository]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Secure_SSH_login_with_2_factor_authentication</id>
		<title>Secure SSH login with 2 factor authentication</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Secure_SSH_login_with_2_factor_authentication"/>
		<updated>2026-06-11T10:08:07Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A SSH shell belongs to the essential management tools on Linux based servers. This shell is already well covered by using certificate based login methods only and by deactivating root logins.&lt;br /&gt;
Furthermore, an additional registration step can be added, for example a one-time password, with a second factor. This further enhances security, as a successful login now relies on something you have (the certificate) and something you know (the one-time password). This article shows how to secure &amp;#039;&amp;#039;&amp;#039;the SSH login with Google Authenticator as second factor&amp;#039;&amp;#039;&amp;#039; on an &amp;#039;&amp;#039;&amp;#039;Ubuntu Server 18.04 LTS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Preparatory measures == &lt;br /&gt;
First, configure certificate-based authentication on your Ubuntu Server 18.04 LTS system using a [[OpenSSH Public Key Authentifizierung unter Ubuntu|OpenSSH Public Key]].&lt;br /&gt;
&lt;br /&gt;
== libpam-google-authenticator ==&lt;br /&gt;
The following paragraph provides an insight into the Google Authenticator PAM-module and shows the installation and configuration. &lt;br /&gt;
&lt;br /&gt;
=== Integration ===&lt;br /&gt;
The two-factor authentication is connected as PAM module ((Pluggable Authentication Module) to the operating system. &lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The installation of the PAM module from Google Authenticator can be made on Debian and Ubuntu via apt. It is contained in the official package sources.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo apt install libpam-google-authenticator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compatibility ===&lt;br /&gt;
The authentication via PAM module is compatible with a variety of system services. A lot of steps can therefore be further secured using Google Authenticator. The list command applied to the /etc/pam.d/ directory returns the services and tools currently supported in a base installation of Ubuntu 18.04 LTS Server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ls -m /etc/pam.d/&lt;br /&gt;
atd, chfn, chpasswd, chsh, common-account, common-auth, common-password,&lt;br /&gt;
common-session, common-session-noninteractive, cron, login, newusers, other,&lt;br /&gt;
passwd, polkit-1, runuser, runuser-l, sshd, su, sudo, systemd-user, vmtoolsd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
After the PAM module has been installed, it can be presented, initialized and configured as follows:&lt;br /&gt;
&lt;br /&gt;
# Execute Google Authenticator on the console:&lt;br /&gt;
#: $ google-authenticator&lt;br /&gt;
# Do you want authentication tokens to be time-based (y/n)&lt;br /&gt;
#: y, this is used to generate TOTP tokens (time-based one-time password)&lt;br /&gt;
#: n, this generates HOTP tokens (counter-based one-time passwords)&lt;br /&gt;
#: In this case, the TOTP method is used&lt;br /&gt;
# Now, a QR-code is displayed on the SSH-console &lt;br /&gt;
#: Scan this code with a compatible app on your smartphone&lt;br /&gt;
#: Copy and store the keys listed below safely. &lt;br /&gt;
#: With the &amp;#039;&amp;#039;emergency scratch codes,&amp;#039;&amp;#039; the login can be performed without OTP  &lt;br /&gt;
# Update the &amp;#039;&amp;#039;.google_authenticator&amp;#039;&amp;#039; file with this information.&lt;br /&gt;
#: For this, type &amp;#039;&amp;#039;y&amp;#039;&amp;#039;.&lt;br /&gt;
# Confirm all other questions with &amp;#039;&amp;#039;y&amp;#039;&amp;#039; or with &amp;#039;&amp;#039;n&amp;#039;&amp;#039; if you want to use different settings.&lt;br /&gt;
&lt;br /&gt;
== Integration into SSH-login ==&lt;br /&gt;
The Google Authenticator PAM module is fully configured. Now, these services, such as the SSH daemon, can be adjusted to enable a two-factor authentication through it. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important hint:&amp;#039;&amp;#039;&amp;#039; If the following configuration is made via SSH session, be sure to keep the current session open and test it in parallel with a second session. If the SSH daemon is misconfigured, you will no longer be able to log in.&lt;br /&gt;
&lt;br /&gt;
=== Adjustments in /etc/pam.d/sshd ===&lt;br /&gt;
Open the /etc/pam.d/sshd file with an editor. Comment out the line &amp;#039;&amp;#039;@include common-&amp;#039;&amp;#039;auth and add the line for Google Authenticator below it. Store and close the file afterwards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
# Standard Un*x authentication.&lt;br /&gt;
#@include common-auth&lt;br /&gt;
[...]&lt;br /&gt;
# Google Authenticator&lt;br /&gt;
auth required pam_google_authenticator.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjust sshd_config ===&lt;br /&gt;
In the configuration file &amp;#039;&amp;#039;/etc/ssh/sshd_config&amp;#039;&amp;#039;, you can now set &amp;#039;&amp;#039;&amp;#039;ChallengeResponseAuthentication&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;yes&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
# Change to yes to enable challenge-response passwords (beware issues with&lt;br /&gt;
# some PAM modules and threads)&lt;br /&gt;
ChallengeResponseAuthentication yes&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, check that UsePAM is set to yes and add the following line below it: &amp;#039;&amp;#039;&amp;#039;AuthenticationMethods&amp;#039;&amp;#039;&amp;#039;. In this example, an authentication is accepted via public key and one-time password.&amp;lt;ref&amp;gt;[http://manpages.ubuntu.com/manpages/bionic/man5/sshd_config.5.html sshd_config — OpenSSH SSH daemon configuration file] (manpages.ubuntu.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
UsePAM yes&lt;br /&gt;
AuthenticationMethods publickey,keyboard-interactive&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart SSH daemon === &lt;br /&gt;
Now, you can restart the SSH daemon to activate the configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo systemctl restart sshd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Login process ===&lt;br /&gt;
The following screenshots show the login process of an SSH shell with activated two-factor authentication by Google Authenticator.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubuntu-Bionic-SSH-Login-01.png|Start the SSH session.  You will now be asked for the time-based one-time password. Open your app and enter the six-digit numeric code.&lt;br /&gt;
File:Ubuntu-Bionic-SSH-Login-02.png|After entering TOTP, the login is made on the Ubuntu server 18.04 LTS system.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tniedermeier}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:SSH]]&lt;br /&gt;
[[de:SSH-Login mit 2-Faktor-Authentifizierung absichern]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Restrict_executable_SSH-commands_via_authorized_keys</id>
		<title>Restrict executable SSH-commands via authorized keys</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Restrict_executable_SSH-commands_via_authorized_keys"/>
		<updated>2026-06-11T07:56:38Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot; The &amp;#039;&amp;#039;&amp;#039;OpenSSH&amp;#039;&amp;#039;&amp;#039; secure shell server allows a secure and encrypted remote access on Linux and Unix systems. On the server side, the &amp;#039;&amp;#039;&amp;#039;authorized_keys&amp;#039;&amp;#039;&amp;#039; file in the &amp;#039;&amp;#039;.ssh&amp;#039;&amp;#039; folder is primarily used for configuring a SSH public key authentication under Ubuntu. Normally, a user is granted &amp;#039;&amp;#039;&amp;#039;full access&amp;#039;&amp;#039;&amp;#039; on the system, on which the authentication was set up. In some cases, such as automatized backup processes, it is useful that the access is restricted to just a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;OpenSSH&amp;#039;&amp;#039;&amp;#039; secure shell server allows a secure and encrypted remote access on Linux and Unix systems. On the server side, the &amp;#039;&amp;#039;&amp;#039;authorized_keys&amp;#039;&amp;#039;&amp;#039; file in the &amp;#039;&amp;#039;.ssh&amp;#039;&amp;#039; folder is primarily used for configuring a [[SSH public key authentication under Ubuntu]]. Normally, a user is granted &amp;#039;&amp;#039;&amp;#039;full access&amp;#039;&amp;#039;&amp;#039; on the system, on which the authentication was set up. In some cases, such as automatized backup processes, it is useful that the access is restricted to just a few, or even just a single &amp;#039;&amp;#039;&amp;#039;command&amp;#039;&amp;#039;&amp;#039;. The successful configuration steps are explained in this article.&lt;br /&gt;
&lt;br /&gt;
== Purpose == &lt;br /&gt;
The restriction of executable commands via SSH is mainly used for automatized backups. The dedicated backup users mostly have a private key without key phrase to execute automated backups. On the backup destination server, the public key of the user is added to the &amp;#039;&amp;#039;authorized_keys&amp;#039;&amp;#039; file so that this user can connect without entering a password. &lt;br /&gt;
&lt;br /&gt;
Strictly speaking, from this point on, the user would actually have full access to the backup server, even though, for example, the &amp;quot;rsync&amp;quot; command is always used. &lt;br /&gt;
&lt;br /&gt;
A command restriction for the user avoids that if the private key is compromised, the backup server is automatically compromised as well. As the user is restricted to a command in the &amp;#039;&amp;#039;authorized_keys&amp;#039;&amp;#039; file, it is not allowed to execute another command or to establish a terminal session via SSH.&lt;br /&gt;
&lt;br /&gt;
== Restrict to a single command in authorized_keys ==&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;/~/.ssh/authorized_keys&amp;#039;&amp;#039;&amp;#039; file contains the public key of the user that is allowed to connect. (see also [[SSH public key authentication under Ubuntu]]):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
:~$ cat .ssh/authorized_keys &lt;br /&gt;
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCj98R[...]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
To restrict the user to a single command, the parameter &amp;#039;&amp;#039;&amp;#039;command=&amp;#039;&amp;#039;&amp;#039; is entered before the key. After that, whenever an attempt is made to establish an SSH connection, only this command will be executed, even if, for example, a different command was provided.&amp;lt;ref name=&amp;quot;sshdef&amp;quot;&amp;gt;[http://oreilly.com/catalog/sshtdg/chapter/ch08.html Per-Account Server Configuration] (oreilly.com)&amp;lt;/ref&amp;gt; In the following example, the user &amp;#039;&amp;#039;dailybackup&amp;#039;&amp;#039; is restricted to the &amp;#039;&amp;#039;date&amp;#039;&amp;#039; command for demonstration purposes.&lt;br /&gt;
For this, the &amp;#039;&amp;#039;command=date&amp;#039;&amp;#039; parameter is defined on the SSH-server:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
:~$ cat .ssh/authorized_keys &lt;br /&gt;
command=&amp;quot;date&amp;quot; ssh-rsa AAAA[...]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
From the client computer that connects to the server via SSH, the only command the user can then execute is &amp;#039;&amp;#039;date&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
:~$ ssh dailybackup@192.168.56.105&lt;br /&gt;
Wed Apr 30 14:46:53 CEST 2014&lt;br /&gt;
Connection to 192.168.56.105 closed.&lt;br /&gt;
:~$ ssh dailybackup@192.168.56.105 &amp;quot;tail /etc/passwd&amp;quot;&lt;br /&gt;
Wed Apr 30 14:47:02 CEST 2014&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Analyse executed command on SSH-server ==&lt;br /&gt;
The analysis, which command must be entered in &amp;#039;&amp;#039;authorized_keys&amp;#039;&amp;#039;, is made easier by the environment variable &amp;#039;&amp;#039;$SSH_ORIGINAL_COMMAND&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
command=&amp;quot;/bin/echo You invoked: $SSH_ORIGINAL_COMMAND&amp;quot; ssh-rsa AAAAB[..]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
When a command is issued from the client, the command executed on the server is then displayed for analysis purposes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
:~$ ssh dailybackup@192.168.56.105 tail /etc/passwd&lt;br /&gt;
You invoked: tail /etc/passwd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some commands, for example &amp;#039;&amp;#039;rsync&amp;#039;&amp;#039;, lead to an error message when used with the above &amp;#039;&amp;#039;command&amp;#039;&amp;#039;. By taking a roundabout route using a script on the SSH server, the command, that was executed, can be also accessed: &amp;lt;ref name=&amp;quot;sshdef&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
:~$ vi logssh.sh&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ -n &amp;quot;$SSH_ORIGINAL_COMMAND&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
  echo &amp;quot;`/bin/date`: $SSH_ORIGINAL_COMMAND&amp;quot; &amp;gt;&amp;gt; $HOME/ssh-command-log&lt;br /&gt;
  exec $SSH_ORIGINAL_COMMAND&lt;br /&gt;
fi&lt;br /&gt;
:~$ vi .ssh/authorized_keys&lt;br /&gt;
command=&amp;quot;/home/dailybackup/logssh.sh&amp;quot; ssh-rsa AAAAB3N[...]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The client then calls up rsync: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
:~/tmp$ rsync -avz test.txt dailybackup@192.168.56.105:/home/dailybackup&lt;br /&gt;
sending incremental file list&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The command executed via SSH appears in the log file on the SSH server. This command can be used again via &amp;#039;&amp;#039;command=&amp;#039;&amp;#039; for restrictions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
:~$ cat ssh-command-log &lt;br /&gt;
Wed Apr 30 15:10:54 CEST 2014: rsync --server -vlogDtprze.iLsf . /home/dailybackup&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hint:&amp;#039;&amp;#039;&amp;#039; For problems with output redirection, &amp;lt;code&amp;gt;exec&amp;lt;/code&amp;gt; can be used instead of &amp;lt;code&amp;gt;eval&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Restrict multiple commands in authorized_keys ==&lt;br /&gt;
In general, it is possible via additional scripts to allow multiple commands for a key pair.&lt;br /&gt;
&lt;br /&gt;
However, for maximum security, it is easier to generate a private key pair for every desired command and to safe the corresponding command.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Gschoenberger}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:SSH]]&lt;br /&gt;
[[de:Ausführbare SSH-Kommandos per authorized keys einschränken]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/OpenSSH_public_key_authentication_fails</id>
		<title>OpenSSH public key authentication fails</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/OpenSSH_public_key_authentication_fails"/>
		<updated>2026-06-11T06:25:36Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;This article describes how to resolve issues with SSH authentication using public key authentication. In the article SSH key login, it is explained how to set up public key authentication in general.    == Server-side problems ==  In most cases, the reason why public key authentication is not working can be found in the file and directory permissions. The home directory on the server as well as the sub-directory .ssh is not allowed to have writing right...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to resolve issues with SSH authentication using public key authentication. In the article [[SSH Key Login|SSH key login]], it is explained how to set up public key authentication in general.  &lt;br /&gt;
&lt;br /&gt;
== Server-side problems == &lt;br /&gt;
In most cases, the reason why public key authentication is not working can be found in the file and directory permissions. The home directory on the server as well as the sub-directory .ssh is not allowed to have writing rights for group and other. Furthermore, the file &amp;lt;code&amp;gt;authorized_keys&amp;lt;/code&amp;gt; must be accessible only to the owner. &lt;br /&gt;
&lt;br /&gt;
To set the rights correctly, log in to the server with the user for whom the SSH authentication should function.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod go-w $HOME $HOME/.ssh&lt;br /&gt;
chmod 600 $HOME/.ssh/authorized_keys&lt;br /&gt;
chown `whoami` $HOME/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is not possible, you can alternatively deactivate the right verification of the server. The following option must be entered in the &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; file:&lt;br /&gt;
 StrictModes no&lt;br /&gt;
&lt;br /&gt;
Another error source can be the wrong settings in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt;. Here is an extract of options that can influence the public key authentication:&lt;br /&gt;
* AuthorizedKeysFile&lt;br /&gt;
* PreferredAuthentications&lt;br /&gt;
* PubkeyAuthentication&lt;br /&gt;
&lt;br /&gt;
More settings can be found in the &amp;#039;&amp;#039;&amp;#039;man sshd_config&amp;#039;&amp;#039;&amp;#039; manpage.&lt;br /&gt;
&lt;br /&gt;
== Client-sided problems == &lt;br /&gt;
Alternatively, there may still be issues on the client side, that is, on the computer from which the SSH connection is initiated.&lt;br /&gt;
&lt;br /&gt;
If the file rights are set open for the private key, the following error message is displayed by the SSH client:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @&lt;br /&gt;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
Permissions 0777 for &amp;#039;xyz&amp;#039; are too open.&lt;br /&gt;
It is recommended that your private key files are NOT accessible by others.&lt;br /&gt;
This private key will be ignored.&lt;br /&gt;
bad permissions: ignore key: xyz&lt;br /&gt;
Permission denied (publickey,gssapi-with-mic).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, the private key is ignored. Set the rights correctly using the following command: &lt;br /&gt;
 chmod 600 $HOME/.ssh/&amp;lt;Keyname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another possible error source could be a wrong setting in &amp;lt;code&amp;gt;.ssh/config&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/etc/ssh/ssh_config&amp;lt;/code&amp;gt;. An excerpt of possible options that may affect public key authentication, can be found here:&lt;br /&gt;
* PreferredAuthentications&lt;br /&gt;
* PubkeyAuthentication&lt;br /&gt;
&lt;br /&gt;
All settings can be found in the &amp;#039;&amp;#039;&amp;#039;man ssh_config&amp;#039;&amp;#039;&amp;#039; manpage.&lt;br /&gt;
&lt;br /&gt;
== Sources: == &lt;br /&gt;
* http://www.openssh.org/faq.html#3.14&lt;br /&gt;
&lt;br /&gt;
{{Cmitasch}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:SSH]]&lt;br /&gt;
[[de:OpenSSH Public Key Authentication schlägt fehl]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/AMD_Security_Vulnerabilities_-_June_2026</id>
		<title>AMD Security Vulnerabilities - June 2026</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/AMD_Security_Vulnerabilities_-_June_2026"/>
		<updated>2026-06-10T12:16:49Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;On &amp;#039;&amp;#039;&amp;#039;June 9th, 2026&amp;#039;&amp;#039;&amp;#039;, AMD published the security bulletins &amp;#039;&amp;#039;&amp;#039;AMD-SB-3039&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3039.html ASP non-Coherent Memory Access – June 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; and &amp;#039;&amp;#039;&amp;#039;AMD-SB-9025&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-9025.html AMD uProf Vulnerabilities – June 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; for security vulnerabili...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On &amp;#039;&amp;#039;&amp;#039;June 9th, 2026&amp;#039;&amp;#039;&amp;#039;, AMD published the security bulletins &amp;#039;&amp;#039;&amp;#039;AMD-SB-3039&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3039.html ASP non-Coherent Memory Access – June 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; and &amp;#039;&amp;#039;&amp;#039;AMD-SB-9025&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-9025.html AMD uProf Vulnerabilities – June 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; for security vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD-SB-3039&amp;#039;&amp;#039;&amp;#039;: This is a malicious hypervisor that can undermine the integrity protection mechanisms of AMD Secure Encrypted Virtualization – Secure Nested Paging (SEV-SNP), by forcing AMD Security Processor (ASP) to work with the system storage without cache coherence. According to the publication, system settings controlled by the hypervisor enable the reconfiguration of the interaction between the storage requirements of the ASP and the CPU-cache. By disabling coherence, the ASP can read stale data from the DRAM when copying pages and updating the associated metadata, causing the guest to lose the most recent updates in the CPU cache. This could potentially undermine the integrity warranties of the SEV-SNP for guests and could cause data corruption.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD-SB-9025&amp;#039;&amp;#039;&amp;#039;: The vulnerability could allow a local attacker with user privileges to write to memory assigned by the kernel. AMD confirms that the issue occurs because from the driver creating a shared-section object with a NULL security descriptor and exposing kernel pointers in shared memory, which could allow an attacker to write to kernel-allocated memory and potentially cause a system crash or a denial-of-service condition.  &lt;br /&gt;
&lt;br /&gt;
== Affected systems ==&lt;br /&gt;
&lt;br /&gt;
Here is a table listing the affected processors. &lt;br /&gt;
&lt;br /&gt;
===== AMD EPYC™ Processors =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Product&lt;br /&gt;
|Mitigation&lt;br /&gt;
|-&lt;br /&gt;
|AMD EPYC™ 8004 Series Processors&lt;br /&gt;
|GenoaPI&lt;br /&gt;
1.0.0.H&lt;br /&gt;
|-&lt;br /&gt;
|AMD EPYC™ 9004 Series Processors&lt;br /&gt;
|GenoaPI&lt;br /&gt;
1.0.0.H&lt;br /&gt;
|-&lt;br /&gt;
|AMD EPYC™ 9005 Series Processors&lt;br /&gt;
|TurinPI&lt;br /&gt;
&lt;br /&gt;
1.0.0.8&lt;br /&gt;
|-&lt;br /&gt;
|AMD EPYC™ Embedded 8004 Series Processors&lt;br /&gt;
|EmbGenoaPI-SP5&lt;br /&gt;
&lt;br /&gt;
1.0.0.D&lt;br /&gt;
|-&lt;br /&gt;
|AMD EPYC™ Embedded 9004 Series Processors&lt;br /&gt;
&lt;br /&gt;
(formerly codenamed &amp;quot;Genoa&amp;quot;)&lt;br /&gt;
|EmbGenoaPI-SP5&lt;br /&gt;
&lt;br /&gt;
1.0.0.D&lt;br /&gt;
|-&lt;br /&gt;
|AMD EPYC™ Embedded 9004 Series Processors&lt;br /&gt;
&lt;br /&gt;
(formerly codenamed &amp;quot;Bergamo&amp;quot;)&lt;br /&gt;
|EmbGenoaPI-SP5&lt;br /&gt;
&lt;br /&gt;
1.0.0.D&lt;br /&gt;
|-&lt;br /&gt;
|AMD EPYC™ Embedded 9005 Series Processors&lt;br /&gt;
|EmbeddedTurinPI_SP5&lt;br /&gt;
&lt;br /&gt;
1004&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |CVE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |CVSS Score&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2026-54509 CVE-2025-54509]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |4.0 (Medium)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2026-0466 CVE-2026-0466]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |6.8 (Medium)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2026-28237 CVE-2026-28237]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |6.8 (Medium)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the following, there is an extract of this table in which all Supermicro mainboards are included that are offered by Thomas-Krenn:&amp;lt;ref&amp;gt;[https://www.supermicro.com/en/support/security_AMD-SB-3027 AMD Security Bulletin AMD-SB-3027, January 2027] (www.supermicro.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!AMD motherboard &lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;BIOS version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H13SSW&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.8&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H13SSL-N/NT&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Updates for Thomas-Krenn products ===&lt;br /&gt;
Updates on the corresponding system can be found in the &amp;lt;tklink type=&amp;quot;sitex&amp;quot; id=&amp;quot;440&amp;quot;&amp;gt;download area of Thomas-Krenn&amp;lt;/tklink&amp;gt;.&lt;br /&gt;
The updates in the download area have been tested by us to guarantee the stability and compatibility of our systems. &lt;br /&gt;
&lt;br /&gt;
If you require the latest version for your system and it is not yet available in our download area, you can get it at &lt;br /&gt;
[https://www.asus.com/de/support/download-center/ Asus], [https://www.supermicro.com/en/support/resources/downloadcenter/swdownload Supermicro] or [https://www.gigabyte.com/de/Support/Consumer/Download Gigabyte]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More information == &lt;br /&gt;
* [https://www.supermicro.com/en/support/security_AMD-SB-3027 AMD Security Bulletin AMD-SB-3039] (supermicro.com, Juni 2026)&lt;br /&gt;
&lt;br /&gt;
{{Thomas-Krenn.AG}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:AMD Safety Information]]&lt;br /&gt;
[[de:AMD Sicherheitslücken - Juni 2026]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Slow_SSH_login_due_to_DNS_timeout</id>
		<title>Slow SSH login due to DNS timeout</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Slow_SSH_login_due_to_DNS_timeout"/>
		<updated>2026-06-10T08:52:47Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;This article describes solutions for when an &amp;#039;&amp;#039;&amp;#039;SSH login is slow&amp;#039;&amp;#039;&amp;#039;.  ==Problem== It takes approximately 10 seconds when you log in to a Linux system via SSH until the password prompt appears. After this, the SSH session functions completely normal.  ==Background==  The SSH server tries to make a reverse DNS lookup for the IP from which the SSH connection is established. If there is no functioning configured DNS (for example a wrong registered IP for the DNS server in /...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes solutions for when an &amp;#039;&amp;#039;&amp;#039;SSH login is slow&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Problem==&lt;br /&gt;
It takes approximately 10 seconds when you log in to a Linux system via SSH until the password prompt appears. After this, the SSH session functions completely normal.&lt;br /&gt;
&lt;br /&gt;
==Background== &lt;br /&gt;
The SSH server tries to make a reverse DNS lookup for the IP from which the SSH connection is established. If there is no functioning configured DNS (for example a wrong registered IP for the DNS server in /etc/resolv.conf), it takes 10 seconds until the timeout is reached for the reverse DNS lookup. Then, the password prompt appears. &lt;br /&gt;
&lt;br /&gt;
In the following, information on the use of &amp;lt;code&amp;gt;ssh -v&amp;lt;/code&amp;gt; (verbose mode) is listed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[admin@tpw admin]$ ssh -v root@192.168.1.154&lt;br /&gt;
OpenSSH_5.1p1, OpenSSL 0.9.8g 19 Oct 2007&lt;br /&gt;
debug1: Reading configuration data /etc/ssh/ssh_config&lt;br /&gt;
debug1: Applying options for *&lt;br /&gt;
debug1: Connecting to 192.168.1.154 [192.168.1.154] port 22.&lt;br /&gt;
debug1: Connection established.&lt;br /&gt;
debug1: identity file /home/admin/.ssh/identity type -1&lt;br /&gt;
debug1: identity file /home/admin/.ssh/id_rsa type -1&lt;br /&gt;
debug1: identity file /home/admin/.ssh/id_dsa type -1&lt;br /&gt;
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5&lt;br /&gt;
debug1: match: OpenSSH_5.1p1 Debian-5 pat OpenSSH*&lt;br /&gt;
debug1: Enabling compatibility mode for protocol 2.0&lt;br /&gt;
debug1: Local version string SSH-2.0-OpenSSH_5.1&lt;br /&gt;
debug1: SSH2_MSG_KEXINIT sent&lt;br /&gt;
debug1: SSH2_MSG_KEXINIT received&lt;br /&gt;
debug1: kex: server-&amp;gt;client aes128-cbc hmac-md5 none&lt;br /&gt;
debug1: kex: client-&amp;gt;server aes128-cbc hmac-md5 none&lt;br /&gt;
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024&amp;lt;1024&amp;lt;8192) sent&lt;br /&gt;
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP&lt;br /&gt;
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent&lt;br /&gt;
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY&lt;br /&gt;
debug1: Host &amp;#039;192.168.1.154&amp;#039; is known and matches the RSA host key.&lt;br /&gt;
debug1: Found key in /home/admin/.ssh/known_hosts:153&lt;br /&gt;
debug1: ssh_rsa_verify: signature correct&lt;br /&gt;
debug1: SSH2_MSG_NEWKEYS sent&lt;br /&gt;
debug1: expecting SSH2_MSG_NEWKEYS&lt;br /&gt;
debug1: SSH2_MSG_NEWKEYS received&lt;br /&gt;
debug1: SSH2_MSG_SERVICE_REQUEST sent&lt;br /&gt;
debug1: SSH2_MSG_SERVICE_ACCEPT received&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, it takes ten minutes until it continues:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
debug1: Authentications that can continue: publickey,password&lt;br /&gt;
debug1: Next authentication method: publickey&lt;br /&gt;
debug1: Trying private key: /home/admin/.ssh/identity&lt;br /&gt;
debug1: Trying private key: /home/admin/.ssh/id_rsa&lt;br /&gt;
debug1: Trying private key: /home/admin/.ssh/id_dsa&lt;br /&gt;
debug1: Next authentication method: password&lt;br /&gt;
root@192.168.1.154&amp;#039;s password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After entering the password, it continues:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
debug1: Authentication succeeded (password).&lt;br /&gt;
debug1: channel 0: new [client-session]&lt;br /&gt;
debug1: Requesting no-more-sessions@openssh.com&lt;br /&gt;
debug1: Entering interactive session.&lt;br /&gt;
debug1: Sending environment.&lt;br /&gt;
debug1: Sending env LANG = en_US.utf8&lt;br /&gt;
Linux debian5 2.6.9-023stab048.6-smp #1 SMP Mon Nov 17 18:41:14 MSK 2008 x86_64&lt;br /&gt;
&lt;br /&gt;
The programs included with the Debian GNU/Linux system are free software;&lt;br /&gt;
the exact distribution terms for each program are described in the&lt;br /&gt;
individual files in /usr/share/doc/*/copyright.&lt;br /&gt;
&lt;br /&gt;
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&lt;br /&gt;
permitted by applicable law.&lt;br /&gt;
Last login: Wed Jun 17 13:20:19 2009 from 192.168.1.52&lt;br /&gt;
debian5:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
On the target system, either add the IP address of the computer from which the connection is being established to /etc/hosts, or make sure that the DNS configuration on the target system is working properly.&lt;br /&gt;
&lt;br /&gt;
===Enter IP in /etc/hosts===&lt;br /&gt;
The IP can be, for example, entered in /etc/hosts as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@debian5:/# echo &amp;quot;192.168.1.52 laptop&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
root@debian5:/# cat /etc/hosts&lt;br /&gt;
127.0.0.1  debian5 localhost localhost.localdomain&lt;br /&gt;
&lt;br /&gt;
::1     localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0 ip6-localnet&lt;br /&gt;
ff00::0 ip6-mcastprefix&lt;br /&gt;
ff02::1 ip6-allnodes&lt;br /&gt;
ff02::2 ip6-allrouters&lt;br /&gt;
ff02::3 ip6-allhosts&lt;br /&gt;
192.168.1.52 laptop&lt;br /&gt;
root@debian5:/# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Verify DNS configuration===&lt;br /&gt;
In the example, an incorrect DNS server was configured on the Debian 5 target system. The configuration was corected as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@debian5:/# cat /etc/resolv.conf &lt;br /&gt;
nameserver 10.10.18.1&lt;br /&gt;
root@debian5:/# echo &amp;quot;nameserver 192.168.1.254&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
root@debian5:/# cat /etc/resolv.conf &lt;br /&gt;
nameserver 192.168.1.254&lt;br /&gt;
root@debian5:/# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More information==&lt;br /&gt;
* [http://www.macosxhints.com/article.php?story=20050329185832952 macosxhints.com: A possible fix for slow SSH connections ]&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:SSH]]&lt;br /&gt;
[[pl:Logowanie przez ssh powolne przez DNS Timeout]]&lt;br /&gt;
[[de:SSH Login langsam durch DNS Timeout]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/OpenSSH_configuration</id>
		<title>OpenSSH configuration</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/OpenSSH_configuration"/>
		<updated>2026-06-10T06:30:22Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;The following configuration describes advanced OpenSSH configurations that can be expaned as needed. If you have more interesting contents, kindly send us a message.  An overview of all server-side SSH configuration options can be found in the manpage of sshd_config.  man sshd_config  === Conditional configuration with &amp;quot;Match&amp;quot; === &amp;quot;Match&amp;quot;, the configuration option, allows a global configuration (for example in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt;) to ove...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following configuration describes advanced OpenSSH configurations that can be expaned as needed. If you have more interesting contents, kindly send us a [[Special:contact|message]].&lt;br /&gt;
&lt;br /&gt;
An overview of all server-side SSH configuration options can be found in the manpage of sshd_config.&lt;br /&gt;
 man sshd_config&lt;br /&gt;
&lt;br /&gt;
=== Conditional configuration with &amp;quot;Match&amp;quot; ===&lt;br /&gt;
&amp;quot;Match&amp;quot;, the configuration option, allows a global configuration (for example in &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt;) to overwrite one that is conditional. The following conditions are possible:&lt;br /&gt;
* User&lt;br /&gt;
* Group&lt;br /&gt;
* Host&lt;br /&gt;
* Address[&lt;br /&gt;
&lt;br /&gt;
Here is an example for a configuration in /etc/ssh/sshd_config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Match User admin&lt;br /&gt;
        PasswordAuthentication yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, the password authentication is deactivated globally. However, it was subsequently enabled for the &amp;quot;admin&amp;quot; user using a MATCH statement.&lt;br /&gt;
&lt;br /&gt;
In general, &amp;quot;Match&amp;quot; is only for one option allowed:&lt;br /&gt;
&lt;br /&gt;
AllowAgentForwarding, AllowTcpForwarding, Banner, ChrootDirectory, ForceCommand, GatewayPorts, GSSAPIAuthentication, HostbasedAuthentication, KbdInteractiveAuthentication, KerberosAuthentication, MaxAuthTries, MaxSessions, PasswordAuthentication, PermitEmptyPasswords, PermitOpen, PermitRootLogin, PubkeyAuthentication, RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset, X11Forwarding und X11UseLocalHost&lt;br /&gt;
&lt;br /&gt;
=== VPN with OpenSSH ===&lt;br /&gt;
OpenSSH offers from version 4.3 the opportunity to set up a VPN tunnel. This creates a tun device on both the local and remote sides. As soon as it has been configured, the VPN can be used.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;uml-utilities&amp;quot; package must be installed in advance on Ubuntu/Debian. This comes with the &amp;#039;&amp;#039;&amp;#039;tunctl&amp;#039;&amp;#039;&amp;#039; binary.&lt;br /&gt;
&lt;br /&gt;
The SSH sever configuration &amp;#039;&amp;#039;&amp;#039;sshd_config&amp;#039;&amp;#039;&amp;#039; must be expanded by the following options:&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
 PermitTunnel yes&lt;br /&gt;
&lt;br /&gt;
A tunnel can be set up with the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;-w&amp;quot;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
 ssh -w 0:0 1.2.3.4&lt;br /&gt;
&lt;br /&gt;
After this, a &amp;quot;tun0&amp;quot; interface should be visible on both sides. An IP address must then be assigned to it.&lt;br /&gt;
&lt;br /&gt;
You may need to enable IP forwarding.&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
For long-term VPN use, we recommend the use of [[OpenVPN with Pre-shared Key|OpenVPN]], which is much easier to configure and automate.&lt;br /&gt;
&lt;br /&gt;
More information can be found here: https://help.ubuntu.com/community/SSH_VPN&lt;br /&gt;
&lt;br /&gt;
{{Cmitasch}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:SSH]]&lt;br /&gt;
[[de:OpenSSH Konfiguration]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Samba-server_basics</id>
		<title>Samba-server basics</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Samba-server_basics"/>
		<updated>2026-06-09T11:35:50Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;Samba-Server&amp;#039;&amp;#039;&amp;#039; helps with the integration of &amp;#039;&amp;#039;&amp;#039;Windows- and Unix/Linux computers&amp;#039;&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;[http://www.oreilly.de/german/freebooks/samba2ger/ch01.html#936841 Samba, 2. Auflage] www.oreilly.de&amp;lt;/ref&amp;gt; &amp;#039;&amp;#039;&amp;#039;Files&amp;#039;&amp;#039;&amp;#039; can be, for example, exchanged or &amp;#039;&amp;#039;&amp;#039;printers&amp;#039;&amp;#039;&amp;#039; can be shared. The name Samba comes from the SMB protocol (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Server Message Block&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;), which is used for network-based data exchange on Windows. These days, people are increasingly referring to the &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &amp;#039;&amp;#039;&amp;#039;Samba-Server&amp;#039;&amp;#039;&amp;#039; helps with the integration of &amp;#039;&amp;#039;&amp;#039;Windows- and Unix/Linux computers&amp;#039;&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;[http://www.oreilly.de/german/freebooks/samba2ger/ch01.html#936841 Samba, 2. Auflage] www.oreilly.de&amp;lt;/ref&amp;gt; &amp;#039;&amp;#039;&amp;#039;Files&amp;#039;&amp;#039;&amp;#039; can be, for example, exchanged or &amp;#039;&amp;#039;&amp;#039;printers&amp;#039;&amp;#039;&amp;#039; can be shared. The name Samba comes from the SMB protocol (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Server Message Block&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;), which is used for network-based data exchange on Windows. These days, people are increasingly referring to the &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Common Internet File System&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot; (CIFS) instead of SMB. CIFS is a further development of SMB and was developed by Microsoft.&amp;lt;ref&amp;gt;[http://msdn.microsoft.com/en-us/library/aa365233%28v=vs.85%29.aspx SMB and CIFS overview] (msdn.microsoft.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A free online book by O&amp;#039;Reilly provides detailed information about Samba/CIFS in German. It is available at [http://www.oreilly.de/german/freebooks/samba2ger/ Oreilly Samba 2nd edition]. Furthermore, the Samba community provides a detailed documentation about Samba: [https://help.ubuntu.com/community/Samba Samba Community]. This article presents the basics of working with a Samba server that is set up on &amp;#039;&amp;#039;&amp;#039;Ubuntu 10.04 LTS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Server ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The Samba package &amp;lt;ref&amp;gt;[http://packages.ubuntu.com/lucid/samba Samba Package] (packages.ubuntu.com)&amp;lt;/ref&amp;gt; is installed on the server so that a file and print server can be set up. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install samba&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
The central configuration file is located at&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/samba/smb.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The corresponding man page provides a range of information on how to configure the Samba server using this file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
man smb.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The file is divided into several parts. The global section ([global]) includes basic settings that may be followed by other sections on the release of resources.&lt;br /&gt;
&lt;br /&gt;
As the first step in the configuration, comment out the following line in the &amp;quot;Authentication&amp;quot; section:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;quot;security = user&amp;quot; is always a good idea. This will require a Unix account&lt;br /&gt;
# in this server for every user accessing the server. See&lt;br /&gt;
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html&lt;br /&gt;
# in the samba-doc package for details.&lt;br /&gt;
   security = user&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Due to these security measures, an existing user account on the server is required to access the Samba shares.&amp;lt;ref&amp;gt;[https://help.ubuntu.com/10.04/serverguide/C/samba-fileprint-security.html Samba Security] (help.ubuntu.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Network interfaces ====&lt;br /&gt;
If your server possesses multiple network interfaces, it may be that the smb-server is connected to the wrong interface. To do this, the line &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interfaces = 192.168.1.1/24&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
can be added to the &amp;quot;[global]&amp;quot; area of smb.conf. In this example, the SMB server listens on the address range in the 192.168.1.1/24 network.&amp;lt;ref&amp;gt;http://tldp.org/HOWTO/SMB-HOWTO-6.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add smb password ====&lt;br /&gt;
The following command creates a smb-password for the existing user &amp;quot;smbuser&amp;quot;. It is important that this step is performed for an existing user, as every smb-user needs a valid account on the server. The password you set can be used later to access the SMB share:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo smbpasswd -a smbuser&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
As the smb-password does not have to comply with the password of the actual account, it can definitely time-consuming to administrate different passwords. On Ubuntu, the &amp;quot;libpam-smbpass&amp;quot; package exists, which can be used to keep Linux and smb passwords synchronized. &lt;br /&gt;
&lt;br /&gt;
So that the changes are effective, the server must reload the configuration:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo service smbd reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Zuvor können die modifizierten Einstellungen auch auf ihre Korrektheit geprüft werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
testparm /etc/samba/smb.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add a resource ===&lt;br /&gt;
In the following configuration example, the home directories of the smb-users are released. In the first step, a new resource is added to the &amp;quot;smb.conf&amp;quot; file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/samba/smb.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The following paragraph is commented out:  &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Un-comment the following (and tweak the other settings below to suit)&lt;br /&gt;
# to enable the default home directory shares.  This will share each&lt;br /&gt;
# user&amp;#039;s home directory as \\server\username&lt;br /&gt;
[homes]&lt;br /&gt;
   comment = Home Directories&lt;br /&gt;
   browseable = yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Now, the home-directories are available for all users, which means that the users can access each other´s directories (provided, of course, that an SMB password has been set and the user therefore has access to the SMB server). The parameter &amp;quot;browseable&amp;quot; allows Windows users to browse the Samba share using Windows Explorer.&lt;br /&gt;
To be more restrictive with home directories, the following line can be commented out:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# By default, \\server\username shares can be connected to by anyone&lt;br /&gt;
# with access to the samba server.  Un-comment the following parameter&lt;br /&gt;
# to make sure that only &amp;quot;username&amp;quot; can connect to \\server\username&lt;br /&gt;
# This might need tweaking when using external authentication schemes&lt;br /&gt;
   valid users = %S&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Then, for example, the user &amp;quot;tktest&amp;quot; will no longer be able to access the home directory of &amp;quot;smbuser&amp;quot; (from clients perspective):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo mount -t smbfs //192.168.56.101/smbuser /media/ -o username=tktest&lt;br /&gt;
Password: &lt;br /&gt;
mount error(13): Permission denied&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Further security measures are presented, for example, on  [https://help.ubuntu.com/10.04/serverguide/C/samba-fileprint-security.html Samba Security] (help.ubuntu.com) or [http://samba.org/samba/docs/man/Samba-HOWTO-Collection/securing-samba.html Securing samba] (samba.org).&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The following package is required for the access on the smb-server on the client:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install smbfs smbclient&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
With the smbclient, an initial connection test can be started:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
smbclient -U smbuser -L 192.168.56.101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mounting of smb share === &lt;br /&gt;
With the mount command, the smb directory can be integrated locally:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo mount -t cifs //192.168.56.101/smbuser /media/ -o username=smbuser&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
After this command, the smb-directory will be accessible at &amp;quot;/media/&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Ubuntu]]&lt;br /&gt;
[[de:Samba-Server Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Supermicro_BMC_Security_Advisories_June_2026</id>
		<title>Supermicro BMC Security Advisories June 2026</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Supermicro_BMC_Security_Advisories_June_2026"/>
		<updated>2026-06-09T05:30:51Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;In &amp;#039;&amp;#039;&amp;#039;June 2026&amp;#039;&amp;#039;&amp;#039;, Supermicro published security advisories for the BMC-firmware of its mainboards. This security vulnerability requires a &amp;#039;&amp;#039;&amp;#039;firmware update&amp;#039;&amp;#039;&amp;#039;.   In this article, you will find information on this security advisory and where to find updates on Thomas-Krenn products.  == Security advisories == {| class=&amp;quot;wikitable&amp;quot; |- style=&amp;quot;background-color: #EFEFEF; font-weight: bold;&amp;quot; ! align=&amp;quot;center&amp;quot; |CVE ! align=&amp;quot;center&amp;quot; |Risk potential: ! align=&amp;quot;center&amp;quot; |Title  |-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In &amp;#039;&amp;#039;&amp;#039;June 2026&amp;#039;&amp;#039;&amp;#039;, Supermicro published security advisories for the BMC-firmware of its mainboards. This security vulnerability requires a &amp;#039;&amp;#039;&amp;#039;firmware update&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
In this article, you will find information on this security advisory and where to find updates on Thomas-Krenn products.&lt;br /&gt;
&lt;br /&gt;
== Security advisories ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color: #EFEFEF; font-weight: bold;&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |CVE&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |Title &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | [https://www.cve.org/CVERecord?id=CVE-2026-3820 CVE-2026-3820]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7.2 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;#039;&amp;#039;&amp;#039;&amp;lt;u&amp;gt;Command-Injection&amp;lt;/u&amp;gt;&amp;#039;&amp;#039;&amp;#039; (The security vulnerability allows an attacker to get administrator rights and to manipulate the SMTP service configuration. This could cause the system to execute unintended commands when calling processes)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Updates for Thomas-Krenn products ==&lt;br /&gt;
Updates on the corresponding system can be found in the &amp;lt;tklink type=&amp;quot;sitex&amp;quot; id=&amp;quot;440&amp;quot;&amp;gt;download area of Thomas-Krenn&amp;lt;/tklink&amp;gt;.&lt;br /&gt;
The updates in the download are have been tested by us to guarantee the stability and compatibility of our systems.&lt;br /&gt;
&lt;br /&gt;
If you require the latest version for your system and it is not yet available in our download area, you will find it at [https://www.asus.com/de/support/download-center/ Asus] or [https://www.supermicro.com/en/support/resources/downloadcenter/swdownload Supermicro].&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [https://www.supermicro.com/en/support/security_BMC_IPMI_Jun_2026 Vulnerabilities in Supermicro BMC firmware, June 2026]&lt;br /&gt;
{{Thomas-Krenn.AG}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category: Server Hardware]]&lt;br /&gt;
[[de:Supermicro BMC Sicherheitshinweise Juni 2026]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Samba_Sharing_with_Authentication</id>
		<title>Samba Sharing with Authentication</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Samba_Sharing_with_Authentication"/>
		<updated>2026-06-08T13:06:35Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;As a supplement to a basic Samba share, this article shows you how to set up a username- and password-based Samba share using a Debian 8-based system. Ubuntu 16.04 as well as Windows 10 is used as client software to test the connection. Information on the fundamental and unrestricted release can be found in the article Simple Samba Shares in Debian.  == Installation and configuration on Debian server == The following paragraphs show the required configuration...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As a supplement to a basic Samba share, this article shows you how to set up a username- and password-based Samba share using a [[Debian]] 8-based system. [[Ubuntu]] 16.04 as well as Windows 10 is used as client software to test the connection. Information on the fundamental and unrestricted release can be found in the article [[Simple Samba Shares in Debian]].&lt;br /&gt;
&lt;br /&gt;
== Installation and configuration on Debian server ==&lt;br /&gt;
The following paragraphs show the required configuration steps on a Debian server to set up the Samba server. The shared folder can then be mounted using a Linux-based or Windows-based client. &lt;br /&gt;
&lt;br /&gt;
=== Installation of the Samba service ===&lt;br /&gt;
The [[Simple Samba Sharing on Debian#Installation of Samba service|Installation of Samba service]] and the basic [[Einfache Samba Freigabe unter Debian#Konfiguration|configuration]] is done in the same way as for the article [[Simple Samba Shares in Debian]].&lt;br /&gt;
&lt;br /&gt;
=== User-restricted configuration ===&lt;br /&gt;
This configuration example shows how to do a &amp;#039;&amp;#039;&amp;#039;SMB-Share with authentication&amp;#039;&amp;#039;&amp;#039;. To do this, a user named &amp;quot;smbuser&amp;quot; is created on the Debian system, and a &amp;#039;&amp;#039;restricted&amp;#039;&amp;#039; share entry is added to the &amp;#039;&amp;#039;smb.conf&amp;#039;&amp;#039; configuration file.&lt;br /&gt;
&lt;br /&gt;
# Create SMB-user&lt;br /&gt;
#:&amp;lt;pre&amp;gt;$ sudo useradd -s /bin/false smbuser&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Set password &lt;br /&gt;
#:&amp;lt;pre&amp;gt;$ sudo smbpasswd -a smbuser&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Entry in the &amp;#039;&amp;#039;smb.conf&amp;#039;&amp;#039; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
workgroup = smb&lt;br /&gt;
security = user&lt;br /&gt;
map to guest = never&lt;br /&gt;
&lt;br /&gt;
[homes]&lt;br /&gt;
comment = Home Directories&lt;br /&gt;
browsable = no&lt;br /&gt;
read only = no&lt;br /&gt;
create mode = 0750&lt;br /&gt;
&lt;br /&gt;
[restricted]&lt;br /&gt;
valid users = smbuser&lt;br /&gt;
#We restrict the acces on the &amp;#039;&amp;#039;smbuser&amp;#039;&amp;#039; user&lt;br /&gt;
#valid users = @smbusers&lt;br /&gt;
#Alternatively, it can also be restricted to one user group. &lt;br /&gt;
path = /media/storage2/&lt;br /&gt;
public = no&lt;br /&gt;
writable = yes&lt;br /&gt;
comment = smb restricted share&lt;br /&gt;
printable = no&lt;br /&gt;
guest ok = no&lt;br /&gt;
create mask = 0600&lt;br /&gt;
directory mask = 0700&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This configuration uses the example mountpoint &amp;#039;&amp;#039;/media/storage2&amp;#039;&amp;#039;.&lt;br /&gt;
To restrict access to the shared folder as much as possible, this &amp;#039;&amp;#039;/media/storage2&amp;#039;&amp;#039; mountpoint is assigned to the &amp;#039;&amp;#039;smbuser&amp;#039;&amp;#039; user and equipped with the directory rights 700 so that this user (and root) receives reading and writing rights.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;pre&amp;gt;$sudo chown -R smbuser:smbuser /media/storage2&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;pre&amp;gt;$sudo chmod 700 /media/storage2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart Samba ===&lt;br /&gt;
To apply the configuration, you have to restart the Samba service. This is made on Debian 8 with &amp;#039;&amp;#039;systemd&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;pre&amp;gt;$ sudo systemctl restart smbd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mounting of release ==&lt;br /&gt;
After the Samba server has been configured and restarted completely, the created share can now be used by clients. This is explained in the following sections using an Ubuntu 16.04 and a Windows 10 client.&lt;br /&gt;
&lt;br /&gt;
=== On a Linux-based client ===&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;cifs-utils&amp;#039;&amp;#039;&amp;#039; package is used in all current Linux-based distributions. Up to and including [[Ubuntu]] 12.04, the old &amp;#039;&amp;#039;&amp;#039;smbfs&amp;#039;&amp;#039;&amp;#039; package could be used.&amp;lt;ref&amp;gt;[https://wiki.ubuntuusers.de/Samba_Client_cifs/ Samba Client cifs] (wiki.ubuntuusers.de)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;pre&amp;gt;$ apt-get install cifs-utils&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Samba user &amp;#039;&amp;#039;smbuser&amp;#039;&amp;#039;, as configured on the Debian system, is used, and you will be prompted for the password.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mount -t cifs //&amp;lt;IP-des-Samba-Servers&amp;gt;/restricted /media/tniedermeier/test -o user=smbuser&lt;br /&gt;
Password for smbuser@//&amp;lt;IP-des-Samba-Servers&amp;gt;/restricted:  ********&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further information on mounted releases can be received using the &amp;quot;mount&amp;quot; command in the terminal.&lt;br /&gt;
&lt;br /&gt;
=== On a Windows 10 client === &lt;br /&gt;
The share can be connected to a Windows 10 client as explained in the following section. There are multiple opportunities to establish a connection. &lt;br /&gt;
&lt;br /&gt;
You can connect to the network drive using the following command in the command prompt:&amp;lt;ref&amp;gt;[https://technet.microsoft.com/en-us/en-en/library/gg651155(v=ws.11).aspx Net use] (technet.microsoft.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;C:\Users\tniedermeier&amp;gt;net use &amp;lt;Laufwerksbuchstabe&amp;gt;: \\&amp;lt;IP-des-Samba-Servers&amp;gt;\restricted /user:smbuser &amp;lt;Passwort&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also connect the network drive using file explorer, as explained in the following steps:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:samba-windows10-authentifizierung-001.png|&amp;#039;&amp;#039;&amp;#039;Step 1:&amp;#039;&amp;#039;&amp;#039; Click right on &amp;quot;Network&amp;quot; in the left-hand menu of the file explorer, then click left on the context menu option &amp;quot;Map network drive&amp;quot;.&lt;br /&gt;
File:samba-windows10-authentifizierung-002.png|&amp;#039;&amp;#039;&amp;#039;Step 2:&amp;#039;&amp;#039;&amp;#039; Select an available drive letter and type the path to the shared folder in the &amp;quot;Folder&amp;quot; field, for example &amp;#039;&amp;#039;\\&amp;lt;IP-des-Samba-Servers&amp;gt;\restricted&amp;#039;&amp;#039;. After this, click on &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
File:samba-windows10-authentifizierung-003.png|The network drive has been started successfully. Its content is now displayed in the explorer. &lt;br /&gt;
File:samba-windows10-authentifizierung-004.png|The new connected network drive &amp;#039;&amp;#039;restricted&amp;#039;&amp;#039; is now displayed in the left hand menu of the explorer.  &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to access the release without assigning a drive letter to it, you can also simply type the network path directly into the address bar in the explorer:&lt;br /&gt;
: &amp;lt;code&amp;gt;\\&amp;lt;IP-des-Samba-Servers&amp;gt;\restricted&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tniedermeier}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[de:Samba Freigabe mit Authentifizierung]]&lt;br /&gt;
[[pl:Udostępnienie w Sambie z uwierzytelnieniem]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Secure_SSH_login_on_Debian_with_fail2ban</id>
		<title>Secure SSH login on Debian with fail2ban</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Secure_SSH_login_on_Debian_with_fail2ban"/>
		<updated>2026-06-05T08:26:17Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;fail2ban&amp;#039;&amp;#039;&amp;#039;, which is a tool written in Python, pursues the target to secure server services against DoS attacks. It verifies log files according to predefined patterns and temporarily blocks the relevant IP addresses if access attempts fail repeatedly. This article explains how to secure a Debian based server with fail2ban. The used version from fail2ban is &amp;#039;&amp;#039;&amp;#039;1.0.2-2&amp;#039;&amp;#039;&amp;#039; on &amp;#039;&amp;#039;&amp;#039;Debian 12&amp;#039;&amp;#039;&amp;#039;.  ==Problem== When executing the command &amp;quot;journalctl -u ssh&amp;quot;, multiple failed...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;fail2ban&amp;#039;&amp;#039;&amp;#039;, which is a tool written in Python, pursues the target to secure server services against DoS attacks. It verifies log files according to predefined patterns and temporarily blocks the relevant IP addresses if access attempts fail repeatedly. This article explains how to secure a Debian based server with fail2ban. The used version from fail2ban is &amp;#039;&amp;#039;&amp;#039;1.0.2-2&amp;#039;&amp;#039;&amp;#039; on &amp;#039;&amp;#039;&amp;#039;Debian 12&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Problem==&lt;br /&gt;
When executing the command &amp;quot;journalctl -u ssh&amp;quot;, multiple failed login attempts appear with the protocol SSH that were not written by you.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Feb 19 09:21:15 servername sshd[22796]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.207.xx.xx  user=root&lt;br /&gt;
Feb 19 09:21:17 servername sshd[22796]: Failed password for root from 218.207.xx.xx port 22 ssh2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
* The removed user (accidentally) used the wrong server IP and accidentally tried to log in to your server. The number of login attempts is usually low here.&lt;br /&gt;
* You are the victim of a Brute Force attack, which automatically attempts to log in using the root user and various passwords (for example from so-called dictionary files). The number of login attempts is noticeably high here.&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Secure your SSH login with the fail2ban tool, [[Prohibit SSH root login on Debian]] or only login with [[SSH public key authentication under Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
==What is fail2ban==&lt;br /&gt;
fail2ban is a tool written in Python that secures different server services against unauthorized access.&lt;br /&gt;
In the configuration example below, an IP address is blocked for one hour after 4 failed login attempts for SSH have occurred.&lt;br /&gt;
==Installation of fail2ban== &lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install fail2ban&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Configuration of fail2ban==&lt;br /&gt;
In the &amp;#039;&amp;#039;/etc/fail2ban/&amp;#039;&amp;#039; folder, you will find the global configuration file &amp;#039;&amp;#039;jail.conf&amp;#039;&amp;#039;. However, this file cannot be edited, since it is overwritten every time the package is updated. The own configuration can be made in the &lt;br /&gt;
&amp;quot;jail.local&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# To avoid merges during upgrades DO NOT MODIFY THIS FILE&lt;br /&gt;
# and rather provide your changes in /etc/fail2ban/jail.local&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierzu kopieren Sie die &amp;quot;jail.conf&amp;quot; nach &amp;quot;jail.local&amp;quot;.&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify the settings on your local IP address of your server. The duration for which an IP address should be blocked is increased to an hour in our example and the number of blocks to be created is reduced to 3. Similarly, the Banaction must be changed from &amp;quot;iptables&amp;quot; to &amp;quot;nftables&amp;quot; when configuring. This configuration must be made in the following section of the &amp;#039;&amp;#039;jail.local&amp;#039;&amp;#039; file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# MISCELLANEOUS OPTIONS&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;ignoreip&amp;quot; can be an IP address, a CIDR mask or a DNS host. Fail2ban will not&lt;br /&gt;
# ban a host which matches an address in this list. Several addresses can be&lt;br /&gt;
# defined using space (and/or comma) separator.&lt;br /&gt;
ignoreip = 127.0.0.1/8&lt;br /&gt;
&lt;br /&gt;
# External command that will take an tagged arguments to ignore, e.g. &amp;lt;ip&amp;gt;,&lt;br /&gt;
# and return true if the IP is to be ignored. False otherwise.&lt;br /&gt;
#&lt;br /&gt;
# ignorecommand = /path/to/command &amp;lt;ip&amp;gt;&lt;br /&gt;
ignorecommand =&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;bantime&amp;quot; is the number of seconds that a host is banned.&lt;br /&gt;
bantime  = 3600&lt;br /&gt;
&lt;br /&gt;
# A host is banned if it has generated &amp;quot;maxretry&amp;quot; during the last &amp;quot;findtime&amp;quot;&lt;br /&gt;
# seconds.&lt;br /&gt;
findtime  = 600&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;maxretry&amp;quot; is the number of failures before a host get banned.&lt;br /&gt;
maxretry = 3&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
banaction = nftables-multiport&lt;br /&gt;
banaction_allports = nftables-allports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can adjust the parameters for individual services (as here in the SSH daemon article) separately.&lt;br /&gt;
&lt;br /&gt;
Now, in the section for the SSH daemon in your own &amp;#039;&amp;#039;jail.local&amp;#039;&amp;#039; configuration file (which you copied earlier), add the necessary parameters to monitor it via fail2ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
#&lt;br /&gt;
# SSH servers&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
[sshd]&lt;br /&gt;
&lt;br /&gt;
enabled	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
# filter	= sshd&lt;br /&gt;
logpath	= %(sshd_log)s&lt;br /&gt;
backend = systemd&lt;br /&gt;
maxretry = 4&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, restart fail2ban so that the changes are applied.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl restart fail2ban.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Thomas-Krenn.AG}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[Category:SSH]]&lt;br /&gt;
[[pl:Zabezpieczenie loginu SSH w Debianie z fail2ban]]&lt;br /&gt;
[[de:SSH Login unter Debian mit fail2ban absichern]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Prohibit_SSH_root_login_on_Debian</id>
		<title>Prohibit SSH root login on Debian</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Prohibit_SSH_root_login_on_Debian"/>
		<updated>2026-06-05T05:25:36Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: /* Further securing of the SSH server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to prohibit the direct SSH root login on Debian, you will need at least one additional user to the root user, who is authorized to log in to the server. With this user, you can switch to the root account. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ATTENTION:&amp;#039;&amp;#039;&amp;#039; If you did not create any other users, you will log yourself out of the system!&lt;br /&gt;
&lt;br /&gt;
== PermitRootLogin no ==&lt;br /&gt;
&lt;br /&gt;
Edit the /etc/ssh/sshd_config file and set &lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
on &lt;br /&gt;
 PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
After this, restart the SSH service&lt;br /&gt;
 /etc/init.d/ssh restart (alternatively: service ssh restart)&lt;br /&gt;
&lt;br /&gt;
Now, the root user is not allowed to log into the system directly. You have to log in as usual with a user account and then switch with&lt;br /&gt;
 su&lt;br /&gt;
&lt;br /&gt;
to the root account.&lt;br /&gt;
&lt;br /&gt;
== AllowGroups ==&lt;br /&gt;
&lt;br /&gt;
You can also use the AllowGroups parameter to restrict which users are allowed to log in via SSH.&lt;br /&gt;
&lt;br /&gt;
Excerpt from the &amp;lt;code&amp;gt;man sshd_config&amp;lt;/code&amp;gt;:&lt;br /&gt;
:&amp;lt;cite&amp;gt;AllowGroups&amp;lt;/cite&amp;gt;&lt;br /&gt;
::&amp;lt;cite&amp;gt;This keyword can be followed by a list of group name patterns, separated by spaces. If specified, login is allowed only for users whose primary group or supplementary group list matches one of the patterns. Only group names are valid; a numerical group ID is not recognized. By default, login is allowed for all groups. The allow/deny directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To create a group named sshusers and add a user to that group, execute the following commands as the root user:&lt;br /&gt;
 addgroup --system sshusers&lt;br /&gt;
 adduser xyz sshusers&lt;br /&gt;
&lt;br /&gt;
After this, configure the following options in /etc/ssh/sshd_config:&lt;br /&gt;
 LoginGraceTime 30&lt;br /&gt;
 AllowGroups sshusers&lt;br /&gt;
 PermitRootLogin no&lt;br /&gt;
 StrictModes yes&lt;br /&gt;
&lt;br /&gt;
Then restart the SSH service&lt;br /&gt;
 /etc/init.d/ssh restart&lt;br /&gt;
&lt;br /&gt;
== Further securing of the SSH server ==&lt;br /&gt;
More information on securing a SSH server can be found in the following articles:&lt;br /&gt;
* [[Securing SSH Login on Debian with fail2ban]]&lt;br /&gt;
* [[SSH Key Login]]&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]][[Category:Linux]]&lt;br /&gt;
[[de:SSH Root Login unter Debian verbieten]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Raspi-firmware:_missing_/boot/firmware,_did_you_forget_to_mount_it</id>
		<title>Raspi-firmware: missing /boot/firmware, did you forget to mount it</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Raspi-firmware:_missing_/boot/firmware,_did_you_forget_to_mount_it"/>
		<updated>2026-06-03T12:41:35Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When installing [[Debian]] 12.0 using the live image, the raspi-firmware package will be also installed. However, this is not required on x86 systems and should therefore be deinstalled. If raspi-firmware is present, however, it causes the following error when installing a kernel update: &amp;#039;&amp;#039;&amp;#039;raspi-firmware: missing /boot/firmware, did you forget to mount it?&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
Debian 12.0 was installed via live image. When attempting to install updates using &amp;#039;&amp;#039;&amp;#039;sudo apt dist-upgrade&amp;#039;&amp;#039;&amp;#039;, the following error occurs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/kernel/postinst.d/initramfs-tools:&lt;br /&gt;
update-initramfs: Generating /boot/initrd.img-6.1.0-10-amd64&lt;br /&gt;
raspi-firmware: missing /boot/firmware, did you forget to mount it?&lt;br /&gt;
run-parts: /etc/initramfs/post-update.d//z50-raspi-firmware exited with return code 1&lt;br /&gt;
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1&lt;br /&gt;
dpkg: error processing package linux-image-6.1.0-10-amd64 (--configure):&lt;br /&gt;
 installed linux-image-6.1.0-10-amd64 package post-installation script subprocess returned error exit status 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is no longer possible to deinstall raspi-firmware without first performing some preparatory steps. The deinstallation will fail otherwise.&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
First, the new kernel must be deinstalled. Remove raspi-firmware and reinstall linux-image-amd64. After this, updates are possible without problems:&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;sudo apt purge linux-image-6.1.0-10-amd64&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#: This will remove two packages: &amp;#039;&amp;#039;The following packages will be REMOVED: linux-image-6.1.0-10-amd64* linux-image-amd64*&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;sudo apt purge raspi-firmware&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;sudo apt install linux-image-amd64&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#: This will reinstall both packages due to their dependencies: &amp;#039;&amp;#039;The following NEW packages will be installed: linux-image-6.1.0-10-amd64 linux-image-amd64&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [https://forums.debian.net/viewtopic.php?t=154857 Errors while updating system or install new packages Debian 12 (Solved sort of)] (forums.debian.net, 12.06.2023)&lt;br /&gt;
* [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035382 Bookworm amd64 live install ISO RC1 and RC2 install pointless raspi-firmware package] (bugs.debian.org)&lt;br /&gt;
* [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035783 raspi-firmware: unowned files after purge (policy 6.8, 10.8): /boot/firmware/fixup*.dat, /boot/firmware/start*.elf, /boot/firmware/bootcode.bin] (bugs.debian.org)&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[de:Raspi-firmware: missing /boot/firmware, did you forget to mount it]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Setup_Postfix_in_Debian</id>
		<title>Setup Postfix in Debian</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Setup_Postfix_in_Debian"/>
		<updated>2026-05-29T06:24:32Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Postfix&amp;#039;&amp;#039;&amp;#039; is a widely used mail server, or more specifically, an MTA ([http://de.wikipedia.org/wiki/Mail_Transfer_Agent Mail Transfer Agent]). In this article, we describe how to install Postfix on Debian Lenny 5.0. In this example, we use a test server (lists.wefi.net). Replace this name with the name of your server.   == Install package == The Postfix installation must be started on the command line as follows:  apt-get install postfix  Debian provides a note that...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Postfix&amp;#039;&amp;#039;&amp;#039; is a widely used mail server, or more specifically, an MTA ([http://de.wikipedia.org/wiki/Mail_Transfer_Agent Mail Transfer Agent]). In this article, we describe how to install Postfix on Debian Lenny 5.0. In this example, we use a test server (lists.wefi.net). Replace this name with the name of your server. &lt;br /&gt;
&lt;br /&gt;
== Install package ==&lt;br /&gt;
The Postfix installation must be started on the command line as follows:&lt;br /&gt;
 apt-get install postfix&lt;br /&gt;
&lt;br /&gt;
Debian provides a note that Exim is removed and questions if you want to continue with the installation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lists:~# apt-get install postfix&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree       &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
Suggested packages:&lt;br /&gt;
  procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre sasl2-bin libsasl2-modules&lt;br /&gt;
  resolvconf postfix-cdb ufw&lt;br /&gt;
The following packages will be REMOVED:&lt;br /&gt;
  exim4 exim4-base exim4-config exim4-daemon-light&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
  postfix&lt;br /&gt;
0 upgraded, 1 newly installed, 4 to remove and 0 not upgraded.&lt;br /&gt;
Need to get 1224kB of archives.&lt;br /&gt;
After this operation, 1008kB disk space will be freed.&lt;br /&gt;
Do you want to continue [Y/n]? y&lt;br /&gt;
Get:1 http://http.at.debian.org lenny/main postfix 2.5.5-1.1 [1224kB]&lt;br /&gt;
Fetched 1224kB in 0s (6060kB/s)&lt;br /&gt;
Preconfiguring packages ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Package configuration ===&lt;br /&gt;
[[file:Postfix-Installation-unter-Debian-Lenny-01-tpye-of-mail-configuration.png|right|thumb|300px|Postfix Configuration: General type of mail configuration]]&lt;br /&gt;
In the first configuration step, we select &amp;#039;&amp;#039;&amp;#039;Internet Site&amp;#039;&amp;#039;&amp;#039; in this example. Select the corresponding entry depending on your individual requirements.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package configuration&lt;br /&gt;
         ┌───────────────────────────┤ Postfix Configuration ├───────────────────────────┐&lt;br /&gt;
         │ Please select the mail server configuration type that best meets your needs.  │ &lt;br /&gt;
         │                                                                               │ &lt;br /&gt;
         │  No configuration:                                                            │ &lt;br /&gt;
         │   Should be chosen to leave the current configuration unchanged.              │ &lt;br /&gt;
         │  Internet site:                                                               │ &lt;br /&gt;
         │   Mail is sent and received directly using SMTP.                              │ &lt;br /&gt;
         │  Internet with smarthost:                                                     │ &lt;br /&gt;
         │   Mail is received directly using SMTP or by running a utility such           │ &lt;br /&gt;
         │   as fetchmail. Outgoing mail is sent using a smarthost.                      │ &lt;br /&gt;
         │  Satellite system:                                                            │ &lt;br /&gt;
         │   All mail is sent to another machine, called a &amp;#039;smarthost&amp;#039;, for delivery.    │ &lt;br /&gt;
         │  Local only:                                                                  │ &lt;br /&gt;
         │   The only delivered mail is the mail for local users. There is no network.   │ &lt;br /&gt;
         │                                                                               │ &lt;br /&gt;
         │ General type of mail configuration:                                           │ &lt;br /&gt;
         │                                                                               │ &lt;br /&gt;
         │                            No configuration                                   │ &lt;br /&gt;
         │                            Internet Site                                      │ &lt;br /&gt;
         │                            Internet with smarthost                            │ &lt;br /&gt;
         │                            Satellite system                                   │ &lt;br /&gt;
         │                            Local only                                         │ &lt;br /&gt;
         │                                                                               │ &lt;br /&gt;
         │                                                                               │ &lt;br /&gt;
         │                     &amp;lt;Ok&amp;gt;                         &amp;lt;Cancel&amp;gt;                     │ &lt;br /&gt;
         │                                                                               │ &lt;br /&gt;
         └───────────────────────────────────────────────────────────────────────────────┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;                                                                                           &lt;br /&gt;
&lt;br /&gt;
[[file:Postfix-Installation-unter-Debian-Lenny-02-system-mail-name.png|right|thumb|300px|Postfix Configuration: System mail name]]&lt;br /&gt;
In the second step, we state the mail name of the server. Since the example involves a mailing list server, here lists.wefi.net (the mail address, for example, is then mailingliste@lists.wefi.net):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package configuration&lt;br /&gt;
&lt;br /&gt;
 ┌──────────────────────────────────┤ Postfix Configuration ├───────────────────────────────────┐&lt;br /&gt;
  │ The &amp;quot;mail name&amp;quot; is the domain name used to &amp;quot;qualify&amp;quot; _ALL_ mail addresses without a domain   │ &lt;br /&gt;
  │ name. This includes mail to and from &amp;lt;root&amp;gt;: please do not make your machine send out mail   │ &lt;br /&gt;
  │ from root@example.org unless root@example.org has told you to.                               │ &lt;br /&gt;
  │                                                                                              │ &lt;br /&gt;
  │ This name will also be used by other programs. It should be the single, fully qualified      │ &lt;br /&gt;
  │ domain name (FQDN).                                                                          │ &lt;br /&gt;
  │                                                                                              │ &lt;br /&gt;
  │ Thus, if a mail address on the local host is foo@example.org, the correct value for this     │ &lt;br /&gt;
  │ option would be example.org.                                                                 │ &lt;br /&gt;
  │                                                                                              │ &lt;br /&gt;
  │ System mail name:                                                                            │ &lt;br /&gt;
  │                                                                                              │ &lt;br /&gt;
  │ lists.wefi.net______________________________________________________________________________ │ &lt;br /&gt;
  │                                                                                              │ &lt;br /&gt;
  │                          &amp;lt;Ok&amp;gt;                              &amp;lt;Cancel&amp;gt;                          │ &lt;br /&gt;
  │                                                                                              │ &lt;br /&gt;
  └──────────────────────────────────────────────────────────────────────────────────────────────┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completion of installation === &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(Reading database ... 21540 files and directories currently installed.)&lt;br /&gt;
Removing exim4 ...&lt;br /&gt;
dpkg: exim4-config: dependency problems, but removing anyway as you request:&lt;br /&gt;
 exim4-base depends on exim4-config (&amp;gt;= 4.30) | exim4-config-2; however:&lt;br /&gt;
  Package exim4-config is to be removed.&lt;br /&gt;
  Package exim4-config-2 is not installed.&lt;br /&gt;
  Package exim4-config which provides exim4-config-2 is to be removed.&lt;br /&gt;
 exim4-base depends on exim4-config (&amp;gt;= 4.30) | exim4-config-2; however:&lt;br /&gt;
  Package exim4-config is to be removed.&lt;br /&gt;
  Package exim4-config-2 is not installed.&lt;br /&gt;
  Package exim4-config which provides exim4-config-2 is to be removed.&lt;br /&gt;
Removing exim4-config ...&lt;br /&gt;
dpkg: exim4-daemon-light: dependency problems, but removing anyway as you request:&lt;br /&gt;
 bsd-mailx depends on exim4 | mail-transport-agent; however:&lt;br /&gt;
  Package exim4 is not installed.&lt;br /&gt;
  Package mail-transport-agent is not installed.&lt;br /&gt;
  Package exim4-daemon-light which provides mail-transport-agent is to be removed.&lt;br /&gt;
Removing exim4-daemon-light ...&lt;br /&gt;
Stopping MTA: exim4_listener.&lt;br /&gt;
Removing exim4-base ...&lt;br /&gt;
Processing triggers for man-db ...&lt;br /&gt;
Selecting previously deselected package postfix.&lt;br /&gt;
(Reading database ... 21404 files and directories currently installed.)&lt;br /&gt;
Unpacking postfix (from .../postfix_2.5.5-1.1_i386.deb) ...&lt;br /&gt;
Processing triggers for man-db ...&lt;br /&gt;
Setting up postfix (2.5.5-1.1) ...&lt;br /&gt;
Adding group `postfix&amp;#039; (GID 108) ...&lt;br /&gt;
Done.&lt;br /&gt;
Adding system user `postfix&amp;#039; (UID 104) ...&lt;br /&gt;
Adding new user `postfix&amp;#039; (UID 104) with group `postfix&amp;#039; ...&lt;br /&gt;
Not creating home directory `/var/spool/postfix&amp;#039;.&lt;br /&gt;
Creating /etc/postfix/dynamicmaps.cf&lt;br /&gt;
Adding tcp map entry to /etc/postfix/dynamicmaps.cf&lt;br /&gt;
Adding group `postdrop&amp;#039; (GID 109) ...&lt;br /&gt;
Done.&lt;br /&gt;
setting myhostname: lists.wefi.net&lt;br /&gt;
setting alias maps&lt;br /&gt;
setting alias database&lt;br /&gt;
changing /etc/mailname to lists.wefi.net&lt;br /&gt;
setting myorigin&lt;br /&gt;
setting destinations: lists.wefi.net, localhost.wefi.net, , localhost&lt;br /&gt;
setting relayhost: &lt;br /&gt;
setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128&lt;br /&gt;
setting mailbox_size_limit: 0&lt;br /&gt;
setting recipient_delimiter: +&lt;br /&gt;
setting inet_interfaces: all&lt;br /&gt;
WARNING: /etc/aliases exists, but does not have a root alias.&lt;br /&gt;
&lt;br /&gt;
Postfix is now set up with a default configuration.  If you need to make &lt;br /&gt;
changes, edit&lt;br /&gt;
/etc/postfix/main.cf (and others) as needed.  To view Postfix configuration&lt;br /&gt;
values, see postconf(1).&lt;br /&gt;
&lt;br /&gt;
After modifying main.cf, be sure to run &amp;#039;/etc/init.d/postfix reload&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Running newaliases&lt;br /&gt;
Stopping Postfix Mail Transport Agent: postfix.&lt;br /&gt;
Starting Postfix Mail Transport Agent: postfix.&lt;br /&gt;
lists:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verification of mail delivery ===&lt;br /&gt;
You can verify with telnet (as described in [[Test TCP Port 25 (smtp) access with telnet]]) if the mail delivery functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ubuntu@ubuntu:~$ telnet lists.wefi.net 25&lt;br /&gt;
Trying 80.66.32.103...&lt;br /&gt;
Connected to lists.wefi.net.&lt;br /&gt;
Escape character is &amp;#039;^]&amp;#039;.&lt;br /&gt;
220 lists.wefi.net ESMTP Postfix (Debian/GNU)&lt;br /&gt;
EHLO test.example.com&lt;br /&gt;
250-lists.wefi.net&lt;br /&gt;
250-PIPELINING&lt;br /&gt;
250-SIZE 10240000&lt;br /&gt;
250-VRFY&lt;br /&gt;
250-ETRN&lt;br /&gt;
250-STARTTLS&lt;br /&gt;
250-ENHANCEDSTATUSCODES&lt;br /&gt;
250-8BITMIME&lt;br /&gt;
250 DSN&lt;br /&gt;
MAIL FROM: test@example.com&lt;br /&gt;
250 2.1.0 Ok&lt;br /&gt;
RCPT TO: postmaster@lists.wefi.net&lt;br /&gt;
250 2.1.5 Ok&lt;br /&gt;
DATA&lt;br /&gt;
354 End data with &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;.&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;br /&gt;
Subject: Test message&lt;br /&gt;
&lt;br /&gt;
This is a test.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
250 2.0.0 Ok: queued as 87D2CDE40A2&lt;br /&gt;
QUIT&lt;br /&gt;
221 2.0.0 Bye&lt;br /&gt;
Connection closed by foreign host.&lt;br /&gt;
user@ubuntu:~$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This message has now been delivered to the server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lists:~# mail&lt;br /&gt;
Mail version 8.1.2 01/15/2001.  Type ? for help.&lt;br /&gt;
&amp;quot;/var/mail/root&amp;quot;: 1 message 1 new&lt;br /&gt;
&amp;gt;N  1 test@example.com  Tue Jun  1 10:00   16/545   Testnachricht&lt;br /&gt;
&amp;amp; 1&lt;br /&gt;
Message 1:&lt;br /&gt;
From test@example.com  Tue Jun  1 10:00:49 2010&lt;br /&gt;
X-Original-To: postmaster@lists.wefi.net&lt;br /&gt;
Subject: Testnachricht&lt;br /&gt;
Date: Tue,  1 Jun 2010 10:00:08 +0200 (CEST)&lt;br /&gt;
From: test@example.com&lt;br /&gt;
To: undisclosed-recipients:;&lt;br /&gt;
&lt;br /&gt;
This is a test. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp; q&lt;br /&gt;
Saved 1 message in /root/mbox&lt;br /&gt;
lists:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Postfix_%28Mail_Transfer_Agent%29 Postfix (Mail Transfer Agent)] (Wikipedia)&lt;br /&gt;
* [http://www.postfix.org/ Postfix Projekt Webseite]&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[de:Postfix unter Debian einrichten]]&lt;br /&gt;
[[pl:Konfiguracja Postfix-a w Debianie]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Creating_mailing_lists_in_Mailman</id>
		<title>Creating mailing lists in Mailman</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Creating_mailing_lists_in_Mailman"/>
		<updated>2026-05-28T11:54:19Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: /* Configuration parameter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this article, we explain how to &amp;#039;&amp;#039;&amp;#039;create a new mailing list in Debian&amp;#039;&amp;#039;&amp;#039;. We also present important configuration parameters. Information on installing Mailman can be found in the article [[Setup Mailman in Debian]].&lt;br /&gt;
&lt;br /&gt;
== Create mailing list ==&lt;br /&gt;
&lt;br /&gt;
A new mailing list can be created with the &amp;#039;&amp;#039;&amp;#039;newlist&amp;#039;&amp;#039;&amp;#039; command. Next, enter your email address. Mailman will use this address to send you email notifications in the future (for example, when new subscribers join the mailing list). Then, configure /etc/aliases as described:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lists:~# newlist test-mailingliste&lt;br /&gt;
Enter the email of the person running the list: email@example.org&lt;br /&gt;
Initial test-mailingliste password: &lt;br /&gt;
To finish creating your mailing list, you must edit your /etc/aliases (or&lt;br /&gt;
equivalent) file by adding the following lines, and possibly running the&lt;br /&gt;
`newaliases&amp;#039; program:&lt;br /&gt;
&lt;br /&gt;
## test-mailingliste mailing list&lt;br /&gt;
test-mailingliste:              &amp;quot;|/var/lib/mailman/mail/mailman post test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-admin:        &amp;quot;|/var/lib/mailman/mail/mailman admin test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-bounces:      &amp;quot;|/var/lib/mailman/mail/mailman bounces test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-confirm:      &amp;quot;|/var/lib/mailman/mail/mailman confirm test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-join:         &amp;quot;|/var/lib/mailman/mail/mailman join test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-leave:        &amp;quot;|/var/lib/mailman/mail/mailman leave test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-owner:        &amp;quot;|/var/lib/mailman/mail/mailman owner test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-request:      &amp;quot;|/var/lib/mailman/mail/mailman request test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-subscribe:    &amp;quot;|/var/lib/mailman/mail/mailman subscribe test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-unsubscribe:  &amp;quot;|/var/lib/mailman/mail/mailman unsubscribe test-mailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hit enter to notify test-mailingliste owner...&lt;br /&gt;
&lt;br /&gt;
lists:~# vi /etc/aliases&lt;br /&gt;
lists:~# tail -n 12 /etc/aliases&lt;br /&gt;
&lt;br /&gt;
## test-mailingliste mailing list&lt;br /&gt;
test-mailingliste:              &amp;quot;|/var/lib/mailman/mail/mailman post test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-admin:        &amp;quot;|/var/lib/mailman/mail/mailman admin test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-bounces:      &amp;quot;|/var/lib/mailman/mail/mailman bounces test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-confirm:      &amp;quot;|/var/lib/mailman/mail/mailman confirm test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-join:         &amp;quot;|/var/lib/mailman/mail/mailman join test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-leave:        &amp;quot;|/var/lib/mailman/mail/mailman leave test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-owner:        &amp;quot;|/var/lib/mailman/mail/mailman owner test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-request:      &amp;quot;|/var/lib/mailman/mail/mailman request test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-subscribe:    &amp;quot;|/var/lib/mailman/mail/mailman subscribe test-mailingliste&amp;quot;&lt;br /&gt;
test-mailingliste-unsubscribe:  &amp;quot;|/var/lib/mailman/mail/mailman unsubscribe test-mailingliste&amp;quot;&lt;br /&gt;
lists:~# postalias /etc/aliases&lt;br /&gt;
lists:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration parameter ==&lt;br /&gt;
Some important configuration parameters can be adjusted in the web interface:&lt;br /&gt;
* General options:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;real_name&amp;#039;&amp;#039;&amp;#039;: Name of mailing list.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;description&amp;#039;&amp;#039;&amp;#039;: A brief one-lined description.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;reply_goes_to_list&amp;#039;&amp;#039;&amp;#039;: Here, you can define where replies to postings should be sent (E-Mail Reply-To field). &amp;quot;This list&amp;quot; is often a good choice here. &amp;quot;Explicit address&amp;quot; is particularly useful for announcement mailing lists. In that case, you can use the &amp;#039;&amp;#039;&amp;#039;reply_to_address&amp;#039;&amp;#039;&amp;#039; option to specify, for example, a different mailing list as the Reply-To address, to which users can send their replies.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;host_name&amp;#039;&amp;#039;&amp;#039;: Hostname, at which the email address can be reached (just check this value).&lt;br /&gt;
* Privacy options:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;private_roster&amp;#039;&amp;#039;&amp;#039;: Specifies who can view the list of all mailing list subscribers. &amp;#039;&amp;#039;List members&amp;#039;&amp;#039; is the default setting, but &amp;#039;&amp;#039;List admin only&amp;#039;&amp;#039; is often the better choice.&lt;br /&gt;
* Privacy options: Sender filters:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;default_member_moderation&amp;#039;&amp;#039;&amp;#039;: Specifies whether posts from new members are moderated. This is useful, for example, for announcement mailing lists.&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[de:Mailinglisten unter Mailman erstellen]]&lt;br /&gt;
[[pl:Tworzenie list dyskusyjnych w Mailman-ie]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Setup_of_Mailman_in_Debian</id>
		<title>Setup of Mailman in Debian</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Setup_of_Mailman_in_Debian"/>
		<updated>2026-05-22T08:10:39Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: /* Completed installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;GNU Mailman&amp;#039;&amp;#039;&amp;#039; is a software for administrating mailing lists for free. In this article, we describe how to setup Mailman on Debian Lenny (Debian 5.0). At Thomas-Krenn, we use Mailman for mailing lists of the [[IPMI Sensor Monitoring Plugin]]. &lt;br /&gt;
&lt;br /&gt;
== Install MTA ==&lt;br /&gt;
For the operation of mailing lists with Mailman, the MTA (Mail Transfer Agent) is required. During the subsequent installation of Postfix, select &amp;#039;&amp;#039;&amp;#039;Internet Site&amp;#039;&amp;#039;&amp;#039; as the &amp;#039;General type of mail configuration&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Further information on the installation of Postfix can be found in the article [[Setup of Postfix on Debian]].&lt;br /&gt;
&lt;br /&gt;
== Install Mailman == &lt;br /&gt;
&lt;br /&gt;
The Mailman can be installed using apt-get: &lt;br /&gt;
&lt;br /&gt;
 apt-get install mailman&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lists:~# apt-get install mailman&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree       &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
The following extra packages will be installed:&lt;br /&gt;
  apache2 apache2-mpm-worker pwgen python-support ucf&lt;br /&gt;
Suggested packages:&lt;br /&gt;
  spamassassin lynx listadmin&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
  apache2 apache2-mpm-worker mailman pwgen python-support ucf&lt;br /&gt;
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;
Need to get 9965kB of archives.&lt;br /&gt;
After this operation, 45.7MB of additional disk space will be used.&lt;br /&gt;
Do you want to continue [Y/n]? y&lt;br /&gt;
Get:1 http://http.at.debian.org lenny/main python-support 0.8.4lenny1 [28.4kB]                     &lt;br /&gt;
Get:2 http://http.at.debian.org lenny/main ucf 3.0016 [64.4kB]                                     &lt;br /&gt;
Get:3 http://security.debian.org lenny/updates/main apache2-mpm-worker 2.2.9-10+lenny7 [242kB]&lt;br /&gt;
Get:4 http://http.at.debian.org lenny/main pwgen 2.06-1 [19.2kB]&lt;br /&gt;
Get:5 http://http.at.debian.org lenny/main mailman 1:2.1.11-11 [9566kB]&lt;br /&gt;
Get:6 http://security.debian.org lenny/updates/main apache2 2.2.9-10+lenny7 [45.4kB]&lt;br /&gt;
Fetched 9965kB in 1s (5665kB/s)                                &lt;br /&gt;
Preconfiguring packages ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Package configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Supported language ==== &lt;br /&gt;
[[file:Mailman-Installation-unter-Debian-Lenny-01-languages-to-support.png|right|thumb|300px|Configuring mailman: Languages to support]]&lt;br /&gt;
The request on which language should be supported appears during installation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package configuration&lt;br /&gt;
&lt;br /&gt;
┌────────────────────────────────────┤ Configuring mailman ├────────────────────────────────────┐&lt;br /&gt;
 │ For each supported language, Mailman stores default language specific texts in                │ &lt;br /&gt;
 │ /etc/mailman/LANG/ giving them conffile like treatment with the help of ucf.  This means      │ &lt;br /&gt;
 │ approximately 150kB for each supported language on the root file system.                      │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │ If you need a different set of languages at a later time, just run dpkg-reconfigure mailman.  │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │ NOTE: Languages enabled on existing mailing lists are forcibly re-enabled when deselected     │ &lt;br /&gt;
 │ and mailman needs at least one language for displaying its messages.                          │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │ Languages to support:                                                                         │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │    [ ] ar (Arabic)                                                                            │ &lt;br /&gt;
 │    [ ] ca (Catalan)                                                                           │ &lt;br /&gt;
 │    [ ] cs (Czech)                                                                         ▒   │ &lt;br /&gt;
 │    [ ] da (Danish)                                                                        ▒   │ &lt;br /&gt;
 │    [*] de (German)                                                                        ▒   │ &lt;br /&gt;
 │    [*] en (English)                                                                       ▒   │ &lt;br /&gt;
 │    [ ] es (Spanish)                                                                       ▒   │ &lt;br /&gt;
 │    [ ] et (Estonian)                                                                      ▒   │ &lt;br /&gt;
 │    [ ] eu (Basque)                                                                            │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │                                            &amp;lt;Ok&amp;gt;                                               │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 └───────────────────────────────────────────────────────────────────────────────────────────────┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Default language ====&lt;br /&gt;
[[file:Mailman-Installation-unter-Debian-Lenny-02-default-language-for-mailman.png|right|thumb|300px|Configuring mailman: Default language for Mailman]]&lt;br /&gt;
If you have choosen multiple languages, the default language can be determined: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package configuration&lt;br /&gt;
┌────────────────────────────────────┤ Configuring mailman ├────────────────────────────────────┐&lt;br /&gt;
 │ The web page will be shown in this language, and in general, Mailman will use this language   │ &lt;br /&gt;
 │ to communicate with the user.                                                                 │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │ Default language for Mailman:                                                                 │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │                                         de (German)                                           │ &lt;br /&gt;
 │                                         en (English)                                          │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │                                            &amp;lt;Ok&amp;gt;                                               │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 └───────────────────────────────────────────────────────────────────────────────────────────────┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Note on further configuration steps ====&lt;br /&gt;
[[file:Mailman-Installation-unter-Debian-Lenny-03-missing-site-list.png|right|thumb|300px|Configuring mailman: Missing site list]]&lt;br /&gt;
Finally, here is a note regarding additional configuration steps that are required that must be performed manually after installation:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package configuration&lt;br /&gt;
&lt;br /&gt;
┌────────────────────────────────────┤ Configuring mailman ├────────────────────────────────────┐&lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │ Missing site list                                                                             │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │ Mailman needs a so-called &amp;quot;site list&amp;quot;, which is the list from which password reminders and    │ &lt;br /&gt;
 │ such are sent out from.  This list needs to be created before mailman will start.             │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │ To create the list, run &amp;quot;newlist mailman&amp;quot; and follow the instructions on-screen.  Note that   │ &lt;br /&gt;
 │ you also need to start mailman after that, using /etc/init.d/mailman start.                   │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 │                                            &amp;lt;Ok&amp;gt;                                               │ &lt;br /&gt;
 │                                                                                               │ &lt;br /&gt;
 └───────────────────────────────────────────────────────────────────────────────────────────────┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completion of installation ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Selecting previously deselected package python-support.&lt;br /&gt;
(Reading database ... 21572 files and directories currently installed.)&lt;br /&gt;
Unpacking python-support (from .../python-support_0.8.4lenny1_all.deb) ...&lt;br /&gt;
Selecting previously deselected package apache2-mpm-worker.&lt;br /&gt;
Unpacking apache2-mpm-worker (from .../apache2-mpm-worker_2.2.9-10+lenny7_i386.deb) ...&lt;br /&gt;
Selecting previously deselected package apache2.&lt;br /&gt;
Unpacking apache2 (from .../apache2_2.2.9-10+lenny7_all.deb) ...&lt;br /&gt;
Selecting previously deselected package ucf.&lt;br /&gt;
Unpacking ucf (from .../archives/ucf_3.0016_all.deb) ...&lt;br /&gt;
Moving old data out of the way&lt;br /&gt;
Selecting previously deselected package pwgen.&lt;br /&gt;
Unpacking pwgen (from .../archives/pwgen_2.06-1_i386.deb) ...&lt;br /&gt;
Selecting previously deselected package mailman.&lt;br /&gt;
Unpacking mailman (from .../mailman_1%3a2.1.11-11_i386.deb) ...&lt;br /&gt;
Processing triggers for man-db ...&lt;br /&gt;
Setting up python-support (0.8.4lenny1) ...&lt;br /&gt;
Setting up apache2-mpm-worker (2.2.9-10+lenny7) ...&lt;br /&gt;
Starting web server: apache2.&lt;br /&gt;
Setting up apache2 (2.2.9-10+lenny7) ...&lt;br /&gt;
Setting up ucf (3.0016) ...&lt;br /&gt;
Setting up pwgen (2.06-1) ...&lt;br /&gt;
Setting up mailman (1:2.1.11-11) ...&lt;br /&gt;
Looking for enabled languages (this may take some time) ... done.&lt;br /&gt;
Installing site language en ............................................ done.&lt;br /&gt;
Configuring mailman for domain lists.wefi.net ...&lt;br /&gt;
Upgrading from version 0x0 to 0x2010bf0&lt;br /&gt;
getting rid of old source files&lt;br /&gt;
Site list for mailman missing (looking for list named &amp;#039;mailman&amp;#039;). (warning).&lt;br /&gt;
Please create it; until then, mailman will refuse to start. (warning).&lt;br /&gt;
lists:~#  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Verify configuration ===&lt;br /&gt;
The configuration file, /etc/mailman/mm_cfg.py, must be verified. It is important that all DEFAULT entries are correct:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lists:~# grep DEFAULT /etc/mailman/mm_cfg.py &lt;br /&gt;
DEFAULT_MSG_FOOTER for an example.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
DEFAULT_URL_PATTERN = &amp;#039;http://%s/cgi-bin/mailman/&amp;#039;&lt;br /&gt;
DEFAULT_EMAIL_HOST = &amp;#039;lists.wefi.net&amp;#039;&lt;br /&gt;
DEFAULT_URL_HOST   = &amp;#039;lists.wefi.net&amp;#039;&lt;br /&gt;
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)&lt;br /&gt;
DEFAULT_SERVER_LANGUAGE = &amp;#039;en&amp;#039;&lt;br /&gt;
DEFAULT_SEND_REMINDERS = 0&lt;br /&gt;
lists:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== newlist mailman ===&lt;br /&gt;
&lt;br /&gt;
The so-called &amp;#039;site list&amp;#039; can be created using &lt;br /&gt;
 newlist mailman. &lt;br /&gt;
One of your addresses must be stated here as email address: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lists:~# newlist mailman&lt;br /&gt;
Enter the email of the person running the list: email@example.org&lt;br /&gt;
Initial mailman password: &lt;br /&gt;
To finish creating your mailing list, you must edit your /etc/aliases (or&lt;br /&gt;
equivalent) file by adding the following lines, and possibly running the&lt;br /&gt;
`newaliases&amp;#039; program:&lt;br /&gt;
&lt;br /&gt;
## mailman mailing list&lt;br /&gt;
mailman:              &amp;quot;|/var/lib/mailman/mail/mailman post mailman&amp;quot;&lt;br /&gt;
mailman-admin:        &amp;quot;|/var/lib/mailman/mail/mailman admin mailman&amp;quot;&lt;br /&gt;
mailman-bounces:      &amp;quot;|/var/lib/mailman/mail/mailman bounces mailman&amp;quot;&lt;br /&gt;
mailman-confirm:      &amp;quot;|/var/lib/mailman/mail/mailman confirm mailman&amp;quot;&lt;br /&gt;
mailman-join:         &amp;quot;|/var/lib/mailman/mail/mailman join mailman&amp;quot;&lt;br /&gt;
mailman-leave:        &amp;quot;|/var/lib/mailman/mail/mailman leave mailman&amp;quot;&lt;br /&gt;
mailman-owner:        &amp;quot;|/var/lib/mailman/mail/mailman owner mailman&amp;quot;&lt;br /&gt;
mailman-request:      &amp;quot;|/var/lib/mailman/mail/mailman request mailman&amp;quot;&lt;br /&gt;
mailman-subscribe:    &amp;quot;|/var/lib/mailman/mail/mailman subscribe mailman&amp;quot;&lt;br /&gt;
mailman-unsubscribe:  &amp;quot;|/var/lib/mailman/mail/mailman unsubscribe mailman&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hit enter to notify mailman owner...&lt;br /&gt;
&lt;br /&gt;
lists:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; The message will not be sent to the specified email address until Mailman has been started.&lt;br /&gt;
&lt;br /&gt;
Now, the entries in /etc/aliases must be added and the command &amp;lt;code&amp;gt;postadmin /etc/aliases&amp;lt;/code&amp;gt; must be executed (if you use Postfix as here in the example):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lists:~# vi /etc/aliases&lt;br /&gt;
lists:~# cat /etc/aliases&lt;br /&gt;
# /etc/aliases&lt;br /&gt;
mailer-daemon: postmaster&lt;br /&gt;
postmaster: root&lt;br /&gt;
nobody: root&lt;br /&gt;
hostmaster: root&lt;br /&gt;
usenet: root&lt;br /&gt;
news: root&lt;br /&gt;
webmaster: root&lt;br /&gt;
www: root&lt;br /&gt;
ftp: root&lt;br /&gt;
abuse: root&lt;br /&gt;
noc: root&lt;br /&gt;
security: root&lt;br /&gt;
&lt;br /&gt;
## mailman mailing list&lt;br /&gt;
mailman:              &amp;quot;|/var/lib/mailman/mail/mailman post mailman&amp;quot;&lt;br /&gt;
mailman-admin:        &amp;quot;|/var/lib/mailman/mail/mailman admin mailman&amp;quot;&lt;br /&gt;
mailman-bounces:      &amp;quot;|/var/lib/mailman/mail/mailman bounces mailman&amp;quot;&lt;br /&gt;
mailman-confirm:      &amp;quot;|/var/lib/mailman/mail/mailman confirm mailman&amp;quot;&lt;br /&gt;
mailman-join:         &amp;quot;|/var/lib/mailman/mail/mailman join mailman&amp;quot;&lt;br /&gt;
mailman-leave:        &amp;quot;|/var/lib/mailman/mail/mailman leave mailman&amp;quot;&lt;br /&gt;
mailman-owner:        &amp;quot;|/var/lib/mailman/mail/mailman owner mailman&amp;quot;&lt;br /&gt;
mailman-request:      &amp;quot;|/var/lib/mailman/mail/mailman request mailman&amp;quot;&lt;br /&gt;
mailman-subscribe:    &amp;quot;|/var/lib/mailman/mail/mailman subscribe mailman&amp;quot;&lt;br /&gt;
mailman-unsubscribe:  &amp;quot;|/var/lib/mailman/mail/mailman unsubscribe mailman&amp;quot;&lt;br /&gt;
&lt;br /&gt;
lists:~# postalias /etc/aliases&lt;br /&gt;
lists:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start Mailman ===&lt;br /&gt;
Now, start Mailman:&lt;br /&gt;
 /etc/init.d/mailman start&lt;br /&gt;
&lt;br /&gt;
=== Create mailing lists ===&lt;br /&gt;
Information on this topic can be found in the article [[Creation of mailing lists in Mailman]].&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* http://de.wikipedia.org/wiki/GNU_Mailman&lt;br /&gt;
* http://library.linode.com/email/mailman/debian-5-lenny&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[pl:Mailman w Debianie]]&lt;br /&gt;
[[de:Mailman unter Debian einrichten]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Setting_up_password_authentication_with_Active_Directory_on_Debian</id>
		<title>Setting up password authentication with Active Directory on Debian</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Setting_up_password_authentication_with_Active_Directory_on_Debian"/>
		<updated>2026-05-22T05:01:48Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;Central directory services such as OpenLDAP or Active Directory (AD) simplify the &amp;#039;&amp;#039;&amp;#039;password management&amp;#039;&amp;#039;&amp;#039; for administrator and user. With regard to Linux server, the aspect of the SSH &amp;#039;&amp;#039;&amp;#039;authentication&amp;#039;&amp;#039;&amp;#039; via AD is interesting. From an IT security perspective, this solution also has its advantages: * Administrators do not have to choose and administrate different passwords for every server. You can log in to the servers with the AD password. * The password change or d...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Central directory services such as OpenLDAP or Active Directory (AD) simplify the &amp;#039;&amp;#039;&amp;#039;password management&amp;#039;&amp;#039;&amp;#039; for administrator and user. With regard to Linux server, the aspect of the SSH &amp;#039;&amp;#039;&amp;#039;authentication&amp;#039;&amp;#039;&amp;#039; via AD is interesting. From an IT security perspective, this solution also has its advantages:&lt;br /&gt;
* Administrators do not have to choose and administrate different passwords for every server. You can log in to the servers with the AD password.&lt;br /&gt;
* The password change or deactivation of an account can be made via AD.&lt;br /&gt;
* Central administrated root passwords do not have to be known by all administrators anymore. &lt;br /&gt;
&lt;br /&gt;
The following article shows how to configure an in Debian 7 &amp;#039;&amp;#039;wheezy&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;libpam-ldapd&amp;#039;&amp;#039;&amp;#039; via &amp;#039;&amp;#039;mod_pam&amp;#039;&amp;#039; with an AD. The authentication is not only valid for [[:Kategorie:SSH|SSH]] but also for all services that use PAM (like, for example, &amp;#039;&amp;#039;sudo&amp;#039;&amp;#039;) after successful configuration. As the libpam-ldapd packages are also available for Ubuntu&amp;lt;ref&amp;gt;[http://packages.ubuntu.com/trusty/libpam-ldapd libpam-ldapd] (packages.ubuntu.com)&amp;lt;/ref&amp;gt;, the instructions can be also used for Ubuntu.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Requirements and purpose ==&lt;br /&gt;
The following information is required for the setup:&lt;br /&gt;
# The LDAP-URL of the AD server&lt;br /&gt;
# The search or Base DN in which the users are located.&lt;br /&gt;
# (recommended) A Bind DN, including a password, used to search the Active Directory or the base DN.&lt;br /&gt;
# For TLS&lt;br /&gt;
#* The certificate file for the encrypted communication (since passwords are transferred between the server and AD during authentication, an encrypted communication is highly recommended).&lt;br /&gt;
# The users, who want to sign up, &amp;#039;&amp;#039;&amp;#039;must already exist&amp;#039;&amp;#039;&amp;#039; on the server&lt;br /&gt;
&lt;br /&gt;
In the following, the objectives of the instructions are listed:&lt;br /&gt;
* Password authentication of users via the passwords stored in AD.&lt;br /&gt;
* Other things like groups, home-paths or similar are &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; retrieved from the AD.&lt;br /&gt;
* The &amp;#039;&amp;#039;root&amp;#039;&amp;#039; user should be able to sign up with local passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Attention: Changes to PAM module configurations may prevent you from logging in or authenticating. Always have a root terminal ready in case of an emergency!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Testing connection to AD ==&lt;br /&gt;
First, the connection between server&amp;lt;-&amp;gt;AD is tested. When using LDAP with START_TLS, the communication is made via port 389:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# telnet ldap.example.com 389&lt;br /&gt;
Trying ...&lt;br /&gt;
Connected to ldap.example.com&lt;br /&gt;
Escape character is &amp;#039;^]&amp;#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, an actual LDAP query is made via ldapsearch (for an encrypted connection - parameter &amp;#039;-ZZ&amp;#039; -, the certificate must be configured in the &amp;#039;&amp;#039;/etc/ldap.conf&amp;#039;&amp;#039; file.):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ldapsearch -x -H ldap://ldap.example.com -D &amp;quot;CN=Georg Schönberger,OU=Users,DC=example,DC=com&amp;quot; \&lt;br /&gt;
-b OU=Users,DC=example,DC=com -W -ZZ sAMAccountName=gschoenberger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation of libpam-ldapd ==&lt;br /&gt;
The central component on the Debian server forms the package [https://packages.debian.org/wheezy/libpam-ldapd libpam-ldapd] (packages.debian.org). With this package, the daemon [https://packages.debian.org/wheezy/nslcd nslcd] (packages.debian.org) is also installed that is responsible for the communication between server &amp;lt;-&amp;gt; AD.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apt-get install libpam-ldapd&lt;br /&gt;
[...]&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
  bind9-host geoip-database ldap-utils libbind9-80 libcap2 libdns88 libgeoip1 libisc84 libisccc80 libisccfg82&lt;br /&gt;
 liblwres80 libnss-ldapd libpam-ldapd libxml2 nscd nslcd sgml-base xml-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Ldap-auth-configure-1.png|The LDAP-Url points to the host name of the AD-server.&lt;br /&gt;
Ldap-auth-configure-2.png|The search base is the part of the directory where users are located.&lt;br /&gt;
Ldap-auth-configure-3.png|If the AD is only used for the password authentication, the file &amp;#039;&amp;#039;nsswitch.conf&amp;#039;&amp;#039;  does not have to be configured. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those who want to perform the package configuration once again, to adjust values, must to call up&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#  dpkg-reconfigure nslcd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration of nslcd ==&lt;br /&gt;
The following map and filter entries, binddn and bindpw, and TLS options must be added to the &amp;#039;&amp;#039;/etc/nslcd.conf&amp;#039;&amp;#039; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
base ou=Users,dc=example,dc=com&lt;br /&gt;
map             passwd          uid     sAMAccountName&lt;br /&gt;
filter          passwd          (objectClass=user)&lt;br /&gt;
&lt;br /&gt;
# The LDAP protocol version to use.&lt;br /&gt;
ldap_version 3&lt;br /&gt;
&lt;br /&gt;
# The DN to bind with for normal lookups.&lt;br /&gt;
binddn cn=reader,dc=example,dc=com&lt;br /&gt;
bindpw secret&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
# SSL options&lt;br /&gt;
ssl start_tls&lt;br /&gt;
tls_reqcert demand&lt;br /&gt;
tls_cacertfile /etc/ssl/certs/Example-com-cacert.pem&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The settings of the package installation that have been configured are located, as described above, in the &amp;#039;&amp;#039;/etc/nslcd.conf&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
== Configuration of pam_ldap ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;In general, the configuration of the package installation is suitable for an AD-authentication&amp;#039;&amp;#039;&amp;#039;. However, users can authenticate themselves with the standard configuration per AD/LDAP as well as with local password. To disable local passwords for users other than &amp;quot;root&amp;quot;, the following change must be made to the file &amp;#039;&amp;#039;/etc/pam.d/common-auth.conf&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Attention:&amp;#039;&amp;#039;&amp;#039; After this change, only the &amp;#039;&amp;#039;root&amp;#039;&amp;#039; user can use its local password. All other users rely on Active Directory and a working connection between the server and Active Directory:&amp;lt;ref&amp;gt;[http://pig.made-it.com/pam.html PAM Explanation] (pig.made-it.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# vi /etc/pam.d/common-auth&lt;br /&gt;
[...]&lt;br /&gt;
auth    sufficient      pam_ldap.so minimum_uid=1000&lt;br /&gt;
auth    requisite       pam_succeed_if.so uid eq 0&lt;br /&gt;
auth    sufficient      pam_unix.so nullok_secure&lt;br /&gt;
# here&amp;#039;s the fallback if no module succeeds&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, AD authentication will be sufficient for all users with a UID greater than 1000 to log in. Local passwords will no longer work!&lt;br /&gt;
&lt;br /&gt;
The configuration of the AD authentication is completed after the steps described above.&lt;br /&gt;
&lt;br /&gt;
== Error analysis ==&lt;br /&gt;
=== nslcd ===&lt;br /&gt;
The daemon &amp;#039;&amp;#039;nslcd&amp;#039;&amp;#039; provides a Debus mode for analyzing the LDAP authentication:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nslcd -d&lt;br /&gt;
nslcd: DEBUG: add_uri(ldap://ldap.example.com)&lt;br /&gt;
nslcd: DEBUG: ldap_set_option(LDAP_OPT_X_TLS_REQUIRE_CERT,2)&lt;br /&gt;
[...]&lt;br /&gt;
nslcd: accepting connections&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; parameter is stated more often, the &amp;#039;&amp;#039;nslcd&amp;#039;&amp;#039; debug level increases.&lt;br /&gt;
&lt;br /&gt;
The error message is a bit misleading&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEBUG: failed to bind to LDAP server ldap://ldap.example.com: Invalid credentials: 80090308:&lt;br /&gt;
LdapErr: DSID-0C0903C8, comment: AcceptSecurityContext error, data 52e, v23f0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
that also appears when a user account does not yet exist on the server. &lt;br /&gt;
&lt;br /&gt;
=== pam_ldap ===&lt;br /&gt;
Those who want to adjust the pam-rules in the &amp;#039;&amp;#039;/etc/pam.d/common-auth.conf&amp;#039;&amp;#039; file, encounters the following error in the log file ‘’/var/log/auth.log&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;pam_succeed_if(sshd:auth): incomplete condition detected&amp;lt;/pre&amp;gt;, when the terms for &amp;#039;&amp;#039;pam_succeed_if.so &amp;#039;&amp;#039; are not correct.&amp;lt;ref&amp;gt;[https://bugzilla.redhat.com/show_bug.cgi?id=594903  Insufficient error checking in pam_succeed_if] (bugzilla.redhat.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Gschoenberger}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[de:Passwort-Authentifizierung mit Active Directory unter Debian einrichten]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/PCIe_link_lost</id>
		<title>PCIe link lost</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/PCIe_link_lost"/>
		<updated>2026-05-21T11:16:45Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;On Linux systems, when using Intel I350 network chips, messages such as &amp;#039;&amp;#039;&amp;#039;PCIe link lost&amp;#039;&amp;#039;&amp;#039; may appear, followed by &amp;#039;&amp;#039;&amp;#039;igb 0000:82:00.0 enp130s0f0: malformed Tx packet detected and dropped, LVMMC:0xffffffff&amp;#039;&amp;#039;&amp;#039;. Therefore, the affected network interface does not work. As a solution, the Linux kernel parameter &amp;#039;&amp;#039;&amp;#039;pcie_aspm.policy=performance&amp;#039;&amp;#039;&amp;#039; or an updated BIOS with deactivated ASPM can be used.   == Affected hardware and software == We have encountered this issue i...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On [[Linux]] systems, when using Intel I350 network chips, messages such as &amp;#039;&amp;#039;&amp;#039;PCIe link lost&amp;#039;&amp;#039;&amp;#039; may appear, followed by &amp;#039;&amp;#039;&amp;#039;igb 0000:82:00.0 enp130s0f0: malformed Tx packet detected and dropped, LVMMC:0xffffffff&amp;#039;&amp;#039;&amp;#039;. Therefore, the affected network interface does not work. As a solution, the Linux kernel parameter &amp;#039;&amp;#039;&amp;#039;pcie_aspm.policy=performance&amp;#039;&amp;#039;&amp;#039; or an updated BIOS with deactivated ASPM can be used. &lt;br /&gt;
&lt;br /&gt;
== Affected hardware and software ==&lt;br /&gt;
We have encountered this issue in isolated cases after several weeks of testing with the following components:&lt;br /&gt;
* ASUS RS500A-E11-RS12U with [[AMD EPYC 7003 Milan]] CPU (AMD EPYC 7543P) with Intel I350-AM2&lt;br /&gt;
** BIOS 0901&lt;br /&gt;
* [[Proxmox VE]] with kernel 5.15.35-1-pve&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
Example 21.6.2022:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.890225] igb 0000:82:00.0 enp130s0f0: PCIe link lost&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.890714] ------------[ cut here ]------------&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.891150] igb: Failed to read reg 0x40e8!&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.891611] WARNING: CPU: 15 PID: 1607760 at drivers/net/ethernet/intel/igb/igb_main.c:747 igb_rd32.cold+0x3a/0x46 [igb]&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.892059] Modules linked in: sch_ingress ebtable_filter ebtables ip_set ip6table_raw iptable_raw ip6table_filter ip6_tables iptable_filter bpfilter sctp ip6_udp_tunnel &lt;br /&gt;
udp_tunnel nf_tables bonding tls openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 softdog nfnetlink_log nfnetlink ipmi_ssif intel_rapl_msr intel_rapl_common amd64_edac edac_&lt;br /&gt;
mce_amd kvm_amd ast drm_vram_helper drm_ttm_helper kvm ttm drm_kms_helper cec irqbypass crct10dif_pclmul rc_core ghash_clmulni_intel aesni_intel fb_sys_fops crypto_simd cryptd rapl wmi_bmof efi_pstore pc&lt;br /&gt;
spkr acpi_ipmi syscopyarea cdc_ether sysfillrect usbnet sysimgblt joydev input_leds mii ipmi_si ccp ptdma k10temp ipmi_devintf ipmi_msghandler mac_hid vhost_net vhost vhost_iotlb tap ib_iser rdma_cm iw_c&lt;br /&gt;
&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.892098]  zstd_compress hid_generic usbmouse usbkbd usbhid hid raid6_pq libcrc32c simplefb crc32_pclmul nvme nvme_core igb xhci_pci i2c_algo_bit ahci xhci_pci_renesas &lt;br /&gt;
dca libahci xhci_hcd i2c_piix4 bnxt_en wmi&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.896894] CPU: 15 PID: 1607760 Comm: nload Tainted: P           O      5.15.35-1-pve #1&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.897392] Hardware name: ASUSTeK COMPUTER INC. RS500A-E11-RS12U/KMPA-U16 Series, BIOS 0901 12/03/2021&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.897890] RIP: 0010:igb_rd32.cold+0x3a/0x46 [igb]&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.898391] Code: c7 c6 94 23 3e c0 e8 ea e4 33 ed 48 8b bb 30 ff ff ff e8 5a 2c cc ec 84 c0 74 16 44 89 ee 48 c7 c7 60 30 3e c0 e8 b9 f2 2a ed &amp;lt;0f&amp;gt; 0b e9 b8 03 fe ff e9 &lt;br /&gt;
cf 03 fe ff 0f b6 d0 be 00 00 04 00 48 c7&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.899403] RSP: 0018:ffffbc9e812d3a98 EFLAGS: 00010282&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.899906] RAX: 0000000000000000 RBX: ffff947b663fced0 RCX: ffff949a0e1e0588&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.900414] RDX: 00000000ffffffd8 RSI: 0000000000000027 RDI: ffff949a0e1e0580&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.900915] RBP: ffffbc9e812d3ab0 R08: 0000000000000003 R09: 0000000000000001&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.901411] R10: ffff947b7610c7c0 R11: ffffffffc0d410c0 R12: 00000000ffffffff&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.901902] R13: 00000000000040e8 R14: 00000000000198e8 R15: 0000000003f1d080&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.902389] FS:  00007f4cb056d740(0000) GS:ffff949a0e1c0000(0000) knlGS:0000000000000000&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.902879] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.903364] CR2: 00007f4f7bbf2670 CR3: 00000006414e8004 CR4: 0000000000770ee0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.903850] PKRU: 55555554&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.904336] Call Trace:&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.904808]  &amp;lt;TASK&amp;gt;&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.905275]  igb_update_stats+0x4c0/0x880 [igb]&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.905743]  igb_get_stats64+0x30/0x80 [igb]&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.906205]  dev_get_stats+0x60/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.906663]  netstat_show.constprop.0+0x57/0xb0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.907117]  tx_dropped_show+0x16/0x20&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.907564]  dev_attr_show+0x1d/0x40&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.908014]  sysfs_kf_seq_show+0xa1/0x100&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.908451]  kernfs_seq_show+0x27/0x30&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.908882]  seq_read_iter+0x122/0x4b0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.909309]  ? aa_file_perm+0x11e/0x570&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.909732]  kernfs_fop_read_iter+0x150/0x1b0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.910150]  new_sync_read+0x110/0x1a0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.910564]  vfs_read+0x100/0x1a0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.910970]  ksys_read+0x67/0xe0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.911368]  __x64_sys_read+0x1a/0x20&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.911766]  do_syscall_64+0x5c/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.912170]  ? do_syscall_64+0x69/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.912560]  ? do_syscall_64+0x69/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.912944]  ? syscall_exit_to_user_mode+0x27/0x50&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.913330]  ? __x64_sys_read+0x1a/0x20&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.913706]  ? do_syscall_64+0x69/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.914073]  ? syscall_exit_to_user_mode+0x27/0x50&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.914431]  ? do_syscall_64+0x69/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.914777]  ? __x64_sys_close+0x12/0x40&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.915112]  ? do_syscall_64+0x69/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.915436]  ? do_syscall_64+0x69/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.915745]  ? do_syscall_64+0x69/0xc0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.916052]  ? asm_sysvec_apic_timer_interrupt+0xa/0x20&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.916342]  entry_SYSCALL_64_after_hwframe+0x44/0xae&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.916623] RIP: 0033:0x7f4cb0666e8e&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.916890] Code: c0 e9 b6 fe ff ff 50 48 8d 3d 6e 18 0a 00 e8 89 e8 01 00 66 0f 1f 84 00 00 00 00 00 64 8b 04 25 18 00 00 00 85 c0 75 14 0f 05 &amp;lt;48&amp;gt; 3d 00 f0 ff ff 77 5a &lt;br /&gt;
c3 66 0f 1f 84 00 00 00 00 00 48 83 ec 28&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.917444] RSP: 002b:00007ffe81260f78 EFLAGS: 00000246 ORIG_RAX: 0000000000000000&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.917719] RAX: ffffffffffffffda RBX: 0000000000001fff RCX: 00007f4cb0666e8e&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.917988] RDX: 0000000000001fff RSI: 000055e09cb3adf0 RDI: 0000000000000003&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.918250] RBP: 000055e09cb3adf0 R08: 0000000000000000 R09: 00007f4cb0736be0&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.918508] R10: 0000000001000000 R11: 0000000000000246 R12: 0000000000001fff&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.918764] R13: 00007ffe81261118 R14: 000055e09bc21398 R15: 000055e09bc21370&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.919020]  &amp;lt;/TASK&amp;gt;&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.919272] ---[ end trace e754faf722c4d59f ]---&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.919529] igb 0000:82:00.0 enp130s0f0: malformed Tx packet detected and dropped, LVMMC:0xffffffff&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.919586] igb 0000:82:00.1 enp130s0f1: PCIe link lost&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.920381] ------------[ cut here ]------------&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.920832] igb: Failed to read reg 0xc030!&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.921292] WARNING: CPU: 47 PID: 1607760 at drivers/net/ethernet/intel/igb/igb_main.c:747 igb_rd32.cold+0x3a/0x46 [igb]&lt;br /&gt;
Jun 21 00:53:43 PMX2 kernel: [568234.921782] Modules linked in: sch_ingress ebtable_filter ebtables ip_set ip6table_raw iptable_raw ip6table_filter ip6_tables iptable_filter bpfilter sctp ip6_udp_tunnel &lt;br /&gt;
udp_tunnel nf_tables bonding tls openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 softdog nfnetlink_log nfnetlink ipmi_ssif intel_rapl_msr intel_rapl_common amd64_edac edac_&lt;br /&gt;
mce_amd kvm_amd ast drm_vram_helper drm_ttm_helper kvm ttm drm_kms_helper cec irqbypass crct10dif_pclmul rc_core ghash_clmulni_intel aesni_intel fb_sys_fops crypto_simd cryptd rapl wmi_bmof efi_pstore pc&lt;br /&gt;
spkr acpi_ipmi syscopyarea cdc_ether sysfillrect usbnet sysimgblt joydev input_leds mii ipmi_si ccp ptdma k10temp ipmi_devintf ipmi_msghandler mac_hid vhost_net vhost vhost_iotlb tap ib_iser rdma_cm iw_c&lt;br /&gt;
m ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi drm sunrpc ip_tables x_tables autofs4 zfs(PO) zunicode(PO) zzstd(O) zlua(O) zavl(PO) icp(PO) zcommon(PO) znvpair(PO) spl(O) btrfs blak&lt;br /&gt;
e2b_generic xor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel 26.6.2022:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
Jun 26 18:46:36 PMX2 kernel: [1064607.600707] igb 0000:82:00.0 enp130s0f0: malformed Tx packet detected and dropped, LVMMC:0xffffffff&lt;br /&gt;
Jun 26 18:46:37 PMX2 kernel: [1064608.624690] igb 0000:82:00.1 enp130s0f1: malformed Tx packet detected and dropped, LVMMC:0xffffffff&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Possible solutions ==&lt;br /&gt;
&lt;br /&gt;
=== Updated BIOS ===&lt;br /&gt;
The new BIOS version 1301 (Milan, 2023/03/15) deactivates ASPM on all PCIe ports (&amp;lt;cite&amp;gt;Disable ASPM on all PCIe ports.&amp;lt;/cite&amp;gt;) and resolves the problem.&lt;br /&gt;
&lt;br /&gt;
=== Kernel parameter === &lt;br /&gt;
Alternatively, as a workaround, the PCIe ASPM policy can be set to performance using the following kernel boot parameter:&amp;lt;pre&amp;gt;sed -i &amp;#039;$ s/$/ pcie_aspm.policy=performance/&amp;#039; /etc/kernel/cmdline&amp;lt;/pre&amp;gt;&lt;br /&gt;
On systemd-boot-systems, this command adds the parameter to the /etc/kernel/cmdline file. On Proxmox systems, a refresh of the Proxmox boot tool must be performed after changing the file:&lt;br /&gt;
&amp;lt;pre&amp;gt;proxmox-boot-tool refresh&amp;lt;/pre&amp;gt;After a reboot, it can be verified if the parameters are active using &amp;lt;pre&amp;gt;cat /proc/cmdline&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [https://access.redhat.com/solutions/2190691 igb &amp;quot;malformed Tx packet detected and dropped, LVMMC&amp;quot; message] (access.redhat.com, 05.03.2016)&lt;br /&gt;
* [https://access.redhat.com/solutions/6753701 Intel I350 NIC with igb logs &amp;quot;Refused to change power state&amp;quot; and &amp;quot;PCIe link lost&amp;quot;] (access.redhat.com, Updated February 23 2022)&lt;br /&gt;
* [https://patchwork.ozlabs.org/project/netdev/patch/1406207604-31653-6-git-send-email-jeffrey.t.kirsher@intel.com/ igb: Add message when malformed packets detected by hw] (patchwork.ozlabs.org, 24.07.2014)&lt;br /&gt;
* [https://community.zyxel.com/en/discussion/2574/degraded-gigabit-problem-with-gs1200-8 Degraded Gigabit problem with GS1200-8] (community.zyxel.com, April 2019)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Jsterr}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Proxmox Troubleshooting]]&lt;br /&gt;
[[de:PCIe link lost]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/MegaRAID_9341-4i_Debian_11_DMAR_DRHD_handling_fault_status_reg_3</id>
		<title>MegaRAID 9341-4i Debian 11 DMAR DRHD handling fault status reg 3</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/MegaRAID_9341-4i_Debian_11_DMAR_DRHD_handling_fault_status_reg_3"/>
		<updated>2026-05-21T07:09:47Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;After installing Debian 11 on a system with MegaRAID 9341-4i RAID controller, messages such as &amp;#039;&amp;#039;&amp;#039;AVAGO EFI SAS Driver is Unhealthy&amp;#039;&amp;#039;&amp;#039; may appear during the boot process and &amp;#039;&amp;#039;&amp;#039;DMAR: DRHD: handling fault status reg 3&amp;#039;&amp;#039;&amp;#039; in the system log. In this article, we explain how to solve this problem by using the kernel parameter &amp;#039;&amp;#039;&amp;#039;intel_iommu=on iommu=pt&amp;#039;&amp;#039;&amp;#039;.  == Description of problem ==  After installing Debian 11, the following problems appear on a system with MegaRAI...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After installing [[Debian]] 11 on a system with [[MegaRAID 9341-4i RAID controller]], messages such as &amp;#039;&amp;#039;&amp;#039;AVAGO EFI SAS Driver is Unhealthy&amp;#039;&amp;#039;&amp;#039; may appear during the boot process and &amp;#039;&amp;#039;&amp;#039;DMAR: DRHD: handling fault status reg 3&amp;#039;&amp;#039;&amp;#039; in the system log. In this article, we explain how to solve this problem by using the kernel parameter &amp;#039;&amp;#039;&amp;#039;intel_iommu=on iommu=pt&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of problem == &lt;br /&gt;
After installing Debian 11, the following problems appear on a system with MegaRAID 9341-4i RAID controller:&lt;br /&gt;
* Message during boot process:&lt;br /&gt;
*: [[Avago EFI SAS Driver is Unhealthy]]&lt;br /&gt;
* Message in the BIOS:&lt;br /&gt;
*: &amp;#039;&amp;#039;&amp;#039;L2/L3 Cache error was detected on the RAID controller. Please contact technical support to resolve this issue. Press &amp;#039;X&amp;#039; to continue or else power off the system, replace the controller and reboot.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Error message in Syslog:&lt;br /&gt;
*: &amp;#039;&amp;#039;&amp;#039;DMAR: DRHD: handling fault status reg 3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Error message in Syslog explained in detail:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ 44.978734] megasas: 07.714.04.00-rc1&lt;br /&gt;
[ 44.979059] megaraid_sas 0000:02:00.0: BAR:0x1 BAR&amp;#039;s base_addr(phys):0x0000000091300000 mapped virt_addr:0x00000000e2c49ffb&lt;br /&gt;
[ 44.979061] megaraid_sas 0000:02:00.0: FW now in Ready state&lt;br /&gt;
[ 44.979061] megaraid_sas 0000:02:00.0: 63 bit DMA mask and 32 bit consistent mask&lt;br /&gt;
[ 44.979181] megaraid_sas 0000:02:00.0: firmware supports msix : (96)&lt;br /&gt;
[ 44.979388] megaraid_sas 0000:02:00.0: requested/available msix 13/13&lt;br /&gt;
[ 44.979389] megaraid_sas 0000:02:00.0: current msix/online cpus : (13/12)&lt;br /&gt;
[ 44.979390] megaraid_sas 0000:02:00.0: RDPQ mode : (disabled)&lt;br /&gt;
[ 44.979391] megaraid_sas 0000:02:00.0: Current firmware supports maximum commands: 272 LDIO threshold: 237&lt;br /&gt;
[ 44.979425] megaraid_sas 0000:02:00.0: Configured max firmware commands: 271&lt;br /&gt;
[ 44.979686] megaraid_sas 0000:02:00.0: Performance mode :Latency&lt;br /&gt;
[ 44.979687] megaraid_sas 0000:02:00.0: FW supports sync cache : Yes&lt;br /&gt;
[ 44.979688] megaraid_sas 0000:02:00.0: megasas_disable_intr_fusion is called outbound_intr_mask:0x40000009&lt;br /&gt;
[ 45.235288] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 45.235366] DMAR: [DMA Write] Request device [02:00.0] PASID ffffffff fault addr 3ffb0000 [fault reason 05] PTE Write access is not set&lt;br /&gt;
[ 45.236414] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 45.236492] DMAR: [DMA Read] Request device [02:00.0] PASID ffffffff fault addr 3ffb0000 [fault reason 06] PTE Read access is not set&lt;br /&gt;
[ 46.289908] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 46.289986] DMAR: [DMA Read] Request device [02:00.0] PASID ffffffff fault addr 3ffb0000 [fault reason 06] PTE Read access is not set&lt;br /&gt;
[ 47.353019] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 50.542825] dmar_fault: 8 callbacks suppressed ...&lt;br /&gt;
[ 291.968323] dmar_fault: 5 callbacks suppressed&lt;br /&gt;
[ 291.968327] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 291.973328] DMAR: [DMA Read] Request device [02:00.0] PASID ffffffff fault addr 3ffb0000 [fault reason 06] PTE Read access is not set&lt;br /&gt;
[ 293.031635] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 293.034716] DMAR: [DMA Read] Request device [02:00.0] PASID ffffffff fault addr 3ffb0000 [fault reason 06] PTE Read access is not set&lt;br /&gt;
[ 294.094631] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 294.098574] DMAR: [DMA Read] Request device [02:00.0] PASID ffffffff fault addr 3ffb0000 [fault reason 06] PTE Read access is not set&lt;br /&gt;
[ 295.157716] DMAR: DRHD: handling fault status reg 3&lt;br /&gt;
[ 296.988718] megaraid_sas 0000:02:00.0: Init cmd return status FAILED for SCSI host 9&lt;br /&gt;
[ 296.994525] megaraid_sas 0000:02:00.0: Failed from megasas_init_fw 6460&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Affected systems ==&lt;br /&gt;
The problem appeared with the following hardware/software.&lt;br /&gt;
&lt;br /&gt;
Hardware:&lt;br /&gt;
* Supermicro mainboard X11SCH-LN4F&lt;br /&gt;
* MegaRAID 9341-4i RAID controller&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* Debian 11 with Linux kernel 5.10.0-11, megaraid_sas module version (via Debian) 07.714.04.00-r, even the latest Broadcom module (07.719.04.00) does not resolve the problem.&lt;br /&gt;
&lt;br /&gt;
When using Debian 10 with Linux kernel 4.19.0-18, megaraid_sas module version 07.706.03.00-rc1, the poblem does not appear. &lt;br /&gt;
&lt;br /&gt;
== Cause ==&lt;br /&gt;
The error message &amp;#039;&amp;#039;DMAR: DRHD: handling fault status reg 3&amp;#039;&amp;#039; indicates a problem in combination with the IOMMU. The terms have the following meanings:&amp;lt;ref&amp;gt;[https://www.intel.com/content/dam/develop/external/us/en/documents/intel-whitepaper-using-iommu-for-dma-protection-in-uefi-820238.pdf A Tour Beyond BIOS: Using IOMMU for DMA Protection in UEFI Firmware] (www.intel.com)&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.kernel.org/doc/Documentation/Intel-IOMMU.txt Linux IOMMU Support] (www.kernel.org/doc)&amp;lt;/ref&amp;gt;&lt;br /&gt;
* DMAR = DMA Remapping Reporting&lt;br /&gt;
* DRHD = DMA Remapping Hardware Unit Definition&lt;br /&gt;
&lt;br /&gt;
== Solution == &lt;br /&gt;
To solve the issue, the Intel IOMMU functions must be activated in the Linux kernel and the IOMMU must be set to pass-through mode.&lt;br /&gt;
&lt;br /&gt;
For this, the following parameter (via /etc/default/grub) must be set:&lt;br /&gt;
* intel_iommu=on iommu=pt&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [https://bbs.archlinux.org/viewtopic.php?pid=1738979#p1738979 (SOLVED) &amp;quot;kernel: DMAR: DRHD: handling fault status reg 3&amp;quot;] (bbs.archlinux.org, 29.09.2017)&lt;br /&gt;
* [https://forum.proxmox.com/threads/raid-controller-9341-8i.88667/ raid controller 9341-8i] (forum.proxmox.com, 04.05.2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]][[Category:LSI]]&lt;br /&gt;
[[de:MegaRAID 9341-4i Debian 11 DMAR DRHD handling fault status reg 3]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Debian_11_installation_with_DMAR_DRHD_handling_fault_status_reg_3_error_message</id>
		<title>Debian 11 installation with DMAR DRHD handling fault status reg 3 error message</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Debian_11_installation_with_DMAR_DRHD_handling_fault_status_reg_3_error_message"/>
		<updated>2026-05-21T05:56:09Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;When installing Debian 11 on systems with a MegaRAID 9341-4i RAID controller, it may come to error messages such as &amp;#039;&amp;#039;&amp;#039;AVAGO EFI SAS Driver is Unhealthy&amp;#039;&amp;#039;&amp;#039; during the starting process and &amp;#039;&amp;#039;&amp;#039;DMAR: DRHD: handling fault status reg 3 &amp;#039;&amp;#039; when starting the operating system. In this article, we show how to install Debian 11 by using the kernel parameters &amp;#039;&amp;#039;&amp;#039;intel_iommu=on&amp;#039;&amp;#039;&amp;#039; and  &amp;#039;&amp;#039;&amp;#039;iommu=pt&amp;#039;&amp;#039;&amp;#039;.   == Error message in the BIOS, during boot process and installation == In this ca...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When installing Debian 11 on systems with a MegaRAID 9341-4i RAID controller, it may come to error messages such as &amp;#039;&amp;#039;&amp;#039;AVAGO EFI SAS Driver is Unhealthy&amp;#039;&amp;#039;&amp;#039; during the starting process and &amp;#039;&amp;#039;&amp;#039;DMAR: DRHD: handling fault status reg 3 &amp;#039;&amp;#039; when starting the operating system. In this article, we show how to install Debian 11 by using the kernel parameters &amp;#039;&amp;#039;&amp;#039;intel_iommu=on&amp;#039;&amp;#039;&amp;#039; and  &amp;#039;&amp;#039;&amp;#039;iommu=pt&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
== Error message in the BIOS, during boot process and installation ==&lt;br /&gt;
In this case, the installation was performed on a Supermicro mainboard X11SCH-LN4F and on a MegaRAID 9341-4i RAID controller, as both of these components lead to this error message in combination.&lt;br /&gt;
This case is described in detail in the following article: [[MegaRAID 9341-4i Debian 11 DMAR DRHD handling fault status reg 3]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Three types of errors that occur&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:BootPostUnhealty.png|Error message of the controller in the postscreen - &amp;#039;&amp;#039;&amp;#039;AVAGO EFI SAS Driver is unhealthy&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
file:Fehler1.png|Error message encountered when booting from the boot medium &amp;#039;&amp;#039;&amp;#039;DMAR: DRHD: handling fault status reg 3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
file:Fehler2.png|Error in the Debian installer during hard drive selection: the RAID is not displayed&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
To solve the problem, the Intel IOMMU functions must be set to pass-through in the Linux kernel.&lt;br /&gt;
&lt;br /&gt;
The following kernel parameters must be set for this:intel_iommu=on iommu=pt&lt;br /&gt;
&lt;br /&gt;
These parameters must be set three times&lt;br /&gt;
# in the Debian installer&lt;br /&gt;
# after booting in the GRUB&lt;br /&gt;
# in the OS under /etc/default/grub&lt;br /&gt;
&lt;br /&gt;
=== 1) Changes made during installation using the Debian installer === &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For a UEFi installation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Install1.png| With &amp;quot;E&amp;quot; for Edit Selection, the boot entry can be changed&lt;br /&gt;
file:Install2.png| Here, the third line must be edited  &amp;#039;&amp;#039;&amp;#039;&amp;quot;linux /install.amd/vmlinuz vga=788 --- quiet&amp;quot;&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
file:Install3.png| &amp;#039;&amp;#039;&amp;#039;&amp;quot;--- quiet&amp;quot;&amp;#039;&amp;#039;&amp;#039;  must be replaced by &amp;#039;&amp;#039;&amp;#039;&amp;quot;intel_iommu=on iommu=pt&amp;quot;&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For a LEGACY installation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Legacy1.png| In legacy mode,  the boot entry can be edited via &amp;#039;&amp;#039;&amp;#039;tab-key&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
file:Legacy2-tabdruecken.png|edit &amp;#039;&amp;#039;&amp;#039;&amp;quot;linux /install.amd/vmlinuz vga=788 --- quiet&amp;quot;&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
file:Legacy3-dannenter.png| &amp;#039;&amp;#039;&amp;#039;&amp;quot;--- quiet&amp;quot;&amp;#039;&amp;#039;&amp;#039;  must be replaced by &amp;#039;&amp;#039;&amp;#039;&amp;quot;intel_iommu=on iommu=pt&amp;quot;&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The Raid is now displayed&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Install4.png| The Raid is now displayed and can be selected for the installation &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2) Changes after installation in the GRUB ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Nachinstall1.png| After installation, edit the boot entry via &amp;quot;E&amp;quot; &lt;br /&gt;
file:Nachinstall2.png| The third-to-last line  &amp;#039;&amp;#039;&amp;#039;linux /boot/vmlinuz-5-10.0-17...... ro quiet&amp;#039;&amp;#039;&amp;#039;  must be edited. &lt;br /&gt;
file:Nachinstall3.png|&amp;#039;&amp;#039;&amp;#039;&amp;quot;quiet&amp;quot;&amp;#039;&amp;#039;&amp;#039;  must be replaced by &amp;#039;&amp;#039;&amp;#039;&amp;quot;intel_iommu=on iommu=pt&amp;quot;&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3) Changes in OS ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
file:Grub0.png| Navigate to the &amp;#039;&amp;#039;&amp;#039;/etc/default&amp;#039;&amp;#039;&amp;#039; directory&lt;br /&gt;
file:Grub1.png| Edit &amp;#039;&amp;#039;&amp;#039;grub&amp;#039;&amp;#039;&amp;#039; with, for example, nano &lt;br /&gt;
file:Grub2.png|&amp;#039;&amp;#039;&amp;#039;GRUB_CMBLINE_LINUX_DEFAULT=&amp;quot;intel_iommu=on iommu=pt&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
file:Grubupdate2.png|Update GRUB using&amp;#039;&amp;#039;&amp;#039;&amp;quot;su -&amp;quot;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;quot;update-grub&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the parameters have been set and the update-grub command has been performed, they will now be executed every time the system starts up, ensuring that the RAID controller and the RAID array are detected correctly.&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [https://bbs.archlinux.org/viewtopic.php?pid=1738979#p1738979 (SOLVED) &amp;quot;kernel: DMAR: DRHD: handling fault status reg 3&amp;quot;] (bbs.archlinux.org, 29.09.2017)&lt;br /&gt;
* [https://forum.proxmox.com/threads/raid-controller-9341-8i.88667/ raid controller 9341-8i] (forum.proxmox.com, 04.05.2021)&lt;br /&gt;
* [https://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM How to assign devices with VT-d in KVM] (www.linux-kvm.org 25.6.2016)&lt;br /&gt;
* [https://gist.github.com/davesilva/445276f9157e7cb3a4f6ed2fe852b340 Setting up KVM with GPU passthrough in Debian Buster ] (gist.github.com 13.08.2020)&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
# [https://www.intel.com/content/dam/develop/external/us/en/documents/intel-whitepaper-using-iommu-for-dma-protection-in-uefi-820238.pdf  A Tour Beyond BIOS: Using IOMMU for DMA Protection in UEFI Firmware ] (www.intel.com)&lt;br /&gt;
# [https://www.kernel.org/doc/Documentation/Intel-IOMMU.txt  Linux IOMMU Support ] (www.kernel.org/doc)&lt;br /&gt;
&lt;br /&gt;
{{Ldirr}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
&lt;br /&gt;
{{Consultinglink|campaign=Thomas-Krenn Windows Admin Center (WAC) Extension}}&lt;br /&gt;
[[Category:Debian]][[Category:LSI]]&lt;br /&gt;
[[de:Debian 11 Installation bei Fehlermeldung DMAR DRHD handling fault status reg 3]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Security_advisories_on_Intel_products_2026.2_IPU</id>
		<title>Security advisories on Intel products 2026.2 IPU</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Security_advisories_on_Intel_products_2026.2_IPU"/>
		<updated>2026-05-20T07:39:55Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In &amp;#039;&amp;#039;&amp;#039;2026&amp;#039;&amp;#039;&amp;#039;, Intel published new security advisories as part of the IPU 2026.2 on different Intel products. Some of these security advisories require &amp;#039;&amp;#039;&amp;#039;firmware updates&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
In this article, you will find an excerpt and hints on these security advisories as well as information on where to find updates for Thomas-Krenn products.&lt;br /&gt;
&lt;br /&gt;
== Affected systems == &lt;br /&gt;
&lt;br /&gt;
* Intel Xeon processors&lt;br /&gt;
* Intel Core processors&lt;br /&gt;
* Intel Atom processors&lt;br /&gt;
* Intel Pentium processors&lt;br /&gt;
* Intel Celeron processors&lt;br /&gt;
&lt;br /&gt;
== Security advisories ==&lt;br /&gt;
In the following, you will find security advisories on the firmware that has been published by Intel.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color: #EFEFEF; font-weight: bold;&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |Intel security advisory&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |Title&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |Affected systems&lt;br /&gt;
|-&lt;br /&gt;
|align=center | [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01393.html INTEL-SA-01393]&lt;br /&gt;
|align=center | 2026.1 IPU, UEFI Reference Firmware Advisory&lt;br /&gt;
| rowspan=&amp;quot;35&amp;quot; align=&amp;quot;left&amp;quot; | (see Intel-SA)&lt;br /&gt;
|-&lt;br /&gt;
|align=center | [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01420.html INTEL-SA-01420]&lt;br /&gt;
|align=center | 2026.2 IPU - Intel® Processor Firmware Advisory&lt;br /&gt;
|-&lt;br /&gt;
|align=center | [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01413.html INTEL-SA-01413]&lt;br /&gt;
|align=center | UEFI Reference Firmware Advisory&lt;br /&gt;
|-&lt;br /&gt;
|align=center | [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01425.html INTEL-SA-01425]&lt;br /&gt;
|align=center | Intel® Slim Bootloader Advisory&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Updates for Thomas-Krenn products == &lt;br /&gt;
Updates on the corresponding system can be found in the &amp;lt;tklink type=&amp;quot;sitex&amp;quot; id=&amp;quot;440&amp;quot;&amp;gt;download area of Thomas-Krenn&amp;lt;/tklink&amp;gt;. The updates in the download area have been tested by us to guarantee the stability and compatibility of our systems.&lt;br /&gt;
&lt;br /&gt;
If you require the latest version for your system and it is not yet available in our download area, you can get it at [https://www.asus.com/de/support/download-center/ Asus] , [https://www.supermicro.com/en/support/resources/downloadcenter/swdownload Supermicro] or [https://www.gigabyte.com/de/Support/Consumer/Download Gigabyte]&lt;br /&gt;
&lt;br /&gt;
== More information == &lt;br /&gt;
* [https://www.intel.com/content/www/us/en/security-center/default.html Security Center] (www.intel.com)&lt;br /&gt;
* [https://www.supermicro.com/en/support/security_Intel_IPU2026.2 Intel Platform Update (IPU) Update 2026.2 May 2026] (www.supermicro.com)&lt;br /&gt;
* [https://www.supermicro.com/en/support/security_Intel_IPU2026.1_part2 Intel Platform Update (IPU) Update 2026.1 Part 2, May 2026] (www.supermicro.com)&lt;br /&gt;
{{Thomas-Krenn.AG}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Intel]]&lt;br /&gt;
[[de:Sicherheitshinweise zu Intel Produkten 2026.2 IPU]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/AMD_Security_Vulnerabilities_-_May_2026</id>
		<title>AMD Security Vulnerabilities - May 2026</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/AMD_Security_Vulnerabilities_-_May_2026"/>
		<updated>2026-05-20T05:53:03Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;On &amp;#039;&amp;#039;&amp;#039;May 12th, 2026&amp;#039;&amp;#039;&amp;#039;, AMD published the security bulletins &amp;#039;&amp;#039;&amp;#039;AMD-SB-3030&amp;#039;&amp;#039;&amp;#039; &amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3030.html AMD EPYC and AMD EPYC Embedded Series Processor Vulnerabilities – May 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt;, &amp;#039;&amp;#039;&amp;#039;AMD-SB-4017&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-4017.html AMD Athlon, AMD Ryzen, and AMD Ryzen Embedded Series Processor Vulnerabilities – Ma...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On &amp;#039;&amp;#039;&amp;#039;May 12th, 2026&amp;#039;&amp;#039;&amp;#039;, AMD published the security bulletins &amp;#039;&amp;#039;&amp;#039;AMD-SB-3030&amp;#039;&amp;#039;&amp;#039; &amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3030.html AMD EPYC and AMD EPYC Embedded Series Processor Vulnerabilities – May 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt;, &amp;#039;&amp;#039;&amp;#039;AMD-SB-4017&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-4017.html AMD Athlon, AMD Ryzen, and AMD Ryzen Embedded Series Processor Vulnerabilities – May 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; and &amp;#039;&amp;#039;&amp;#039;AMD-SB-7052&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7052.html CPU OP Cache Corruption - May 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; with one security vulnerability each. This article includes tables listing measures to address the security vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
== Affected systems ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD Threadripper systems:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* systems with AMD Ryzen Threadripper PRO 3000WX processors&lt;br /&gt;
* systems with AMD Ryzen Threadripper 7000 / PRO 7000WX processors&lt;br /&gt;
* systems with AMD Ryzen Threadripper 9000 / PRO 9000WX processors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC systems:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* systems with &amp;quot;Zen 4&amp;quot; [[AMD EPYC 4004 Raphael]] processors&lt;br /&gt;
* systems with &amp;quot;Zen 2&amp;quot; [[AMD EPYC 7002 Rome]] processors&lt;br /&gt;
* systems with &amp;quot;Zen 3&amp;quot; [[AMD EPYC 7003 Milan]] processors&lt;br /&gt;
* systems with &amp;quot;Zen 4&amp;quot; [[AMD EPYC 9004 Genoa and Bergamo]] &amp;amp; 8004 Siena processors&lt;br /&gt;
* systems with &amp;quot;Zen 5&amp;quot; [[AMD EPYC 9005 Turin]] processors&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
&lt;br /&gt;
Here is a table listing the relevant CVEs and corrective measures for the respective EPYC generation, if available. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 4004 Raphael&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2024-36315 CVE-2024-36315]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.7 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ComboAM5PI_1.0.0.a (2024-09-11)&lt;br /&gt;
ComboAM5PI_1.1.0.3c (2024-09-11)&lt;br /&gt;
&lt;br /&gt;
ComboAM5PI_1.2.0.3 (2024-09-11)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 7002 Rome&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;Correction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54518 CVE-2025-54518]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.3 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |OS update&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 7003 Milan:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!TCB‑value for SNP-certification &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-61971 CVE-2025-61971]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |MilanPI 1.0.0.J (2025-12-15)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x1D&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 8004 Siena:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!Microcode&lt;br /&gt;
!TCB‑value for SNP-certification&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2024-36315 CVE-2024-36315]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.7 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |GenoaPI 1.0.0.E (2024-12-18) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |A2: 0AA00216&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-61971 CVE-2025-61971]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |Genoa++_1.0.0.H (2025-12-15)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[BL]&amp;gt;=0xC&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-61972 CVE-2025-61972]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |8.5 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Genoa++_1.0.0.H (2025-12-15) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[BL]&amp;gt;=0xC&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 9004 Genoa:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!Microcode&lt;br /&gt;
!TCB‑value for SNP-certification &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2024-36315 CVE-2024-36315]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.7 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |GenoaPI 1.0.0.E (2024-12-18) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |A2: 0x0AA00219&lt;br /&gt;
B1: 0x0A101154&lt;br /&gt;
&lt;br /&gt;
B2: 0x0A10124F&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-61971 CVE-2025-61971]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |Genoa++_1.0.0.H (2025-12-15)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[BL]&amp;gt;=0xC&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-61972 CVE-2025-61972]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |8.5 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Genoa++_1.0.0.H (2025-12-15) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[BL]&amp;gt;=0xC&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 9005 Turin / Turin Dense&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!TCB‑value for SNP-certification&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-61971 CVE-2025-61971]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TurinPI_1.0.0.8 (2025-11-26)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[TEE]&amp;gt;=0x2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-61972 CVE-2025-61972]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |8.5 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TurinPI_1.0.0.8 (2025-11-26) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[TEE]&amp;gt;=0x2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD Ryzen Threadripper PRO 3000WX&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2021-46747 CVE-2021-46747]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.1 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |CastlePeakWSPI-sWRX8 1.0.0.9 (2022-01-20)&lt;br /&gt;
ChagallWSPI-sWRX8 1.0.0.2 (2022-01-20)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-48516 CVE-2025-48516]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |6.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |no specific plans &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2021-26380 CVE-2021-26380]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |1.8 (low)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ChagallWSPI-sWRX8 1.0.0.2 (2022-01-20)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54518 CVE-2025-54518]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.3 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ChagallWSPI-sWRX8-1.0.0.D (11-04-2025)&lt;br /&gt;
CastlePeakWSPI-sWRX8 1.0.0.I (10-17-2025)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD Ryzen Threadripper 7000 / PRO 7000WX&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2026-0438 CVE-2026-0438]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.4 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1c (2025-10-21)&lt;br /&gt;
StormPeakPI-SP6 1.0.0.1m (2025-12-01)&lt;br /&gt;
&lt;br /&gt;
StormPeakPI-SP6_1.1.0.0k (2025-12-01)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-48516 CVE-2025-48516]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |6.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1b (2025-08-04)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2024-36345 CVE-2024-36345]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |4.6 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |StormPeakPI-SP6 1.1.0.0k (2025-12-01)&lt;br /&gt;
StormPeakPI-SP6 1.0.0.1m (2025-12-01)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2024-36343 CVE-2024-36343]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |4.6 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |StormPeakPI-SP6 1.1.0.0k (2025-12-01)&lt;br /&gt;
StormPeakPI-SP6 1.0.0.1m (2025-12-01)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD Ryzen Threadripper 9000 / PRO 9000WX&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2026-0438 CVE-2026-0438]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.4 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1c (2025-10-21)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-48516 CVE-2025-48516]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |6.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1b (2025-08-04)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Supermicro security bulletins were published for security vulnerabilities. A list with BIOS-versions for the respective mainboards, to close the gaps, is also included. In the following, there is an excerpt from this table, in which all mainboards are listed that are offered by Thomas Krenn: &amp;lt;ref&amp;gt;[https://www.supermicro.com/en/support/security_center#!advisories Supermicro Security Center] (www.supermicro.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!AMD motherboard &lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;BIOS version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H12SSW-iN/NT&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H12SSL-i/C/CT/NT&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H12DSi-N6/NT6&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H13SSW&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.8&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H13SSL-N/NC&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Updates for Thomas-Krenn products ===&lt;br /&gt;
Updates on the corresponding system can be found in the &amp;lt;tklink type=&amp;quot;sitex&amp;quot; id=&amp;quot;440&amp;quot;&amp;gt;download area of Thomas-Krenn&amp;lt;/tklink&amp;gt;. The versions in the download area have been tested to guarantee the stability and compatibility of our systems.&lt;br /&gt;
&lt;br /&gt;
If you require the latest version for your system and it is not yet available in our download area, you can get it at [https://www.asus.com/de/support/download-center/ Asus] or [https://www.supermicro.com/en/support/resources/downloadcenter/swdownload Supermicro].&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Thomas-Krenn.AG}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:AMD Safety Information]]&lt;br /&gt;
[[de:AMD Sicherheitslücken - Mai 2026]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/NIC_bonding_on_Debian</id>
		<title>NIC bonding on Debian</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/NIC_bonding_on_Debian"/>
		<updated>2026-05-15T08:25:59Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;==Different kinds of bonding==  * mode=0 (balance-rr) * mode=1 (active-backup)  * mode=2 (balance-xor)  * mode=3 (broadcast)  * mode=4 (802.3ad) (see also Link Aggregation and LACP basics) * mode=5 (balance-tlb)  * mode=6 (balance-alb)  == Install packages ==   apt-get install ifenslave-2.6  == Configuration Debian 5.0 Lenny and newer == In this example, we explain a configuration with mode 4 (802.3ad).  For the link aggregation, we use: * eth0 and * eth1  &amp;lt;code&amp;gt;/etc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Different kinds of bonding==&lt;br /&gt;
&lt;br /&gt;
* mode=0 (balance-rr)&lt;br /&gt;
* mode=1 (active-backup) &lt;br /&gt;
* mode=2 (balance-xor) &lt;br /&gt;
* mode=3 (broadcast) &lt;br /&gt;
* mode=4 (802.3ad) (see also [[Link Aggregation and LACP basics]])&lt;br /&gt;
* mode=5 (balance-tlb) &lt;br /&gt;
* mode=6 (balance-alb)&lt;br /&gt;
&lt;br /&gt;
== Install packages ==&lt;br /&gt;
  apt-get install ifenslave-2.6&lt;br /&gt;
&lt;br /&gt;
== Configuration Debian 5.0 Lenny and newer ==&lt;br /&gt;
In this example, we explain a configuration with mode 4 (802.3ad).&lt;br /&gt;
&lt;br /&gt;
For the link aggregation, we use:&lt;br /&gt;
* eth0 and&lt;br /&gt;
* eth1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; contains the following configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto lo bond0&lt;br /&gt;
&lt;br /&gt;
iface bond0 inet static&lt;br /&gt;
  address 10.10.10.174&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  network 10.10.10.0&lt;br /&gt;
  gateway 10.10.10.1&lt;br /&gt;
  slaves eth0 eth1&lt;br /&gt;
  bond_mode 802.3ad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As remote station, we use the switch of an Intel modular server. Eth0 and eth1 of the server are connected to the LAN-ports 1 and 2 on the modular server switch. Both LAN-ports are configured for the link aggregation. Details on this can be found in the articles [[Link Aggregation for the Modular Server]] and [[Link Aggregation Load Balancing Test Modular Server Switch]].&lt;br /&gt;
&lt;br /&gt;
== Configuration Debian 4.0 Etch ==&lt;br /&gt;
&lt;br /&gt;
=== Adjustment of /etc/network/interfaces ===&lt;br /&gt;
 iface bond0 inet static&lt;br /&gt;
    address 192.168.0.9&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    network 192.168.0.0&lt;br /&gt;
    gateway 192.168.0.1&lt;br /&gt;
    up /sbin/ifenslave bond0 eth0 eth1&lt;br /&gt;
    down /sbin/ifenslave -d bond0 eth0 eth1&lt;br /&gt;
&lt;br /&gt;
=== Editing of /etc/modprobe.d/arch/i386 file ===&lt;br /&gt;
Add the following line there:&lt;br /&gt;
&lt;br /&gt;
 alias bond0 bonding&lt;br /&gt;
  options bonding mode=5 miimon=100 downdelay=200 updelay=200&lt;br /&gt;
&lt;br /&gt;
=== Restart networking === &lt;br /&gt;
  /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=== How does bonding work with mode=5 ===&lt;br /&gt;
The incoming traffic is received only from the active slave. Outgoing traffic is distributed across both slaves based on their respective loads.&lt;br /&gt;
&lt;br /&gt;
== Further links == &lt;br /&gt;
* http://wiki.debian.org/Bonding&lt;br /&gt;
* [http://www.dodgenet.de/Software/bonding.html Bonding Modi auf www.dodgenet.de]&lt;br /&gt;
* [http://www.linuxfoundation.org/en/Net:Bonding Ausführliche Anleitung zum Bonding auf www.linuxfoundation.org]&lt;br /&gt;
&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[pl:NIC Bonding w Debianie]]&lt;br /&gt;
[[de:NIC Bonding unter Debian]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Reset_IPMI_password</id>
		<title>Reset IPMI password</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Reset_IPMI_password"/>
		<updated>2026-05-15T05:42:40Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;This article describes how to reset the &amp;#039;&amp;#039;&amp;#039;password&amp;#039;&amp;#039;&amp;#039; of an &amp;#039;&amp;#039;&amp;#039;IPMI module&amp;#039;&amp;#039;&amp;#039;. Please note that on Supermicro systems, the maximum password length is effectively 19 characters when setting a new password (The array length is 20 characters and the string is NULL-terminated, leaving 19 characters available). &amp;lt;ref&amp;gt;[https://www.supermicro.com/support/faqs/faq.cfm?faq=16778 What is the maximum password length for IPMI?] (Supermicro FAQ 16778)&amp;lt;/ref&amp;gt;  ==Resetting the password...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to reset the &amp;#039;&amp;#039;&amp;#039;password&amp;#039;&amp;#039;&amp;#039; of an &amp;#039;&amp;#039;&amp;#039;IPMI module&amp;#039;&amp;#039;&amp;#039;. Please note that on Supermicro systems, the maximum password length is effectively 19 characters when setting a new password (The array length is 20 characters and the string is NULL-terminated, leaving 19 characters available). &amp;lt;ref&amp;gt;[https://www.supermicro.com/support/faqs/faq.cfm?faq=16778 What is the maximum password length for IPMI?] (Supermicro FAQ 16778)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resetting the password using the impicfg tool on Supermicro systems==&lt;br /&gt;
&lt;br /&gt;
The IPMI password can be reset by restoring the IPMI to its factory defaults. Please note that with many IPMI versions, particularly older ones, the network settings are also reset! Therefore, it is recommended to note or save the network settings before the reset. All steps, that are required, can be performed with the command line tool ipmicfg. This tool is available for Windows as well as for Linux operating systems.&lt;br /&gt;
&lt;br /&gt;
In the following, the recommended process is explained:&lt;br /&gt;
&lt;br /&gt;
===Step 1: Reading out the current network configuration===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@(none):~# ipmicfg -m&lt;br /&gt;
IP=10.10.10.183 MAC=00:25:90:19:78:5A&lt;br /&gt;
root@(none):~# ipmicfg -k&lt;br /&gt;
Net Mask=255.255.255.0&lt;br /&gt;
root@(none):~# ipmicfg -g&lt;br /&gt;
IP=10.10.10.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 2: Reset to factory defaults===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@(none):~# ipmicfg -fd&lt;br /&gt;
Reset to the factory default completed!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 3: Verify network settings and adjust as needed===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@(none):~# ipmicfg -m&lt;br /&gt;
IP=10.10.10.183 MAC=00:25:90:19:78:5A&lt;br /&gt;
root@(none):~# ipmicfg -k&lt;br /&gt;
Net Mask=255.255.255.0&lt;br /&gt;
root@(none):~# ipmicfg -g&lt;br /&gt;
IP=10.10.10.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If these network settings are not correct anymore, the settings must be reset to the original values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@(none):~# ipmicfg -m 10.10.10.183&lt;br /&gt;
IP=10.10.10.183&lt;br /&gt;
root@(none):~# ipmicfg -k 255.255.255.0&lt;br /&gt;
Net Mask=255.255.255.0&lt;br /&gt;
root@(none):~# ipmicfg -g 10.10.10.1&lt;br /&gt;
Gateway IP=10.10.10.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Default IPMI password===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hint:&amp;#039;&amp;#039;&amp;#039; Since the end of 2019, Supermicro creates an individual password per IPMI interface for X10- and X11-mainboards. Please follow the instructions on the stickers on the mainboards or system.&lt;br /&gt;
&lt;br /&gt;
User: ADMIN&lt;br /&gt;
&lt;br /&gt;
Password: ADMIN&lt;br /&gt;
&lt;br /&gt;
===Download link for ipmicfg===&lt;br /&gt;
* [ftp://ftp.supermicro.com/utility/IPMICFG/ ipmicfg für DOS/Linux/Windows]&lt;br /&gt;
&lt;br /&gt;
==Resetting password using ipmitool on a Linux server==&lt;br /&gt;
&lt;br /&gt;
The IPMI password can be changed by using &amp;lt;code&amp;gt;ipmitool user set password &amp;lt;userid&amp;gt;&amp;lt;/code&amp;gt;. Here is the general syntax for &amp;lt;code&amp;gt;ipmitool user&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@sr2500 ~]# ipmitool user &lt;br /&gt;
User Commands: summary [&amp;lt;channel number&amp;gt;]&lt;br /&gt;
                   list    [&amp;lt;channel number&amp;gt;]&lt;br /&gt;
                   set name     &amp;lt;user id&amp;gt; &amp;lt;username&amp;gt;&lt;br /&gt;
                   set password &amp;lt;user id&amp;gt; [&amp;lt;password&amp;gt;]&lt;br /&gt;
                   disable      &amp;lt;user id&amp;gt;&lt;br /&gt;
                   enable       &amp;lt;user id&amp;gt;&lt;br /&gt;
                   priv         &amp;lt;user id&amp;gt; &amp;lt;privilege level&amp;gt; [&amp;lt;channel number&amp;gt;]&lt;br /&gt;
                   test         &amp;lt;user id&amp;gt; &amp;lt;16|20&amp;gt; [&amp;lt;password]&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[root@sr2500 ~]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the article [[Configuring IPMI under Linux using ipmitool]], there is an example for the SR2500 server.&lt;br /&gt;
&lt;br /&gt;
==Resetting the whole module using the DOS-tool for Supermicro IPMI modules==&lt;br /&gt;
&lt;br /&gt;
Content of Readme.txt&lt;br /&gt;
&lt;br /&gt;
 Please boot from a bootable floppy disk then run A:\&amp;gt;defaultp.exe (bzw. erasedat20.exe)&lt;br /&gt;
 &lt;br /&gt;
 Attention! IPNMAC must then be executed, as the IPMI module is reset to factory defaults! &lt;br /&gt;
&lt;br /&gt;
=== Download link ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.thomas-krenn.com/redx_tools/mb_download.php/mid.070084079082053073121049051113056061/IPMI_config_tools.zip IPMI_config_tools.zip] (contains IPnMAC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:IPMI]]&lt;br /&gt;
[[pl:Przywrócenie domyślnego hasła w IPMI]]&lt;br /&gt;
[[de:IPMI Passwort zurücksetzen]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Reading_the_Fortron_TwinsPro_FSP900_DUAL_power_supply_under_Linux</id>
		<title>Reading the Fortron TwinsPro FSP900 DUAL power supply under Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Reading_the_Fortron_TwinsPro_FSP900_DUAL_power_supply_under_Linux"/>
		<updated>2026-05-11T13:17:06Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;1st image: Fortron TwinsPro FSP 900 DUAL  &amp;#039;&amp;#039;&amp;#039;Fortron TwinsPro FSP900 Dual power supply&amp;#039;&amp;#039;&amp;#039; does not provide a native way to read data from the power supply when used with Linux on a server motherboard. However, the data can still be analyzed using Linux&amp;#039;s built-in tools.    == Problem ==  Fortron provides only a Windows port as standard, allowing users to monitor the power supply using...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TwinsPro900W.png|alt=Abb. 1: Forton TwinsPro FSP 900 DUAL|thumb|300x300px|1st image: Fortron TwinsPro FSP 900 DUAL ]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fortron TwinsPro FSP900 Dual power supply&amp;#039;&amp;#039;&amp;#039; does not provide a native way to read data from the power supply when used with [[Linux]] on a server motherboard. However, the data can still be analyzed using Linux&amp;#039;s built-in tools.  &lt;br /&gt;
&lt;br /&gt;
== Problem == &lt;br /&gt;
Fortron provides only a Windows port as standard, allowing users to monitor the power supply using the company&amp;#039;s proprietary software, FSP Guardian.&lt;br /&gt;
&lt;br /&gt;
If you want to use the power supply on a server motherboard running a Linux server operating system, the manufacturer does not provide the means to read the data. A PMBus interface is also missing.&lt;br /&gt;
&lt;br /&gt;
The following section will therefore explain how to retrieve the data using existing tools in modern Linux environments:&lt;br /&gt;
* Configuration with board resources&lt;br /&gt;
* Connecting and testing the power supply unit&lt;br /&gt;
* Making available the kernelspace for monitoring functions&lt;br /&gt;
* Error checking&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In the following, we configure the data readout with the help of &amp;lt;code&amp;gt;i2c-tools&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lm-sensors&amp;lt;/code&amp;gt; from a power supply by connecting it to a &amp;#039;&amp;#039;&amp;#039;USB 2.0 header&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Testing environment === &lt;br /&gt;
For the configuration, a system with Linux operating system is required. We test with an Ubuntu image:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux custom-hw-image 5.15.0-97-generic #107-Ubuntu SMP Wed Feb 7 13:26:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
&lt;br /&gt;
=== Package installation ===&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;code&amp;gt;i2c-tools&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lm-sensors&amp;lt;/code&amp;gt;:&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;&lt;br /&gt;
root@custom-hw-image:~# apt install i2c-tools lm-sensors&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hardware detection ===&lt;br /&gt;
So that the data can be read out, the device must be detected correctly and integrated. Verify first, if the power supply is connected via USB 2.0 header:&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;root@custom-hw-image:~# lsusb&lt;br /&gt;
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 001 Device 003: ID 10c4:ea90 Silicon Labs CP2112 HID I2C Bridge&lt;br /&gt;
Bus 001 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120&lt;br /&gt;
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&amp;lt;/syntaxhighlight&amp;gt;The searched power supply unit &amp;#039;&amp;#039;&amp;#039;device 003 on bus 001&amp;#039;&amp;#039;&amp;#039; has been detected correctly. Now verify, on which bus the bridge is integrated via I2C:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@custom-hw-image:~# i2cdetect -l&lt;br /&gt;
i2c-0   smbus           SMBus I801 adapter at efa0              SMBus adapter&lt;br /&gt;
i2c-1   i2c             Synopsys DesignWare I2C adapter         I2C adapter&lt;br /&gt;
i2c-2   i2c             Synopsys DesignWare I2C adapter         I2C adapter&lt;br /&gt;
i2c-3   i2c             Synopsys DesignWare I2C adapter         I2C adapter&lt;br /&gt;
i2c-4   i2c             Synopsys DesignWare I2C adapter         I2C adapter&lt;br /&gt;
i2c-5   i2c             Synopsys DesignWare I2C adapter         I2C adapter&lt;br /&gt;
i2c-6   i2c             CP2112 SMBus Bridge on hidraw2          I2C adapter&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, the &amp;#039;&amp;#039;&amp;#039;SMBus bridge&amp;#039;&amp;#039;&amp;#039; has been found on &amp;#039;&amp;#039;&amp;#039;bus i2c-6&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Reading out bus ===&lt;br /&gt;
&lt;br /&gt;
You can now read out the I2C-bus on this address:&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@custom-hw-image:~# i2cdetect -y 6&lt;br /&gt;
Warning: Can&amp;#039;t use SMBus Quick Write command, will skip some addresses&lt;br /&gt;
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f&lt;br /&gt;
00:&lt;br /&gt;
10:&lt;br /&gt;
20:&lt;br /&gt;
30: -- -- -- -- -- -- -- --&lt;br /&gt;
40:&lt;br /&gt;
50: 50 51 -- -- -- -- 56 -- 58 59 -- -- -- -- -- --&lt;br /&gt;
60:&lt;br /&gt;
70:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Here, both power supply units are detected on the addresses &amp;#039;&amp;#039;&amp;#039;0x58&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;0x59&amp;#039;&amp;#039;&amp;#039;. To check, if the manufacturer name is correct:&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;root@custom-hw-image:~# i2cget -y 6 0x58 0x99 i 8&lt;br /&gt;
0x09 0x46 0x53 0x50 0x2d 0x47 0x52 0x4f&lt;br /&gt;
root@custom-hw-image:~# printf &amp;quot;\x09\x46\x53\x50\x2d\x47\x52\x4f\n&amp;quot;&lt;br /&gt;
FSP-GRO&amp;lt;/syntaxhighlight&amp;gt;The voltage can be read out for the verification. &amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;&lt;br /&gt;
root@custom-hw-image:~# i2cget -y 6 0x58 0x8B w&lt;br /&gt;
0x1879&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This value must be converted and expressed in volts. The manufacturer uses a &amp;#039;&amp;#039;&amp;#039;direct scaling&amp;#039;&amp;#039;&amp;#039;. The voltage can be therefore &amp;#039;&amp;#039;&amp;#039;calculated linearly&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(1879)_{16} \widehat{=} (6265)_{10} \widehat{=} \frac{6265}{2^9} = \frac{6265}{512} \approx 12,236 V&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integration of ports in kernelspace ==&lt;br /&gt;
[[File:Fortron_SP900_readout_DUAL_Linux.png|alt=Abb. 2: Detailed evaluation of the power supplies|thumb|365x365px|2nd image: Detailed evaluation of the power supplies]]&lt;br /&gt;
With the following commands, you can add both power supply ports to the kernelspace:&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;&lt;br /&gt;
root@custom-hw-image:~# echo pmbus 0x58   | sudo tee /sys/bus/i2c/devices/i2c-6/new_device&lt;br /&gt;
pmbus 0x58&lt;br /&gt;
root@custom-hw-image:~# echo pmbus 0x59   | sudo tee /sys/bus/i2c/devices/i2c-6/new_device&lt;br /&gt;
pmbus 0x59&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Verify the successful integration:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@custom-hw-image:~# i2cdetect -y 6&lt;br /&gt;
Warning: Can&amp;#039;t use SMBus Quick Write command, will skip some addresses&lt;br /&gt;
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f&lt;br /&gt;
00:&lt;br /&gt;
10:&lt;br /&gt;
20:&lt;br /&gt;
30: -- -- -- -- -- -- -- --&lt;br /&gt;
40:&lt;br /&gt;
50: 50 51 -- -- -- -- 56 -- UU UU -- -- -- -- -- --&lt;br /&gt;
60:&lt;br /&gt;
70:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two power supplies cannot be accessed directly via I2C because they are now fully integrated into the kernel-space &amp;quot;UU (Upper Unit)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Both power supplies can be completely read out with &amp;lt;code&amp;gt;lm-sensors&amp;lt;/code&amp;gt; (for the output, take a look at the &amp;#039;&amp;#039;second image&amp;#039;&amp;#039;):&amp;lt;syntaxhighlight lang=&amp;quot;shell-session&amp;quot;&amp;gt;&lt;br /&gt;
root@custom-hw-image:~# sensors&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Error checking ==&lt;br /&gt;
&lt;br /&gt;
Finally, you can simulate an error scenario.&lt;br /&gt;
Here, the IEC power plug from &amp;#039;&amp;#039;&amp;#039;power supply 1&amp;#039;&amp;#039;&amp;#039; (3rd image): &lt;br /&gt;
[[File:Psu failure ps1.png|none|thumb|957x957px|3rd image: Error simulation]]&lt;br /&gt;
{{wseifert}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[de:Fortron TwinsPro FSP900 DUAL Netzteil unter Linux auslesen]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/AIC_backplane_firmware-_and_MFG-update_via_serial_console</id>
		<title>AIC backplane firmware- and MFG-update via serial console</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/AIC_backplane_firmware-_and_MFG-update_via_serial_console"/>
		<updated>2026-05-06T09:07:48Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to &amp;#039;&amp;#039;&amp;#039;update&amp;#039;&amp;#039;&amp;#039; the &amp;#039;&amp;#039;&amp;#039;AIC backplane firmware&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;MFG&amp;#039;&amp;#039;&amp;#039; using a &amp;#039;&amp;#039;&amp;#039;serial console connection&amp;#039;&amp;#039;&amp;#039;.  &lt;br /&gt;
&lt;br /&gt;
== Hardware requirements ==&lt;br /&gt;
[[file:4HE AIC Gehäuse XE1-4BT00-05 backsideMarked.jpg|alt=Back side of a 4U AIC chassis XE1-4BT00-05|thumb|353x353px|Backside of a 4U AIC chassis XE1-4BT00-05. AUX-ports are highlighted. The upper port is connected to the frontal 24-bay backplane.]]&lt;br /&gt;
&lt;br /&gt;
The following two cables are needed:&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
file:SerialCableAux.jpeg|alternativtext=Serial cable with 3,5-mm auxiliary connector (male)|1.: Serial cable with 3,5-mm auxiliary connector (male)&lt;br /&gt;
file:SerialCableAuxJEXP UART.JPG|2.: AUX to JEXP_UART adapter. This is included in the accessories for a Thomas Krenn server or is already pre-installed in the system.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A secondary system (for example a laptop or neighboring server) is recommended for the flashing procedure. &lt;br /&gt;
&lt;br /&gt;
=== Connection between backplane and secondary system ===&lt;br /&gt;
The JEXP_UART-header on the backplane consists of six pins. However, only the upper three pins are needed for flashing.[[file:BackplaneMarkiert.JPG.jpg|alt=4HE AIC Backplane, JEXP_UART header highlighted|thumb|714x714px|Example of a backplane with highlighted JEXP_UART-header  |none]]&lt;br /&gt;
[[file:JEXP UART Header pluggedIn.jpg|alt=Connected JEXP_UART-Header, top view|thumb|A connected JEXP_UART cable. (top view) Cable colors from left to right: red, black, yellow|none]]&lt;br /&gt;
&lt;br /&gt;
The other end must be connected to the secondary system via serial port. &lt;br /&gt;
&lt;br /&gt;
[[file:SerialCableConnected.jpg|alt=Serial cable connected to the second system|none|thumb|Serial cable connected to the secondary system]]&lt;br /&gt;
&lt;br /&gt;
== Establishing a connection ==&lt;br /&gt;
Programs such as &amp;#039;&amp;#039;&amp;#039;PuTTY&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;ExtraPutty&amp;#039;&amp;#039;&amp;#039; are required to establish a connection. Due to its expanded data transfer options, &amp;#039;&amp;#039;&amp;#039;ExtraPuTTY&amp;#039;&amp;#039;&amp;#039; is highly recommended. &lt;br /&gt;
&lt;br /&gt;
The following parameters need to be set: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Speed (baudrate)&lt;br /&gt;
| 38400&lt;br /&gt;
|-&lt;br /&gt;
| Data Bits&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| Stop Bits&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Parity&lt;br /&gt;
| none&lt;br /&gt;
|-&lt;br /&gt;
| Flow Control&lt;br /&gt;
| none&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
file:PuttySettings.png|Settings for establishing a connection with the backplane in ExtraPuTTY&lt;br /&gt;
file:SessionOffen.png|Live session. After clicking the Enter-key, &amp;#039;cmd &amp;gt;&amp;#039; should appear.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checking active firmware / MFG ===&lt;br /&gt;
The commands &amp;#039;&amp;#039;&amp;#039;rev&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;showmfg&amp;#039;&amp;#039;&amp;#039; can be used to check the installed firmware and MFG versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
file:Rev.png|&amp;#039;&amp;#039;&amp;#039;The rev command&amp;#039;&amp;#039;&amp;#039; displays the current firmware version.&lt;br /&gt;
file:Showmfg.png|&amp;#039;&amp;#039;&amp;#039;The showmfg command&amp;#039;&amp;#039;&amp;#039; displays the currently installed MFG version.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Flashing the backplane ==&lt;br /&gt;
&lt;br /&gt;
=== Precautions ===&lt;br /&gt;
To ensure that the backplane is functioning properly and that there are no hardware defects or similar issues, you should run a few commands and check the results before actually flashing the device.&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
file:Sensor.png|The &amp;#039;&amp;#039;&amp;#039;sensor&amp;#039;&amp;#039;&amp;#039; command can be used to get information about temperature, connected fans or voltage.&lt;br /&gt;
file:Phyinfo.png|The &amp;#039;&amp;#039;&amp;#039;phyinfo&amp;#039;&amp;#039;&amp;#039; displays information about the connected storage devices (none are installed in the screenshot).&lt;br /&gt;
file:Counters.png|With the &amp;#039;&amp;#039;&amp;#039;counters&amp;#039;&amp;#039;&amp;#039; command, different error counter values are displayed. The values nvWrdCnt, DispErrCnt, LossSyncCnt and RstSeqFailCnt need to be 0. If this is not the case, &amp;#039;&amp;#039;&amp;#039;counters reset&amp;#039;&amp;#039;&amp;#039; can be used to reset all values. Then execute the &amp;#039;&amp;#039;&amp;#039;counters&amp;#039;&amp;#039;&amp;#039; command again. If the values are not zero, it is likely that there is a defect. &amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;[https://www.aicipc.com/image/images/psg/EOB%20Backplane%20Check-up%20via%20Serial%20console.pdf EOB Backplane Check-up via Serial console]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Firmware update&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
file:Fdl 0 0.png|&amp;#039;&amp;#039;&amp;#039;The fdl 0 0&amp;#039;&amp;#039;&amp;#039; command sets the backplane into update mode. It now expects a firmware file.&lt;br /&gt;
file:FileTransfer.png|alternativtext=Xmodem Transfer|The Xmodem protocol is to be used for file transfer. In ExtraPuTTY, this can be done via &amp;#039;File Transfer → Xmodem → Send&amp;#039;&lt;br /&gt;
file:FirmweareFile.png|alternativtext=select firmware file|Afterwards, select the desired firmware file.&lt;br /&gt;
file:Datenuebertragung.png|Upload and flash procedure starts automatically.&lt;br /&gt;
file:Transferdone.png|Once the process is complete, the message &amp;quot;Upload successful&amp;quot; appears.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MFG-update&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; ===&lt;br /&gt;
Updating the MFG works similar to the firmware.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
file:Fdl 83 0.png|The update is started with the &amp;#039;&amp;#039;&amp;#039;fdl 83 0&amp;#039;&amp;#039;&amp;#039; command.  &lt;br /&gt;
file:Mfg file.png|Select the correct mfg-file.&lt;br /&gt;
file:Mfg transfer.png|Data transfer begins.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After the updates ===&lt;br /&gt;
If no storage devices are connected to any backplane, the update can be completed by executing the &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039; command.[[file:Reset.png|alt=Reset command|thumb|&amp;#039;&amp;#039;&amp;#039;The reset command&amp;#039;&amp;#039;&amp;#039; reboots the backplane.|none]]&amp;#039;&amp;#039;&amp;#039;Attention!&amp;#039;&amp;#039;&amp;#039; If the &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039; command is executed while data storage devices with an active RAID array are connected to the backplane, this may cause the RAID to degrade or fail completely.&lt;br /&gt;
&lt;br /&gt;
[[file:NeueFW.png|alt=new firmware active|thumb|The new firmware and MFG is now active on the backplane. |none]]&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Swolf}}&lt;br /&gt;
[[Category:Server-Hardware]]&lt;br /&gt;
[[de:AIC Backplane Firmware- und MFG-Update via serielle Konsole]]&lt;/div&gt;</summary>
		<author><name>Swolf</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Internet-Speed-Test_with_LibreSpeed</id>
		<title>Internet-Speed-Test with LibreSpeed</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Internet-Speed-Test_with_LibreSpeed"/>
		<updated>2026-04-29T09:17:03Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;There are websites for testing the own &amp;#039;&amp;#039;&amp;#039;internet speed&amp;#039;&amp;#039;&amp;#039; offered by a lot of providers. The most services of this kind collect &amp;#039;&amp;#039;&amp;#039;multiple local data&amp;#039;&amp;#039;&amp;#039; in such tests, which is why they are &amp;#039;&amp;#039;&amp;#039;not without risk from a data protection perspective&amp;#039;&amp;#039;&amp;#039;. The open source alternative &amp;#039;&amp;#039;&amp;#039;LibreSpeed&amp;#039;&amp;#039;&amp;#039; offers a data-efficient alternative.   == Data collection of conventional speedtest-alternatives == Traditional providers of internet speed testing services collect a large amoun...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are websites for testing the own &amp;#039;&amp;#039;&amp;#039;internet speed&amp;#039;&amp;#039;&amp;#039; offered by a lot of providers. The most services of this kind collect &amp;#039;&amp;#039;&amp;#039;multiple local data&amp;#039;&amp;#039;&amp;#039; in such tests, which is why they are &amp;#039;&amp;#039;&amp;#039;not without risk from a data protection perspective&amp;#039;&amp;#039;&amp;#039;. The open source alternative &amp;#039;&amp;#039;&amp;#039;LibreSpeed&amp;#039;&amp;#039;&amp;#039; offers a data-efficient alternative. &lt;br /&gt;
&lt;br /&gt;
== Data collection of conventional speedtest-alternatives ==&lt;br /&gt;
Traditional providers of internet speed testing services collect a large amount of data from their own networks, own devices and from the applications on it. In connection with the aquisition of Ookla (operator of Speedtest and Downdetector), the international consulting firm, Accenture, announced that &amp;#039;&amp;#039;&amp;#039;more than 1,000 attributes&amp;#039;&amp;#039;&amp;#039; are queried per test in March 2026.&amp;lt;ref name=accenture&amp;gt;[https://newsroom.accenture.com/news/2026/accenture-to-acquire-ookla-to-strengthen-network-intelligence-and-experience-with-data-and-ai-for-enterprises Accenture to Acquire Ookla to Strengthen Network Intelligence and Experience with Data and AI For Enterprises] (newsroom.accenture.com, 03.03.2026) &amp;lt;cite&amp;gt;As AI scales, the insights captured at the &amp;#039;&amp;#039;&amp;#039;network, device, and application layers&amp;#039;&amp;#039;&amp;#039; are essential to enhance fraud prevention in banking, smart home analytics in utilities, and traffic optimization in retail. Ookla’s platform, which captures &amp;#039;&amp;#039;&amp;#039;more than 1,000 attributes per test&amp;#039;&amp;#039;&amp;#039;, provides the foundation for these insights.&amp;lt;/cite&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Accenture-Newsroom-2026-03-03.png|When it acquired Ookla, Accenture announced that more than 1,000 attributes are collected from the user by Speedtest or Downdetecor.&lt;br /&gt;
File:Speedtest.png|Always active at speedtest.net: more than 500 partners can, for example, use the cookie information to identify end devices. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LibreSpeed ==&lt;br /&gt;
LibreSpeed works data-efficient. on [https://librespeed.org/ LibreSpeed.org], no data is collected: &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:LibreSpeed-Website.png|Example of a test from a fiber-optic connection in Austria. &lt;br /&gt;
File:LibreSpeed-Anbieter.png|Selection of LibreSpeed servers.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optionally, LibreSpeed servers can, if they are operated by the company itself, store the following data:&amp;lt;ref&amp;gt;[https://github.com/librespeed/speedtest/blob/master/results/stats.php#L103 stats.php Quellcode] (github.com/librespeed/speedtest)&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Test ID&lt;br /&gt;
* Date and time&lt;br /&gt;
* IP and ISP Info&lt;br /&gt;
* Download speed&lt;br /&gt;
* Upload speed&lt;br /&gt;
* Ping&lt;br /&gt;
* Jitter&lt;br /&gt;
* Log&lt;br /&gt;
* Extra info&lt;br /&gt;
&lt;br /&gt;
[https://librespeed.org/ LibreSpeed.org] had not enabled this feature as of April 29, 2026, however.&lt;br /&gt;
&lt;br /&gt;
== LibreSpeed App for Android ==&lt;br /&gt;
The LibreSpeed app for Android is available in the F-Droid store (Autor Federico Dossenda).&amp;lt;ref&amp;gt;[https://f-droid.org/en/packages/com.dosse.speedtest/ LibreSpeed F-Droid] (f-droid.org/en/packages)&amp;lt;/ref&amp;gt; Attention: Only use this app; there are others in the Google Play Store that have intentionally built in numerous trackers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:LibreSpeed-App-01-App-Lounge.png|LibreSpeed Privacy Rating in App Lounge by /e/OS.&lt;br /&gt;
File:LibreSpeed-App-02-Trackers.png|Tracker-Report (0 Tracker)&amp;lt;ref&amp;gt;[https://reports.exodus-privacy.eu.org/de/reports/com.dosse.speedtest/latest/ Report for LibreSpeed] (reports.exodus-privacy.eu.org)&amp;lt;/ref&amp;gt; for LibreSpeed from Exodus-Privacy&amp;lt;ref&amp;gt;[https://exodus-privacy.eu.org/en/page/who/ Exodus Privacy - Who we are] (exodus-privacy.eu.org)&amp;lt;/ref&amp;gt; (French non-Profit).&lt;br /&gt;
File:LibreSpeed-App-03-Test.png|LibreSpeed App Home.&lt;br /&gt;
File:LibreSpeed-App-04-Privacy-Policy.png|LibreSpeed App Privacy Policy.&lt;br /&gt;
File:LibreSpeed-App-05-Test-Result.png|LibreSpeed sample result for an LTE connection in Austria.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Alternatives == &lt;br /&gt;
The Federal Network Agency&amp;#039;s broadband measurement is equally data-efficient:&lt;br /&gt;
* https://www.breitbandmessung.de/&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [https://www.theregister.com/2026/03/03/accenture_buys_ookla_downdetector_ziff_davis/ Accenture down to buy Downdetector as part of $1.2 billion deal] (theregister.com, 03.03.2026)&lt;br /&gt;
* [https://arstechnica.com/information-technology/2026/03/downdetector-speedtest-sold-to-it-service-provider-accenture-in-1-2b-deal/ Downdetector, Speedtest sold to IT service-provider Accenture in $1.2B deal] (arstechnica.com, 03.03.2026)&lt;br /&gt;
* [https://www.reddit.com/r/xprivo/comments/1rmalpy/news_librespeed_opensource_alternative_made_in/ (News) Librespeed - Open-Source Alternative Made in Europe: Downdetector and Speedtest sold to Accenture for $1.2 billion] (www.reddit.com, 2026)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Wfischer}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category: Data Protection]]&lt;br /&gt;
[[de:Internet-Speed-Test mit LibreSpeed]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/TKMI_Settings</id>
		<title>TKMI Settings</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/TKMI_Settings"/>
		<updated>2026-04-29T07:28:32Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;== Menu ==  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; | style=&amp;quot;width:240px; text-align:center;&amp;quot; | overview | &amp;#039;&amp;#039;&amp;#039;Overview&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt; Overview of the settings available in the TKMI. |}  == System and basic configuration ==   {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; | style=&amp;quot;width:240px; text-align:center;&amp;quot; | configure date and time | &amp;#039;&amp;#039;&amp;#039;Date &amp;amp; Time&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt; The &amp;#039;&amp;#039;&amp;#039;date, time and time synchronizat...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Menu == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:240px; text-align:center;&amp;quot; | [[file:TKMI-Settings_overview.png|220px|overview]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Overview&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Overview of the settings available in the TKMI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== System and basic configuration == &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:240px; text-align:center;&amp;quot; | [[file:TKMI-Settings_date_time.png|220px|configure date and time]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Date &amp;amp; Time&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;date, time and time synchronization&amp;#039;&amp;#039;&amp;#039; of the BMC is configured including NTP. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_network_settings.png|220px|network configuration]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Network settings&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;BMC&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;network settings&amp;#039;&amp;#039;&amp;#039; are determined, for example IP-address, gateway, VLAN and DNS. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_services.png|220px|service settings]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Services&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;BMC-services&amp;#039;&amp;#039;&amp;#039; such as Web, SSH, KVM or SNMP are activated or deactivated. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_ipmi_interfaces.png|220px|IPMI interfaces]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;IPMI interfaces&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;IPMI-interfaces&amp;#039;&amp;#039;&amp;#039; are configured here. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_identify_led.png|220px|Identify LED]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Identify LED&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Identify-LED&amp;#039;&amp;#039;&amp;#039; of the system can be controlled here. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_fan_control.png|220px|fan control]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Fan control&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;fan control&amp;#039;&amp;#039;&amp;#039; can be configured here. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User, registration and safety ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:240px; text-align:center;&amp;quot; | [[file:TKMI-Settings_user_management.png|220px|Benutzerverwaltung]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;User Management&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;User accounts and permissions are managed in &amp;#039;&amp;#039;&amp;#039;the User Management.&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_external_user_services.png|220px|Externe Authentifizierung]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;External User Services&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This section is used to integrate external &amp;#039;&amp;#039;&amp;#039;authentication services&amp;#039;&amp;#039;&amp;#039; such as LDAP or Active Directory. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_pam_order.png|220px|Authentifizierungsreihenfolge]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;PAM order settings&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This is where the &amp;#039;&amp;#039;&amp;#039;order of the authentication methods&amp;#039;&amp;#039;&amp;#039; is defined. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_ssl_settings.png|220px|SSL Zertifikate]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;SSL settings&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This section covers &amp;#039;&amp;#039;&amp;#039;SSL- and certificate management&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_system_firewall.png|220px|Firewall Einstellungen]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;System firewall&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The access on the BMC can be restricted via &amp;#039;&amp;#039;&amp;#039;integrated firewall&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Logging, notification and events == &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:240px; text-align:center;&amp;quot; | [[file:TKMI-Settings_log_settings.png|220px|Log Einstellungen]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Log settings&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This section is where you configure settings for &amp;#039;&amp;#039;&amp;#039;system and audit logs&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_platform_event_filters.png|220px|Platform Event Filter]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Platform Event Filter&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Platform Event Filter&amp;#039;&amp;#039;&amp;#039; enables automated actions in response to hardware events, such as sending SNMP traps.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_smtp_settings.png|220px|SMTP Konfiguration]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;SMTP settings&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br&amp;gt;This is where the settings &amp;#039;&amp;#039;&amp;#039;for sending emails&amp;#039;&amp;#039;&amp;#039; are configured.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_bsod.png|220px|Captured BSOD Übersicht]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Captured BSOD&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This section displays any &amp;#039;&amp;#039;&amp;#039;blue screen errors&amp;#039;&amp;#039;&amp;#039; in a Windows system that have been detected and logged by the BMC.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Remote-console and media ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:240px; text-align:center;&amp;quot; | [[file:TKMI-Settings_kvm_mouse_settings.png|220px|KVM Maus Einstellungen]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;KVM mouse settings&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Here, the settings for the &amp;#039;&amp;#039;&amp;#039;mouse control&amp;#039;&amp;#039;&amp;#039; can be configured in the &amp;#039;&amp;#039;&amp;#039;remote KVM console&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_media_redirection.png|220px|Virtuelle Medien]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Media redirection settings&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This section provides options on &amp;#039;&amp;#039;&amp;#039;virtual media redirection&amp;#039;&amp;#039;&amp;#039;, for example, for mounting ISO files via the KVM console.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | [[file:TKMI-Settings_video_recording.png|220px|KVM Aufzeichnung]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Video recording&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This section provides functions for &amp;#039;&amp;#039;&amp;#039;recording remote KVM sessions&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Storage and administration ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:240px; text-align:center;&amp;quot; | [[file:TKMI-Settings_raid_management.png|220px|RAID Verwaltung]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;RAID Management&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This is where supported &amp;#039;&amp;#039;&amp;#039;RAID-functions&amp;#039;&amp;#039;&amp;#039; are administrated. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More articles == &lt;br /&gt;
* [[TKMI overview]]&lt;br /&gt;
* [[How to activate and configure SNMP in TKMI]]&lt;br /&gt;
&lt;br /&gt;
{{Azillner}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Thomas-Krenn Management Interface]]&lt;br /&gt;
[[de:TKMI Settings]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/TKMI_Remote_Control</id>
		<title>TKMI Remote Control</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/TKMI_Remote_Control"/>
		<updated>2026-04-29T05:39:13Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[TKMI overview|TKMI]] provides &amp;#039;&amp;#039;&amp;#039;remote control&amp;#039;&amp;#039;&amp;#039; functions for remote operation &amp;#039;&amp;#039;&amp;#039;and direct interaction with the system.&amp;#039;&amp;#039;&amp;#039; These include, in particular, the remote KVM console as well as additional control and management options. &lt;br /&gt;
&lt;br /&gt;
In the following, the individual sections are explained. &lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
[[File:TKMI-Remote-Control_overview.png|alt=Remote Control Menu|thumb|220x220px|Remote Control Menu ]]&lt;br /&gt;
&lt;br /&gt;
This section provides &amp;#039;&amp;#039;&amp;#039;access to the remote KVM console (H5Viewer)&amp;#039;&amp;#039;&amp;#039; as well as &amp;#039;&amp;#039;&amp;#039;Serial over LAN (SOL)&amp;#039;&amp;#039;&amp;#039; for direct system integration.&lt;br /&gt;
&lt;br /&gt;
== Remote KVM console ==&lt;br /&gt;
[[File:TKMI-Remote-Control_console.png|alt=Remote KVM console|thumb|220x220px|Remote KVM console]]&lt;br /&gt;
&lt;br /&gt;
The system can be &amp;#039;&amp;#039;&amp;#039;completely controlled remotely&amp;#039;&amp;#039;&amp;#039; via H5Viewer including BIOS/UEFI-access and operating system interaction. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Functions within the remote console:&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Video&amp;#039;&amp;#039;&amp;#039; – Control &amp;#039;&amp;#039;&amp;#039;video output&amp;#039;&amp;#039;&amp;#039; functions such as pause, refresh or turning the display on/off&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Mouse&amp;#039;&amp;#039;&amp;#039; – Configuring &amp;#039;&amp;#039;&amp;#039;mouse control&amp;#039;&amp;#039;&amp;#039;, for example between absolute and relative mode&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Options&amp;#039;&amp;#039;&amp;#039; – Adjustment of &amp;#039;&amp;#039;&amp;#039;display quality, zoom level and colour depth&amp;#039;&amp;#039;&amp;#039; of the remote session&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Keyboard&amp;#039;&amp;#039;&amp;#039; – Selecting the &amp;#039;&amp;#039;&amp;#039;keyboard layout&amp;#039;&amp;#039;&amp;#039; for the remote session &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Send Keys&amp;#039;&amp;#039;&amp;#039; – Allows to &amp;#039;&amp;#039;&amp;#039;send shortcuts&amp;#039;&amp;#039;&amp;#039; such as &amp;lt;code&amp;gt;Ctrl+Alt+Del&amp;lt;/code&amp;gt; to the system&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Video Record&amp;#039;&amp;#039;&amp;#039; – function for recording the &amp;#039;&amp;#039;&amp;#039;remote KVM session&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Power -&amp;#039;&amp;#039;&amp;#039; Direct &amp;#039;&amp;#039;&amp;#039;control of system&amp;#039;&amp;#039;&amp;#039; (Restart, Shutdown, Power Cycle) &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Active Users&amp;#039;&amp;#039;&amp;#039; – Display of active users currently accessing the remote console&lt;br /&gt;
&lt;br /&gt;
== Serial Over LAN (SOL) ==&lt;br /&gt;
[[File:TKMI-Remote-Control-Serialconsole.png|alt=Serial over LAN|thumb|220x220px|Serial over LAN ]]&lt;br /&gt;
This allows the access on the &amp;#039;&amp;#039;&amp;#039;serial console of the system via network&amp;#039;&amp;#039;&amp;#039;, particularly for diagnostic and troubleshooting purposes.&lt;br /&gt;
&lt;br /&gt;
{{Azillner}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[de:TKMI Remote Control]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/How_to_activate_and_configure_SNMP_in_TKMI</id>
		<title>How to activate and configure SNMP in TKMI</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/How_to_activate_and_configure_SNMP_in_TKMI"/>
		<updated>2026-04-21T05:06:13Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;This article describes how to activate and configure the &amp;#039;&amp;#039;&amp;#039; SNMP-access&amp;#039;&amp;#039;&amp;#039; for an user in the  TKMI (Thomas-Krenn Management Interface)   == Prerequisites == * A compatible TKMI or Thomas-Krenn server * Access to the TKMI/IPMI-websurface * Valid user login data with administrative rights  == User administration ==  So that  SNMP can be used, the access must be activated for a user in the  TKMI...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to activate and configure the &amp;#039;&amp;#039;&amp;#039;[[SNMP_basics | SNMP-access]]&amp;#039;&amp;#039;&amp;#039; for an user in the [[TKMI overview | TKMI (Thomas-Krenn Management Interface)]] &lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
* A compatible TKMI or Thomas-Krenn server&lt;br /&gt;
* Access to the TKMI/IPMI-websurface&lt;br /&gt;
* Valid user login data with administrative rights&lt;br /&gt;
&lt;br /&gt;
== User administration ==&lt;br /&gt;
&lt;br /&gt;
So that [[SNMP_Grundlagen | SNMP]] can be used, the access must be activated for a user in the [[Übersicht_TKMI | TKMI]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
TKMI-SNMP-User_Login.png|Log in to the TKMI web interface with a valid username (for example &amp;#039;&amp;#039;admin&amp;#039;&amp;#039;).&lt;br /&gt;
TKMI-SNMP-Dashboard.png|After logging in, go to &amp;#039;&amp;#039;&amp;#039;Settings&amp;#039;&amp;#039;&amp;#039; in the left-hand menu.&lt;br /&gt;
TKMI-SNMP-Settings.png|In the &amp;#039;&amp;#039;&amp;#039;Settings&amp;#039;&amp;#039;&amp;#039; section, open the &amp;#039;&amp;#039;&amp;#039;User Management&amp;#039;&amp;#039;&amp;#039; option.&lt;br /&gt;
TKMI-SNMP-User_Management.png|Select the user for whom you want to enable SNMP.&lt;br /&gt;
TKMI-SNMP-User_Logged_In_Password.png|Enter your current password in the &amp;#039;&amp;#039;&amp;#039;Logged-In Password&amp;#039;&amp;#039;&amp;#039; field to confirm.&lt;br /&gt;
TKMI-SNMP-User_SNMP_Activate.png|In the lower section, enable &amp;#039;&amp;#039;&amp;#039;SNMP Access&amp;#039;&amp;#039;&amp;#039; and configure the desired SNMP parameters.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the configuration, the changes must be saved with &amp;#039;&amp;#039;&amp;#039;Save&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== MIB browser ==&lt;br /&gt;
&lt;br /&gt;
For the verification of the SNMP-availability and to read out values, a MIB browser can be used.&lt;br /&gt;
&lt;br /&gt;
In this example, the iReasoning MIB browser is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=&amp;quot;100&amp;quot; heights=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
Download.png| iReasoning MIB browser [https://www.ireasoning.com/mibbrowser.shtml download]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Establish connection to TKMI ==&lt;br /&gt;
&lt;br /&gt;
After activation of the SNMP in TKMI, the connection can be tested as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
TKMI-SNMP_MIB_Browser.png|Enter the TKMI&amp;#039;s IP address in the &amp;#039;&amp;#039;&amp;#039;Address&amp;#039;&amp;#039;&amp;#039; field. Click &amp;#039;&amp;#039;&amp;#039;Advanced...&amp;#039;&amp;#039;&amp;#039; to access the advanced SNMP settings.&lt;br /&gt;
TKMI-SNMP-MIB_Browser_Settings.png|In the advanced settings, select &amp;#039;&amp;#039;&amp;#039;SNMP Version 3&amp;#039;&amp;#039;&amp;#039; and enter the login access data.&lt;br /&gt;
TKMI-SNMP-MIB_Browser_Test.png|Once configured, you can run a query by clicking &amp;#039;&amp;#039;&amp;#039;Go&amp;#039;&amp;#039;&amp;#039;. Successful results are displayed in the &amp;#039;&amp;#039;&amp;#039;Result Table&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Important settings (SNMPv3) ==&lt;br /&gt;
&lt;br /&gt;
For a successful connection, the following parameters must comply with the set values in TKMI:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Address:&amp;#039;&amp;#039;&amp;#039; IP-address of TKMI&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Port:&amp;#039;&amp;#039;&amp;#039; 161&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SNMP Version:&amp;#039;&amp;#039;&amp;#039; 3&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;User:&amp;#039;&amp;#039;&amp;#039; Corresponds to the user configured in the TKMI &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Security Level:&amp;#039;&amp;#039;&amp;#039; authPriv&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Auth Algorithm:&amp;#039;&amp;#039;&amp;#039; for example SHA256&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Auth Password:&amp;#039;&amp;#039;&amp;#039; set authentication password&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Privacy Algorithm:&amp;#039;&amp;#039;&amp;#039; for example DES&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Privacy Password:&amp;#039;&amp;#039;&amp;#039;  set encryption password&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hint:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
If there are discrepancies in the username, password, or algorithms, no SNMP responses will be returned.&lt;br /&gt;
&lt;br /&gt;
== Test query == &lt;br /&gt;
&lt;br /&gt;
For a simple function test, the following OID can be used:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1.3.6.1.2.1.1.1.0&amp;#039;&amp;#039;&amp;#039; (sysDescr)&lt;br /&gt;
&lt;br /&gt;
If the connection is successful, a system description of the TKMI is displayed in the &amp;#039;&amp;#039;&amp;#039;Result Table&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
If the SNMP-access does not function:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SNMP Access not activated&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Wrong access data / community&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Firewall blocks SNMP (Port 161/UDP)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Incorrect OID specified&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SNMP-version does not comply&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{{Azillner}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:IPMI]]&lt;br /&gt;
[[de:SNMP im TKMI aktivieren und konfigurieren]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/AMD_Security_Vulnerabilities_-_April_2026</id>
		<title>AMD Security Vulnerabilities - April 2026</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/AMD_Security_Vulnerabilities_-_April_2026"/>
		<updated>2026-04-20T09:14:47Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;On &amp;#039;&amp;#039;&amp;#039;April 14th&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;2026&amp;#039;&amp;#039;&amp;#039;, AMD published &amp;#039;&amp;#039;&amp;#039;AMD-SB-7054&amp;#039;&amp;#039;&amp;#039; Security Bulletins &amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7054.html Incorrect use of LocateProtocol Service of the EFI_BOOT_Services table in SMI Handler – April 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt;, &amp;#039;&amp;#039;&amp;#039;AMD-SB-3034&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3034.html SEV-SNP Routing Misconfiguration – April 2026] (www.amd...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On &amp;#039;&amp;#039;&amp;#039;April 14th&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;2026&amp;#039;&amp;#039;&amp;#039;, AMD published &amp;#039;&amp;#039;&amp;#039;AMD-SB-7054&amp;#039;&amp;#039;&amp;#039; Security Bulletins &amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7054.html Incorrect use of LocateProtocol Service of the EFI_BOOT_Services table in SMI Handler – April 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt;, &amp;#039;&amp;#039;&amp;#039;AMD-SB-3034&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3034.html SEV-SNP Routing Misconfiguration – April 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; and &amp;#039;&amp;#039;&amp;#039;AMD-SB-3016&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3016.html IOMMU Write Buffer Vulnerability – April 2026] (www.amd.com/en/resources/product-security)&amp;lt;/ref&amp;gt; containing a security vulnerability each. This article contains tables listing measures to address the security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Affected systems ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD Threadripper systems:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* systems with AMD Ryzen Threadripper PRO 3000WX processors&lt;br /&gt;
* systems with AMD Ryzen Threadripper PRO 5000WX processors&lt;br /&gt;
* systems with AMD Ryzen Threadripper 7000 / PRO 7000WX processors&lt;br /&gt;
* systems with AMD Ryzen Threadripper 9000 / PRO 9000WX processors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC systems:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* systems with &amp;quot;Zen 4&amp;quot; [[AMD EPYC 4004 Raphael]] processors&lt;br /&gt;
* systems with &amp;quot;Zen 2&amp;quot; [[AMD EPYC 7002 Rome]] processors&lt;br /&gt;
* systems with &amp;quot;Zen 3&amp;quot; [[AMD EPYC 7003 Milan]] processors&lt;br /&gt;
* systems with &amp;quot;Zen 4&amp;quot; [[AMD EPYC 9004 Genoa und Bergamo]] &amp;amp; 8004 Siena processors&lt;br /&gt;
* systems with &amp;quot;Zen 5&amp;quot; [[AMD EPYC 9005 Turin]] processors&lt;br /&gt;
&lt;br /&gt;
== Solution for the problem == &lt;br /&gt;
&lt;br /&gt;
Here is a table listing the relevant CVEs and corrective measures for each EPYC generation, where available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 4004 Raphael&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54502 CVE-2025-54502]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.1 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ComboAM5PI 1.0.0.d (2025-11-12)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 7002 Rome&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54502 CVE-2025-54502]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.1 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |RomePI 1.0.0.P (2025-11-04)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 7003 Milan:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!SEV FW&lt;br /&gt;
!TCB‑Wert for SEV‑certification&lt;br /&gt;
!TCB‑Wert for SNP‑certification&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54502 CVE-2025-54502]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.1 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |MilanPI 1.0.0.J (2025-12-15)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54510 CVE-2025-54510]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |MilanPI 1.0.0.J (2025-12-15)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x1D &lt;br /&gt;
mitigation bit = 4&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2023-20585 CVE-2023-20585]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.6 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | MilanPI 1.0.0.H (2025-09-04) + OS update&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | SEV FW 1.37.23 + OS update&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x1B&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 8004 Siena:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!SEV FW&lt;br /&gt;
!TCB‑Wert for SEV‑certification&lt;br /&gt;
!TCB‑Wert for SNP‑certification&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54502 CVE-2025-54502]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.1 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |GenoaPI 1.0.0.H (2025-12-15) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54510 CVE-2025-54510]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |GenoaPI 1.0.0.H (2025-12-15)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x1C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2023-20585 CVE-2023-20585]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.6 (Mittel)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | GenoaPI_1.0.0.G (2025-06-27) + OS update&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | SEV FW 1.37.31 + OS update&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x1B&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 9004 Genoa:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!SEV FW&lt;br /&gt;
!TCB‑Wert für die SEV‑certification&lt;br /&gt;
!TCB‑Wert für die SNP‑certification&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54502 CVE-2025-54502]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.1 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |GenoaPI 1.0.0.H (2025-12-15) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54510 CVE-2025-54510]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |GenoaPI 1.0.0.H (2025-12-15)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x1C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2023-20585 CVE-2023-20585]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.6 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | GenoaPI_1.0.0.G (2025-06-27) + OS update&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | SEV FW 1.37.31 + OS update&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x1B&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AMD EPYC 9005 Turin / Turin Dense&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Security vulnerability&lt;br /&gt;
!Risk potential:&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!SEV FW&lt;br /&gt;
!TCB‑Wert für die SEV‑certification&lt;br /&gt;
!TCB‑Wert für die SNP‑certification&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54502 CVE-2025-54502]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |7.1 (high)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TurinPI 1.0.0.9 (2025-12-31) &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[https://www.cve.org/CVERecord?id=CVE-2025-54510 CVE-2025-54510]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |5.9 (medium)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TurinPI 1.0.0.8 (2025-11-26)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |TCB[SNP]&amp;gt;=0x5&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Table from [https://www.cve.org/CVERecord?id=CVE-2025-54502 CVE-2025-54502] affected Threadripper processors:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!CPU&lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;AGESA version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |AMD Ryzen Threadripper PRO 3000WX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ChagallWSPI-sWRX8 1.0.0.D (2025-11-04)&lt;br /&gt;
CastlePeakWSPI-sWRX8 1.0.0.I (2025-10-17)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |AMD Ryzen Threadripper PRO 5000WX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ChagallWSPI-sWRX8 1.0.0.D (2025-11-04)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |AMD Ryzen Threadripper 7000&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1c (2025-10-21)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |AMD Ryzen Threadripper PRO 7000WX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1c (2025-10-21)&lt;br /&gt;
StormPeakPI-SP6 1.0.0.1m (2025-12-01)&lt;br /&gt;
&lt;br /&gt;
StormPeakPI-SP6_1.1.0.0k (2025-12-01)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |AMD Ryzen Threadripper 9000&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1c (2025-10-21)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |AMD Ryzen Threadripper PRO 9000WX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |ShimadaPeakPI-SP6 1.0.0.1c (2025-10-21)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Supermicro Security Bulletins were published on security vulnerabilities. A list with BIOS-versions of the respective mainboards, to close the gaps, is also included. Below is an extract from this table, which lists all the motherboards available from Thomas-Krenn: &amp;lt;ref&amp;gt;[https://www.supermicro.com/en/support/security_center#!advisories Supermicro Security Center] (www.supermicro.com)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!AMD motherboard &lt;br /&gt;
! align=&amp;quot;center&amp;quot; |&amp;#039;&amp;#039;&amp;#039;BIOS version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H12SSW-iN/NT&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H12SSL-i/C/CT/NT&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H12DSi-N6/NT6&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H13SSW&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.9&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |H13SSL-N/NC&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |3.9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Updates on Thomas-Krenn products ===&lt;br /&gt;
Updates on the respective system can be found in the &amp;lt;tklink type=&amp;quot;sitex&amp;quot; id=&amp;quot;440&amp;quot;&amp;gt;  Thomas-Krenn download area&amp;lt;/tklink&amp;gt;.&lt;br /&gt;
The versions in the download area have been tested by us to guarantee the stability and compatibility of our systems.&lt;br /&gt;
&lt;br /&gt;
If you require the latest version for your system and it is not yet available in our download area, you can get it at [https://www.asus.com/de/support/download-center/ Asus] or [https://www.supermicro.com/en/support/resources/downloadcenter/swdownload Supermicro].&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Thomas-Krenn.AG}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:AMD Safety Information]]&lt;br /&gt;
[[de:AMD Sicherheitslücken - April 2026]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Windows_Secure_Boot_certificate_expiry</id>
		<title>Windows Secure Boot certificate expiry</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Windows_Secure_Boot_certificate_expiry"/>
		<updated>2026-04-17T08:13:04Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: /* Which certificates are affected? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this article, we explain how to read out the secure boot certificate.&lt;br /&gt;
&lt;br /&gt;
The previous certificates have been issued in 2011 which expire this year. &lt;br /&gt;
&lt;br /&gt;
== Which certificates are affected? ==&lt;br /&gt;
Definitions:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KEK:&amp;#039;&amp;#039;&amp;#039; Key Enrollment Key&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;CA:&amp;#039;&amp;#039;&amp;#039; Certificate Authority&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DB:&amp;#039;&amp;#039;&amp;#039; Secure Boot Signature Database&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DBX:&amp;#039;&amp;#039;&amp;#039; Secure Boot Revoked Signature Database&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Summary table &lt;br /&gt;
!Expiring certificates&lt;br /&gt;
!Expiry date &lt;br /&gt;
!New certificate&lt;br /&gt;
!Location&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Microsoft Corporation KEK CA 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|June 2026&lt;br /&gt;
|Microsoft Corporation KEK 2K CA 2023&lt;br /&gt;
|Stored in KEK &lt;br /&gt;
|Signes updates for DB and DBX. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Microsoft Windows Production PCA 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|October 2026&lt;br /&gt;
|Windows UEFI CA 2023&lt;br /&gt;
|Stored in data base&lt;br /&gt;
|Used for signing of the Windows boot loader. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Microsoft UEFI CA 2011&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|June 2026&lt;br /&gt;
|Microsoft UEFI CA 2023&lt;br /&gt;
|Stored in data base &lt;br /&gt;
|Signs boot loaders from third-party providers and EFI applications.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Microsoft UEFI CA 2011&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|June 2026&lt;br /&gt;
|Microsoft Option ROM UEFI CA 2023&lt;br /&gt;
|Stored in data base &lt;br /&gt;
|Signs third-party Option ROMs&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;During the renewal of the Microsoft Corporation UEFI CA 2011 certificate, two certificates separate the bootloader signature from the Option ROM signature. &lt;br /&gt;
&lt;br /&gt;
This enables precise control over the system trust. Systems, that trust Option-ROMs, can, for example, add the Microsoft option ROM UEFI CA 2023 without granting a trusted status to third-party bootloaders.&lt;br /&gt;
&lt;br /&gt;
== What happens if my certificate expires? ==&lt;br /&gt;
&lt;br /&gt;
Windows starts and functions as usual. Updates can still be downloaded and installed. &lt;br /&gt;
&lt;br /&gt;
However, updates cannot be installed for the early boot process. This concerns the Windows Boot Manager, Secure Boot data base and Revocation lists or fixes for new discovered boot level vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
These effects reduce the protection of the devices against impending dangers, which rely on Secure Boot, such as BitLocker Hardening or third-party bootloaders. &lt;br /&gt;
&lt;br /&gt;
== How do I verify my certificates == &lt;br /&gt;
&lt;br /&gt;
The validity of the installed certificates can be checked using the Windows Security app. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows-Security&amp;gt; Equipment Safety &amp;gt; Safe Start&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are three possible scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Scenario 1: Everything is completely updated (green tick) ===&lt;br /&gt;
All certificate updates were applied. &lt;br /&gt;
&lt;br /&gt;
=== Scenario 2: No update has been installed yet (yellow warning symbol) ===&lt;br /&gt;
Automatic updates are not available. The hardware manufacturer must be contacted. &lt;br /&gt;
&lt;br /&gt;
=== Scenario 3: Action is required (Red X) ===&lt;br /&gt;
The device cannot receive required updates. &lt;br /&gt;
&lt;br /&gt;
If a Windows Update is missing, this menu option may not display any information about the certificates.&lt;br /&gt;
&lt;br /&gt;
In this case, the certificate can be read out manually with a workaround. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the following powershell command, the certificates can be stored as .bin in any location.&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
$var = Get-SecureBootUEFI -Name db; [System.IO.File]::WriteAllBytes(&amp;quot;C:\Users\Administrator\Documents\db.bin&amp;quot;, $var.Bytes)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This path can be customized as required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, the db.bin file must be divided on a Linux system (for example WSL) with the efitools.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update &amp;amp;&amp;amp; apt install efitools&lt;br /&gt;
sudo sig-list-to-certs db.bin cert&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, 5 certificates have been created in the current directory: cert-0.der cert-1.der cert-2.der cert-3.der cert-4.der&lt;br /&gt;
&lt;br /&gt;
The content of these certificates can be read out with Openssl.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl x509 -in cert-0.der -inform DER -text -noout&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The file name &amp;quot;cert-0.der&amp;quot; must be adapted to the respective certificate.&lt;br /&gt;
&lt;br /&gt;
The line Validity is important. If this line displays the following value, the certificate expires in June 2026:&lt;br /&gt;
&lt;br /&gt;
Validity&lt;br /&gt;
&lt;br /&gt;
            Not Before: Jun 27 21:22:45 2011 GMT&lt;br /&gt;
&lt;br /&gt;
            Not After : Jun 27 21:32:45 2026 GMT&lt;br /&gt;
&lt;br /&gt;
==How do I update my certificates? ==&lt;br /&gt;
&lt;br /&gt;
There are multiple ways to update the certificate. The simplest and best method is to update the BIOS, as the hardware manufacturer has already incorporated the new certificates.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://support.microsoft.com/en-us/topic/windows-secure-boot-certificate-expiration-and-ca-updates-7ff40d33-95dc-4c3c-8725-a9b95457578e Windows Secure Boot certificate expiration and CA updates] (support.microsoft.com)&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-secure-boot-key-creation-and-management-guidance?view=windows-11#14-signature-databases-db-and-dbx Windows Secure Boot Key Creation and Management Guidance] (learn.microsoft.com)&lt;br /&gt;
* [https://support.microsoft.com/en-us/topic/it-admin-guide-secure-boot-certificate-update-status-in-the-windows-security-app-fb8e2121-4402-433b-af8b-623760951fdb IT admin guide: Secure Boot certificate update status in the Windows Security app] (support.microsoft.com)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Bstockinger}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Windows]]&lt;br /&gt;
[[de:Windows Secure Boot Zertifikat Ende der Gültigkeit]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Activation_of_Q-Feeds_webinterface_and_licenses</id>
		<title>Activation of Q-Feeds webinterface and licenses</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Activation_of_Q-Feeds_webinterface_and_licenses"/>
		<updated>2026-04-16T08:54:06Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;Q-Feeds, the cybersecurity plugin, provides a Cloud platform with a variety of information. With this, licenses can be added to the own account and tokens can be created for devices such as OPNsense-firewalls. This article shows how to &amp;#039;&amp;#039;&amp;#039;add a license&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;create a token for your firewall&amp;#039;&amp;#039;&amp;#039; in the &amp;#039;&amp;#039;&amp;#039;Q-Feeds Threat Intelligence Platform v2.3&amp;#039;&amp;#039;&amp;#039;.  {{#widget:Imagebox-left|link={{#tklink:type=sitex|id=21563|linkonly=1}}|image=/de/wikiDE/images/8/84/Q-Feeds-Sh...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Q-Feeds]], the cybersecurity plugin, provides a Cloud platform with a variety of information. With this, licenses can be added to the own account and tokens can be created for devices such as [[OPNsense]]-firewalls. This article shows how to &amp;#039;&amp;#039;&amp;#039;add a license&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;create a token for your firewall&amp;#039;&amp;#039;&amp;#039; in the &amp;#039;&amp;#039;&amp;#039;Q-Feeds Threat Intelligence Platform v2.3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{{#widget:Imagebox-left|link={{#tklink:type=sitex|id=21563|linkonly=1}}|image=/de/wikiDE/images/8/84/Q-Feeds-Shopbanner.png|text=Click here for our Q-Feeds licenses in the Thomas-Krenn online shop|campaign=Activate Q-Feeds webinterface and license}}&lt;br /&gt;
{{#widget:SitexBox|link={{#tklink:type=sitex|id=21563|linkonly=1}}|text=Click here for our Q-Feeds licenses in the Thomas-Krenn online shop|campaign=Activate Q-Feeds webinterface and license}}&lt;br /&gt;
&lt;br /&gt;
== Cloud platform login ==&lt;br /&gt;
Log in to tip.qfeeds.com, or create a new account.&lt;br /&gt;
&lt;br /&gt;
:[[File:Q-Feeds-Webinterface-001.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Q-Feeds dashboard == &lt;br /&gt;
Now, the dashboard is displayed after the login. &lt;br /&gt;
&lt;br /&gt;
:[[File:Q-Feeds-Webinterface-002.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Add and administrate license ==&lt;br /&gt;
This paragraph shows how to activate a license and add it to your account. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Q-Feeds-Webinterface-003.png|Click on your &amp;#039;&amp;#039;account name&amp;#039;&amp;#039; in the top right-hand corner, then select &amp;#039;&amp;#039;Licenses&amp;#039;&amp;#039;.&lt;br /&gt;
File:Q-Feeds-Webinterface-004.png|Then click on the &amp;#039;&amp;#039;Activate License&amp;#039;&amp;#039; button in the top-right corner. A menu will then appear; enter the licence key and click on &amp;#039;&amp;#039;Activate License&amp;#039;&amp;#039;.&lt;br /&gt;
File:Q-Feeds-Webinterface-005.png|The license has been added and is now active. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create API key for terminal devices such as OPNsense firewalls ==&lt;br /&gt;
This paragraph shows how to create API keys for your OPNsense firewalls. Such a key is required for the Q-Feeds plugin on the OPNsense firewall.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Q-Feeds-Webinterface-006.png|In the dashboard, click on &amp;#039;&amp;#039;Account Settings&amp;#039;&amp;#039; in the bottom-left corner, then click on the &amp;#039;&amp;#039;API KEYS&amp;#039;&amp;#039; tab. You can now add a key using the &amp;#039;&amp;#039;Add API Key&amp;#039;&amp;#039; button. Enter a description and select a valid licence in the &amp;#039;&amp;#039;Assign License&amp;#039;&amp;#039; field. Click on &amp;#039;&amp;#039;Save Key&amp;#039;&amp;#039;.&lt;br /&gt;
File:Q-Feeds-Webinterface-007.png|The API token appears. Copy it and paste it into the OPNsense firewall using the Q-Feeds plugin.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tniedermeier}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Q-Feeds]]&lt;br /&gt;
[[de:Q-Feeds Webinterface und Lizenz aktivieren]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Q-Feeds_Connect_Installation_under_OPNsense_26.1</id>
		<title>Q-Feeds Connect Installation under OPNsense 26.1</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Q-Feeds_Connect_Installation_under_OPNsense_26.1"/>
		<updated>2026-04-09T08:35:20Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;The Open Source Firewall OPNsense can be enhanced by integrating Q-Feeds firewall blocklists and DNS filter rules with the latest threat intelligence. This article shows how to install &amp;#039;&amp;#039;&amp;#039;Q-Feeds Connect plugin and how to create firewall rules&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Unbound DNS filter rules&amp;#039;&amp;#039;&amp;#039; under &amp;#039;&amp;#039;&amp;#039;OPNsense 26.1&amp;#039;&amp;#039;&amp;#039;.  {{#widget:Imagebox-left|link={{#tklink:type=sitex|id=21563|linkonly=1}}|image=/de/wikiDE/images/8/84/Q-Feeds-Shopbanner.png|text=Click here for our Q-Feeds Conne...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Open Source Firewall [[OPNsense]] can be enhanced by integrating Q-Feeds firewall blocklists and DNS filter rules with the latest threat intelligence. This article shows how to install &amp;#039;&amp;#039;&amp;#039;Q-Feeds Connect plugin and how to create firewall rules&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Unbound DNS filter rules&amp;#039;&amp;#039;&amp;#039; under &amp;#039;&amp;#039;&amp;#039;OPNsense 26.1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{{#widget:Imagebox-left|link={{#tklink:type=sitex|id=21563|linkonly=1}}|image=/de/wikiDE/images/8/84/Q-Feeds-Shopbanner.png|text=Click here for our Q-Feeds Connect licenses in the Thomas-Krenn online shop|campaign=Q-Feeds Connect installation under OPNsense 26.1 }}&lt;br /&gt;
{{#widget:SitexBox|link={{#tklink:type=sitex|id=21563|linkonly=1}}|text=Click here for our Q-Feeds Connect licenses in the Thomas-Krenn online shop|campaign=Q-Feeds Connect Einrichtung unter OPNsense 26.1}}&lt;br /&gt;
&lt;br /&gt;
== Q-Feeds Connect plugin ==&lt;br /&gt;
The Q-Feeds Connect plugin can be installed as Plugin at OPNsense. &lt;br /&gt;
&lt;br /&gt;
=== Installation of plugin === &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OPNsense-Q-Feeds-001.png|Go to &amp;#039;&amp;#039;System → Firmware → Plugins&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-002.png|The &amp;quot;os-q-feeds-connector&amp;quot; plugin is maintained in the OPNsense repository and can be installed directly. To install it, click on the &amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-003.png|Q-Feeds Connect has been installed.&lt;br /&gt;
File:OPNsense-Q-Feeds-004.png|Click on the button to reload the browser. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration of plugin ===&lt;br /&gt;
The plugin has been installed and the configuration can now be made.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OPNsense-Q-Feeds-005.png|Click on the new menu option &amp;#039;&amp;#039;Security&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-006.png|After this, go to &amp;#039;&amp;#039;Q-Feeds Connect&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-007.png|The settings are configured in the Settings tab.&lt;br /&gt;
File:OPNsense-Q-Feeds-008.png|State you API-key. Set the box next to  &amp;#039;&amp;#039;&amp;#039;Register domain feeds&amp;#039;&amp;#039;&amp;#039;, to activate the Unbound DNS blocklists from Q-Feeds. After this, click on &amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-009.png|In the &amp;#039;&amp;#039;&amp;#039;Feeds&amp;#039;&amp;#039;&amp;#039; tab, the loaded IP-addresses and domain names are listed. &lt;br /&gt;
File:OPNsense-Q-Feeds-010.png|Events tab. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Firewall Maximum Table Entries adjustments ===&lt;br /&gt;
The maximum number of Firewall Maximum Table Entries can be adjusted optionally. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OPNsense-Q-Feeds-011.png|Switch to the menu &amp;#039;&amp;#039;Firewall → Settings → Advanced&amp;#039;&amp;#039; and scroll to   &amp;#039;&amp;#039;&amp;#039;Firewall Maximum Table Entries&amp;#039;&amp;#039;&amp;#039;. Adjust the default value if necessary. &lt;br /&gt;
File:OPNsense-Q-Feeds-012.png|The current number of entries can be considered in the menu &amp;#039;&amp;#039;Firewall → Aliases&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-013.png|A Q-Feeds Alias has been created. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Q-Feeds firewall rule configuration ==&lt;br /&gt;
After installation and configuration of the plugin, the firewall rules can be set. In this example, the Q-Feeds blocklist is activated on the LAN and WAN interface. &lt;br /&gt;
&lt;br /&gt;
=== Block rule for outbound traffic on the LAN interface ===&lt;br /&gt;
For a LAN interface, a suitable rule would be one that blocks all incoming LAN traffic destined for addresses included in the block list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OPNsense-Q-Feeds-029.png|Go to the menu Firewall → Rules [new] and click on the &amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-030.png|State a description and assign the &amp;#039;&amp;#039;&amp;#039;LAN&amp;#039;&amp;#039;&amp;#039; interface to the rule.  &lt;br /&gt;
File:OPNsense-Q-Feeds-031.png|Select &amp;#039;&amp;#039;Block on Action.&amp;#039;&amp;#039; &lt;br /&gt;
File:OPNsense-Q-Feeds-032.png|Destination is the Alias &amp;#039;&amp;#039;&amp;#039;__qfeeds_malware_ip&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-033.png|Click on &amp;#039;&amp;#039;Save&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-034.png|Activate the checkbox before the new rule and click on the arrow at Allow from LAN rule.  Therefore, the block rule is processed before the allow rule. &lt;br /&gt;
File:OPNsense-Q-Feeds-035.png|Click on &amp;#039;&amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Block rule for incoming traffic on the WAN interface ===&lt;br /&gt;
For a WAN interface, a suitable rule would be one that blocks all incoming WAN traffic from source IP addresses included in the Q-Feeds blocklist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OPNsense-Q-Feeds-036.png|Go to the menu Firewall → Rules [new] and click on the &amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-037.png|State a description and assign the &amp;#039;&amp;#039;&amp;#039;WAN&amp;#039;&amp;#039;&amp;#039; interface to the rule. &lt;br /&gt;
File:OPNsense-Q-Feeds-038.png|On Action, select &amp;#039;&amp;#039;Block&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-039.png|Alias is the source &amp;#039;&amp;#039;&amp;#039;__qfeeds_malware_ip&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-040.png|Click on &amp;#039;&amp;#039;Save&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-041.png|Tick the box next to the new rule and click the arrow next to the Allow from WAN net rule. Therefore, the block rule is processed before the allow rule. &lt;br /&gt;
File:OPNsense-Q-Feeds-042.png|Click on &amp;#039;&amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More settings on Unbound DNS ==&lt;br /&gt;
With Q-Feeds Plus (only OSINT) and Premium (OSINT and Paid), DNS requests can be filtered with the Unbound DNS. The DNS filter rule are activated automatically. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OPNsense-Q-Feeds-027.png|You can activate the Unbound DNS reporting. Click on &amp;#039;&amp;#039;Reporting → Settings&amp;#039;&amp;#039; and allow the local collection of statistics on Unbound. Click on &amp;#039;&amp;#039;Save&amp;#039;&amp;#039;.&lt;br /&gt;
File:OPNsense-Q-Feeds-028.png|The size of the blocklist is now displayed. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tniedermeier}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Q-Feeds]]&lt;br /&gt;
[[de:Q-Feeds Connect Einrichtung unter OPNsense 26.1]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Q-Feeds_Versions:_Feature_Comparison</id>
		<title>Q-Feeds Versions: Feature Comparison</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Q-Feeds_Versions:_Feature_Comparison"/>
		<updated>2026-04-08T08:12:15Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;Next-Generation-Firewalls (NGFWs) are important tools to protect networks. You can filter DNS and web traffic using external dynamic lists of threat indicators, known as Indicators of Compromise (IoCs). Q-Feeds provides dynamic and updated lists of these IoCs that were specifically designed for use with security controls such as NGFWs. By adding Q-Feeds as a plugin to OPNsense firewalls, you can enhance protection against new and emerging threats. This means that OPN...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Next-Generation-Firewalls (NGFWs) are important tools to protect networks. You can filter DNS and web traffic using external dynamic lists of threat indicators, known as Indicators of Compromise (IoCs). Q-Feeds provides dynamic and updated lists of these IoCs that were specifically designed for use with security controls such as NGFWs. By adding Q-Feeds as a plugin to [[OPNsense]] firewalls, you can enhance protection against new and emerging threats. This means that OPNsense can stay up to date with the latest threat intelligence to filter out malicious traffic. This article shows &amp;#039;&amp;#039;&amp;#039;different Q-Feeds licenses&amp;#039;&amp;#039;&amp;#039; with its features &amp;#039;&amp;#039;&amp;#039;presented in a table for comparison&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{{#widget:Imagebox-left|link={{#tklink:type=sitex|id=21563|linkonly=1}}|image=/de/wikiDE/images/8/84/Q-Feeds-Shopbanner.png|text=Click here to view Q-Feeds Connect licenses in the Thomas-Krenn online shop|campaign=Q-Feeds Versions: Feature Comparison}}&lt;br /&gt;
{{#widget:SitexBox|link={{#tklink:type=sitex|id=21563|linkonly=1}}|text=Click here to view Q-Feeds Connect licenses in the Thomas-Krenn online shop|campaign=Q-Feeds Versions: Feature Comparison}}&lt;br /&gt;
&lt;br /&gt;
== Q-Feeds versions ==&lt;br /&gt;
This table shows three Q-Feeds licenses with its features and differences. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Q-Feeds Versionen Eigenschaften und Unterschiede&lt;br /&gt;
!&lt;br /&gt;
!Feature&lt;br /&gt;
!Community Edition&lt;br /&gt;
!Plus&lt;br /&gt;
!Premium&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Services&lt;br /&gt;
|Active Support&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
|Easy Integration&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
|Curated data&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
|Update frequency&lt;br /&gt;
|delayed by 7 days&lt;br /&gt;
|delayed by 4 hours&lt;br /&gt;
|every 20 minutes&lt;br /&gt;
|-&lt;br /&gt;
|IoC (indicators of compromise) lookup&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
|[https://qfeeds.com/external-attack-surface-management-easm/?srsltid=AfmBOooV-Qo_q4fAO0jWsdbrFjMqRpUGMmKDZnZBOSFYMCfDXFBnFI5U EASM (External Attack Service Management)]&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
|1 scan per week&lt;br /&gt;
|1 scan per day&lt;br /&gt;
|-&lt;br /&gt;
|[https://qfeeds.com/darkweb-monitoring/?srsltid=AfmBOoo6ZXk6TLFtXnFutk_4XD-mwwPRO-pHzSWMI2N9L7yr8Fqd66dz Dark web monitoring]&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
|[https://qfeeds.com/brand-protection-phishing-detection/?srsltid=AfmBOoqTwqgD2DpEVUpBH_8nQ6JstPjBqgQjxcaOqeHBh0uPE07wC1Ed Brand Protection]&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |OSINT (Open-Source Intelligence)&lt;br /&gt;
|IP&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
|DNS&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Paid&lt;br /&gt;
|IP&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|-&lt;br /&gt;
|DNS&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#FFCCCC;&amp;quot; align=&amp;quot;center&amp;quot;|-&lt;br /&gt;
!style=&amp;quot;background-color:#CCFFCC;&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Tniedermeier}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Q-Feeds]]&lt;br /&gt;
[[de:Q-Feeds Versionen Featurevergleich]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Cloud_Computing_Concepts</id>
		<title>Cloud Computing Concepts</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Cloud_Computing_Concepts"/>
		<updated>2026-04-02T08:24:19Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;The term &amp;#039;&amp;#039;&amp;#039;Cloud&amp;#039;&amp;#039;&amp;#039;—actually cloud computing—is a term for various concepts related to the delivery of IT services. These can be broadly divided into three categories and classified using the cloud computing stack. This article provides an overview of these concepts.   == Cloud Computing Stack == file:Cloud Computing Stack.jpg|250px|thumb|right|Cloud Computing Stack.&amp;lt;ref&amp;gt;[http://oracle-help.com/oracle-cloud/...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The term &amp;#039;&amp;#039;&amp;#039;Cloud&amp;#039;&amp;#039;&amp;#039;—actually [[:Category:Cloud Computing|cloud computing]]—is a term for various concepts related to the delivery of IT services. These can be broadly divided into three categories and classified using the [[#Cloud Computing Stack|cloud computing stack]]. This article provides an overview of these concepts.&lt;br /&gt;
 &lt;br /&gt;
== Cloud Computing Stack ==&lt;br /&gt;
[[file:Cloud Computing Stack.jpg|250px|thumb|right|Cloud Computing Stack.&amp;lt;ref&amp;gt;[http://oracle-help.com/oracle-cloud/cloud-computing-stack-saas-paas-iaas/ WHAT IS CLOUD COMPUTING STACK (SAAS, PAAS, IAAS)] (oracle-help.com)&amp;lt;/ref&amp;gt;]] &lt;br /&gt;
This section describes the various cloud concepts using the cloud computing stack. The cloud computing stack illustrates these concepts through the components of externally managed services that are hosted services.&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure as a Service (IaaS) ===&lt;br /&gt;
In this concept, the server infrastructure is managed by the cloud service provider (CSP). All components (CPU, [[RAM Basics|RAM]], storage, network) are already virtualized and can be freely allocated by the user. The user has full control over resource usage, meaning that CPU cores, RAM, and storage can be adjusted at any time as needed. Since the infrastructure is a virtualized environment and is typically designed to be redundant, it is impossible to determine on which hardware within a data center the infrastructure is currently running (exceptions are [[Virtual Location|Virtual Locations]]—not to be confused with [[Virtual Private Cloud|VPCs]]).&lt;br /&gt;
&lt;br /&gt;
The user is solely responsible for the maintenance and support of all software, including the operating system (this also includes proper licensing).&lt;br /&gt;
&lt;br /&gt;
Many service providers operate multiple data centers, giving users the ability to choose the geographic location of their data.&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
Since IaaS allows for the rapid migration of virtual machines and applications without refactoring&amp;lt;ref&amp;gt;[https://de.wikipedia.org/wiki/Refactoring Refactoring] (de.wikipedia.org) &amp;lt;/ref&amp;gt; (see also [[Lift and Shift Migration|Lift &amp;amp; Shift]]), it is a particularly good option for time-critical IT migrations to the cloud (for example, when discontinuing colocation in a data center). Using an IaaS platform can also be worthwhile for purpose-specific applications that do not require 24-hour operation.&lt;br /&gt;
&lt;br /&gt;
=== Platform as a Service (PaaS) ===&lt;br /&gt;
In addition to the infrastructure, this cloud concept also provides the operating system and runtime environment. As a user, you are only responsible for managing the data within the applications. Specifically, this means that a database pre-installed by the service provider (MySQL, Oracle, Postgres, etc.) is used to develop and deploy your own applications. One advantage for developers is that performance can be scaled dynamically.&lt;br /&gt;
&lt;br /&gt;
Unlike IaaS, there is no longer a need to create a virtual environment.&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
&lt;br /&gt;
This approach is particularly beneficial for web developers—such as those in the e-commerce sector or other service providers—as it allows them to focus on application development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software as a Service (SaaS) ===&lt;br /&gt;
SaaS is arguably the best-known model for online services. This is because it has also found its way into the consumer market and is used on a regular basis.&lt;br /&gt;
&lt;br /&gt;
With SaaS, the entire stack—from the hardware to the finished application—is provided as a ready-made solution.&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
SaaS offerings are a resource-efficient alternative, as they eliminate the need for personnel and time to manage hardware and software.&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
* [https://www.isbn-suchen.de/search.php?q=978-3-446-46184-0 IT-Management Guide: Concepts, Methods, Solutions and Resources for practical use] (ISBN 978-3-446-46184-0, 7. revised edition (9. März 2020)), Chapter 7: Cloud Computing&lt;br /&gt;
* [https://www.linkedin.com/pulse/20140730172610-9679881-pizza-as-a-service/ Pizza as a Service] (linkedin.com/pulse, Albert Barron, 30.07.2014)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Sbohn}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Cloud Computing]]&lt;br /&gt;
[[de:Cloud Computing Konzepte]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
	<entry>
		<id>https://www.thomas-krenn.com/en/wiki/Boot-Device_Replacement_-_Change_of_Proxmox_ZFS_Mirror_Disk</id>
		<title>Boot-Device Replacement - Change of Proxmox ZFS Mirror Disk</title>
		<link rel="alternate" type="text/html" href="https://www.thomas-krenn.com/en/wiki/Boot-Device_Replacement_-_Change_of_Proxmox_ZFS_Mirror_Disk"/>
		<updated>2026-03-26T12:45:09Z</updated>

		<summary type="html">&lt;p&gt;Aranzinger: Created page with &amp;quot;These instructions describe the &amp;#039;&amp;#039;&amp;#039;change of a boot device&amp;#039;&amp;#039;&amp;#039; in a &amp;#039;&amp;#039;&amp;#039;Proxmox VE (PVE) host system&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;with ZFS-mirror&amp;#039;&amp;#039;&amp;#039;. This change is necessary, when a disk is damaged or has failed in the compound. In this article, it is explained what to do after a system hard drive failure. Options for different boot-loaders (&amp;quot;GRUB&amp;quot; or &amp;quot;systemd-boot&amp;quot;) are explained. Furthermore, it is explained how to change a hard drive within a PVE so that the used mirror is completely &amp;#039;&amp;#039;o...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These instructions describe the &amp;#039;&amp;#039;&amp;#039;change of a boot device&amp;#039;&amp;#039;&amp;#039; in a &amp;#039;&amp;#039;&amp;#039;[[Proxmox VE]] (PVE) host system&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;with ZFS-mirror&amp;#039;&amp;#039;&amp;#039;. This change is necessary, when a disk is damaged or has failed in the compound. In this article, it is explained what to do after a system hard drive failure. Options for different boot-loaders (&amp;quot;GRUB&amp;quot; or &amp;quot;systemd-boot&amp;quot;) are explained. Furthermore, it is explained how to change a hard drive within a PVE so that the used mirror is completely &amp;#039;&amp;#039;online,&amp;#039;&amp;#039; and &amp;#039;&amp;#039;healthy&amp;#039;&amp;#039; and that the redundancy of the operating system is recreated. &lt;br /&gt;
&lt;br /&gt;
{{#widget:Imagebox-left|link={{#tklink:type=sitex|id=19702|linkonly=1}}|image=/de/wikiDE/images/d/d5/Ceph-hci-proxmox-3.png|text=Buy Proxmox optimized servers|campaign=Buy Proxmox Servers}}&lt;br /&gt;
{{#widget:SitexBox|link={{#tklink:type=sitex|id=19702|linkonly=1}}|text=Buy Proxmox optimized servers|campaign=campaign=Buy Proxmox Servers}}&lt;br /&gt;
&lt;br /&gt;
== Recommendation - Test environment ==&lt;br /&gt;
All described steps can be previously performed in a test environment. For this, create a &amp;#039;&amp;#039;&amp;#039;virtual machine in Proxmox VE&amp;#039;&amp;#039;&amp;#039; and install PVE on a ZFS RAID-1.&lt;br /&gt;
&lt;br /&gt;
Therefore, you gain experience in this process and lower the risk for your productive system.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
This paragraph summarizes the commands that are necessary for changing your data carrier and its influence on your system in brief. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Attention: It is highly recommended to read the detailed instructions if it is your first time performing this process or are still inexperienced in administering Proxmox VE systems!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
#Identify the faulty storage device and change it.&lt;br /&gt;
#Copy partition layout of the &amp;#039;&amp;#039;healthy&amp;#039;&amp;#039; disk on the &amp;#039;&amp;#039;exchange&amp;#039;&amp;#039; disk (and randomize the GUID)&lt;br /&gt;
#Find the ZFS partition using the volume ID (&amp;lt;code&amp;gt;Solaris /usr &amp;amp; Apple ZFS&amp;lt;/code&amp;gt;)&lt;br /&gt;
#Copy partition of the &amp;#039;&amp;#039;new&amp;#039;&amp;#039; disk into the &amp;#039;&amp;#039;zpool&amp;#039;&amp;#039;&lt;br /&gt;
#Finalize exchange with &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; &lt;br /&gt;
Once you have completed all the steps correctly, your ZFS will be &amp;quot;online&amp;quot;, &amp;quot;healthy&amp;quot;, and &amp;quot;boot-safe&amp;quot; again.&lt;br /&gt;
&lt;br /&gt;
== Identify failed data carrier ==&lt;br /&gt;
First, you need to identify the failed disk and its name in your PVE system. This can be made, for example, with the &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
=== Before failure ===&lt;br /&gt;
After installation, two boot disks are available (&amp;#039;&amp;#039;sda&amp;#039;&amp;#039; and &amp;#039;&amp;#039;sdb&amp;#039;&amp;#039;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# lsblk&lt;br /&gt;
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT&lt;br /&gt;
sda      8:0    0   100G  0 disk&lt;br /&gt;
├─sda1   8:1    0  1007K  0 part&lt;br /&gt;
├─sda2   8:2    0   512M  0 part&lt;br /&gt;
└─sda3   8:3    0  99.5G  0 part&lt;br /&gt;
sdb      8:16   0   100G  0 disk&lt;br /&gt;
├─sdb1   8:17   0  1007K  0 part&lt;br /&gt;
├─sdb2   8:18   0   512M  0 part&lt;br /&gt;
└─sdb3   8:19   0  99.5G  0 part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After failure ===&lt;br /&gt;
In this test scenario, the &amp;#039;&amp;#039;sda&amp;#039;&amp;#039; hard drive has failed. It is missing in the &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; output after the failure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# lsblk&lt;br /&gt;
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT&lt;br /&gt;
sdb      8:16   0  100G  0 disk&lt;br /&gt;
├─sdb1   8:17   0 1007K  0 part&lt;br /&gt;
├─sdb2   8:18   0  512M  0 part&lt;br /&gt;
└─sdb3   8:19   0 99.5G  0 part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039;:  When replacing a data storage device, the descriptions may change. &amp;#039;&amp;#039;&amp;#039;Always verify the exact name immediately after replacing the damaged storage device with a new one!&amp;#039;&amp;#039;&amp;#039; A faulty specification of the name could irreparably damage your system in the next steps.&lt;br /&gt;
&lt;br /&gt;
== Copy partition layout == &lt;br /&gt;
This information can be always found in the current Proxmox VE documentation. &amp;lt;ref&amp;gt;[https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_zfs ZFS on Linux] (pve.proxmox.com) Abschnitt &amp;#039;&amp;#039;Changing a failed device&amp;#039;&amp;#039; im Unterkapitel 3.8.5.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sgdisk &amp;lt;healthy bootable device&amp;gt; -R &amp;lt;new device&amp;gt;&lt;br /&gt;
# sgdisk -G &amp;lt;new device&amp;gt;&lt;br /&gt;
# zpool replace -f &amp;lt;pool&amp;gt; &amp;lt;old zfs partition&amp;gt; &amp;lt;new zfs partition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The new data carrier is in the system and does not have a partition layout yet. However, we require the partitions so that the system can boot properly and that we can provide two technically identic data carriers for the ZFS: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# lsblk&lt;br /&gt;
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT&lt;br /&gt;
sda      8:0    0  100G  0 disk&lt;br /&gt;
sdb      8:16   0  100G  0 disk&lt;br /&gt;
├─sdb1   8:17   0 1007K  0 part&lt;br /&gt;
├─sdb2   8:18   0  512M  0 part&lt;br /&gt;
└─sdb3   8:19   0 99.5G  0 part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We now copy the partition layout from the &amp;#039;&amp;#039;healthy&amp;#039;&amp;#039; data carrier to the &amp;#039;&amp;#039;new&amp;#039;&amp;#039; data carrier.&lt;br /&gt;
{| {{Prettytable}} cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #a0a0a0 solid; border-collapse: collapse; &amp;quot; rules=&amp;quot;all&amp;quot;&lt;br /&gt;
| Please note once again that you MUST first identify the correct device name (&amp;#039;&amp;#039;device-name&amp;#039;&amp;#039;) using (&amp;#039;&amp;#039;Device-Name&amp;#039;&amp;#039;) with &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;. Otherwise, you risk ending up with a broken Proxmox VE system, as the partition layout of the &amp;quot;new&amp;quot; disk might be accidentally replicated to the &amp;quot;healthy&amp;quot; disk. This would result in the system being unable to boot at all, forcing you to perform a clean install.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# sgdisk /dev/sdb -R /dev/sda&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
&lt;br /&gt;
root@pve-virtual-01:~# lsblk&lt;br /&gt;
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT&lt;br /&gt;
sda      8:0    0  100G  0 disk&lt;br /&gt;
├─sda1   8:1    0 1007K  0 part&lt;br /&gt;
├─sda2   8:2    0  512M  0 part&lt;br /&gt;
└─sda3   8:3    0 99.5G  0 part&lt;br /&gt;
sdb      8:16   0  100G  0 disk&lt;br /&gt;
├─sdb1   8:17   0 1007K  0 part&lt;br /&gt;
├─sdb2   8:18   0  512M  0 part&lt;br /&gt;
└─sdb3   8:19   0 99.5G  0 part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we copied the layout to the new disk, the disk and partitions now have the same GUIDs. That is why we still need to randomize them:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# sgdisk -G /dev/sda&lt;br /&gt;
The operation has completed successfully.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Find out disk ID (by-id) ==&lt;br /&gt;
To replace the volume correctly in ZFS, we need to determine the ID of the new volume. In this case, we are looking for the volume associated with the device name sda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve:~# ls -l /dev/disk/by-id/*&lt;br /&gt;
&lt;br /&gt;
lrwxrwxrwx 1 root root  9 Mar 16 15:11 /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00003 -&amp;gt; ../../sr0&lt;br /&gt;
lrwxrwxrwx 1 root root  9 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0 -&amp;gt; ../../sda&lt;br /&gt;
lrwxrwxrwx 1 root root 10 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part1 -&amp;gt; ../../sda1&lt;br /&gt;
lrwxrwxrwx 1 root root 10 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2 -&amp;gt; ../../sda2&lt;br /&gt;
lrwxrwxrwx 1 root root 10 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part3 -&amp;gt; ../../sda3&lt;br /&gt;
lrwxrwxrwx 1 root root  9 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 -&amp;gt; ../../sdb&lt;br /&gt;
lrwxrwxrwx 1 root root 10 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-part1 -&amp;gt; ../../sdb1&lt;br /&gt;
lrwxrwxrwx 1 root root 10 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-part2 -&amp;gt; ../../sdb2&lt;br /&gt;
lrwxrwxrwx 1 root root 10 Mar 16 15:11 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-part3 -&amp;gt; ../../sdb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PVE always creates dedicated partitions for &amp;#039;&amp;#039;boot, EFI,&amp;#039;&amp;#039; and &amp;#039;&amp;#039;ZFS&amp;#039;&amp;#039; on storage devices:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve:~# fdisk -l /dev/sda&lt;br /&gt;
&lt;br /&gt;
Disk /dev/sda: 32 GiB, 34359738368 bytes, 67108864 sectors&lt;br /&gt;
Disk model: QEMU HARDDISK&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disklabel type: gpt&lt;br /&gt;
Disk identifier: 7D6423DE-2A9C-4B8D-A272-C7B28E1452D9&lt;br /&gt;
&lt;br /&gt;
Device       Start      End  Sectors  Size Type&lt;br /&gt;
/dev/sda1       34     2047     2014 1007K BIOS boot&lt;br /&gt;
/dev/sda2     2048  1050623  1048576  512M EFI System&lt;br /&gt;
/dev/sda3  1050624 67108830 66058207 31.5G Solaris /usr &amp;amp; Apple ZFS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, we require the device-ID (&amp;#039;&amp;#039;by-id&amp;#039;&amp;#039;) from the &amp;#039;&amp;#039;/dev/sda3.&amp;#039;&amp;#039; partition, which is as follows:&lt;br /&gt;
 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part3&lt;br /&gt;
&lt;br /&gt;
== Switch ZFS data carrier ==&lt;br /&gt;
First, we verify the ZFS pool status. Here, we see that the failed hard drive is not available anymore in the system and previously had the ID &amp;#039;&amp;#039;/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part3.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# zpool status -v&lt;br /&gt;
  pool: rpool&lt;br /&gt;
 state: DEGRADED&lt;br /&gt;
status: One or more devices could not be used because the label is missing or&lt;br /&gt;
        invalid.  Sufficient replicas exist for the pool to continue&lt;br /&gt;
        functioning in a degraded state.&lt;br /&gt;
action: Replace the device using &amp;#039;zpool replace&amp;#039;.&lt;br /&gt;
   see: http://zfsonlinux.org/msg/ZFS-8000-4J&lt;br /&gt;
  scan: none requested&lt;br /&gt;
config:&lt;br /&gt;
&lt;br /&gt;
        NAME                                            STATE     READ WRITE CKSUM&lt;br /&gt;
        rpool                                           DEGRADED     0     0     0&lt;br /&gt;
          mirror-0                                      DEGRADED     0     0     0&lt;br /&gt;
            15467202543801207082                        UNAVAIL      0     0     0  was /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part3&lt;br /&gt;
            scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-part3  ONLINE       0     0     0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, we change the data carriers.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; In this example, our new hard drive has the same ID as the old one. This will not be the case in your actual scenario. Please follow the syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;root@pve-virtual-01:~# zpool replace -f rpool /dev/disk/by-id/ID-ALTE-FESTPLATTE /dev/disk/by-id/ID-NEUE-FESTPLATTE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# zpool replace -f rpool /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part3 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exchange is now complete. Now, you can verify if the RAID-1 (&amp;#039;&amp;#039;ZFS-Mirror&amp;#039;&amp;#039;) is &amp;#039;&amp;#039;&amp;#039;online&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;healthy&amp;#039;&amp;#039;&amp;#039; again:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@pve-virtual-01:~# zpool status -v&lt;br /&gt;
  pool: rpool&lt;br /&gt;
 state: ONLINE&lt;br /&gt;
  scan: resilvered 998M in 0 days 00:00:08 with 0 errors on Tue Mar 16 12:16:34 2021&lt;br /&gt;
config:&lt;br /&gt;
&lt;br /&gt;
        NAME                                            STATE     READ WRITE CKSUM&lt;br /&gt;
        rpool                                           ONLINE       0     0     0&lt;br /&gt;
          mirror-0                                      ONLINE       0     0     0&lt;br /&gt;
            scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part3  ONLINE       0     0     0&lt;br /&gt;
            scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-part3  ONLINE       0     0     0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalize disk exchange ==&lt;br /&gt;
Finally, there are a few steps left to ensure that the system is stable after a reboot and fully functional. &lt;br /&gt;
&lt;br /&gt;
Now, you have to perform the following steps with the &amp;#039;&amp;#039;proxmox-boot-tool&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* First, you need to find out the disk ID as described in the step [[Boot-Device Replacement - Replacing a Proxmox ZFS Mirror Disk#Find out disk ID (by-id)|Find out disk ID (by-id)]]—but this time, you need to find the &amp;#039;&amp;#039;&amp;#039;ID of the second partition&amp;#039;&amp;#039;&amp;#039;, since this is always used for the &amp;#039;&amp;#039;&amp;#039;EFI system&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* When you have found out the ID (in this case &amp;#039;&amp;#039;/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2),&amp;#039;&amp;#039;, you can execute the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@pve:~# proxmox-boot-tool format /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2&lt;br /&gt;
&lt;br /&gt;
UUID=&amp;quot;&amp;quot; SIZE=&amp;quot;536870912&amp;quot; FSTYPE=&amp;quot;&amp;quot; PARTTYPE=&amp;quot;c12a7328-f81f-11d2-ba4b-00a0c93ec93b&amp;quot; PKNAME=&amp;quot;sdb&amp;quot; MOUNTPOINT=&amp;quot;&amp;quot;&lt;br /&gt;
Formatting &amp;#039;/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2&amp;#039; as vfat..&lt;br /&gt;
mkfs.fat 4.2 (2021-01-31)&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@pve:~# proxmox-boot-tool init /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2&lt;br /&gt;
&lt;br /&gt;
Re-executing &amp;#039;/usr/sbin/proxmox-boot-tool&amp;#039; in new private mount namespace..&lt;br /&gt;
UUID=&amp;quot;FD52-5CAE&amp;quot; SIZE=&amp;quot;536870912&amp;quot; FSTYPE=&amp;quot;vfat&amp;quot; PARTTYPE=&amp;quot;c12a7328-f81f-11d2-ba4b-00a0c93ec93b&amp;quot; PKNAME=&amp;quot;sdb&amp;quot; MOUNTPOINT=&amp;quot;&amp;quot;&lt;br /&gt;
Mounting &amp;#039;/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2&amp;#039; on &amp;#039;/var/tmp/espmounts/FD52-5CAE&amp;#039;.&lt;br /&gt;
Installing systemd-boot..&lt;br /&gt;
Created &amp;quot;/var/tmp/espmounts/FD52-5CAE/EFI/systemd&amp;quot;.&lt;br /&gt;
Created &amp;quot;/var/tmp/espmounts/FD52-5CAE/EFI/BOOT&amp;quot;.&lt;br /&gt;
Created &amp;quot;/var/tmp/espmounts/FD52-5CAE/loader&amp;quot;.&lt;br /&gt;
Created &amp;quot;/var/tmp/espmounts/FD52-5CAE/loader/entries&amp;quot;.&lt;br /&gt;
Created &amp;quot;/var/tmp/espmounts/FD52-5CAE/EFI/Linux&amp;quot;.&lt;br /&gt;
Copied &amp;quot;/usr/lib/systemd/boot/efi/systemd-bootx64.efi&amp;quot; to &amp;quot;/var/tmp/espmounts/FD52-5CAE/EFI/systemd/systemd-bootx64.efi&amp;quot;.&lt;br /&gt;
Copied &amp;quot;/usr/lib/systemd/boot/efi/systemd-bootx64.efi&amp;quot; to &amp;quot;/var/tmp/espmounts/FD52-5CAE/EFI/BOOT/BOOTX64.EFI&amp;quot;.&lt;br /&gt;
Random seed file /var/tmp/espmounts/FD52-5CAE/loader/random-seed successfully written (512 bytes).&lt;br /&gt;
Not installing system token, since we are running in a virtualized environment.&lt;br /&gt;
Created EFI boot entry &amp;quot;Linux Boot Manager&amp;quot;.&lt;br /&gt;
Configuring systemd-boot..&lt;br /&gt;
Unmounting &amp;#039;/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2&amp;#039;.&lt;br /&gt;
Adding &amp;#039;/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2&amp;#039; to list of synced ESPs..&lt;br /&gt;
Refreshing kernels and initrds..&lt;br /&gt;
Running hook script &amp;#039;proxmox-auto-removal&amp;#039;..&lt;br /&gt;
Running hook script &amp;#039;zz-proxmox-boot&amp;#039;..&lt;br /&gt;
Copying and configuring kernels on /dev/disk/by-uuid/5D2E-4BFB&lt;br /&gt;
        Copying kernel and creating boot-entry for 5.15.30-2-pve&lt;br /&gt;
WARN: /dev/disk/by-uuid/5D2F-103F does not exist - clean &amp;#039;/etc/kernel/proxmox-boot-uuids&amp;#039;! - skipping&lt;br /&gt;
Copying and configuring kernels on /dev/disk/by-uuid/FD52-5CAE&lt;br /&gt;
        Copying kernel and creating boot-entry for 5.15.30-2-pve&lt;br /&gt;
&lt;br /&gt;
root@pve:~# proxmox-boot-tool status&lt;br /&gt;
&lt;br /&gt;
Re-executing &amp;#039;/usr/sbin/proxmox-boot-tool&amp;#039; in new private mount namespace..&lt;br /&gt;
System currently booted with uefi&lt;br /&gt;
5D2E-4BFB is configured with: uefi (versions: 5.15.30-2-pve)&lt;br /&gt;
WARN: /dev/disk/by-uuid/5D2F-103F does not exist - clean &amp;#039;/etc/kernel/proxmox-boot-uuids&amp;#039;! - skipping&lt;br /&gt;
FD52-5CAE is configured with: uefi (versions: 5.15.30-2-pve)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@pve:~# proxmox-boot-tool refresh&lt;br /&gt;
&lt;br /&gt;
Running hook script &amp;#039;proxmox-auto-removal&amp;#039;..&lt;br /&gt;
Running hook script &amp;#039;zz-proxmox-boot&amp;#039;..&lt;br /&gt;
Re-executing &amp;#039;/etc/kernel/postinst.d/zz-proxmox-boot&amp;#039; in new private mount namespace..&lt;br /&gt;
Copying and configuring kernels on /dev/disk/by-uuid/5D2E-4BFB&lt;br /&gt;
        Copying kernel and creating boot-entry for 5.15.30-2-pve&lt;br /&gt;
WARN: /dev/disk/by-uuid/5D2F-103F does not exist - clean &amp;#039;/etc/kernel/proxmox-boot-uuids&amp;#039;! - skipping&lt;br /&gt;
Copying and configuring kernels on /dev/disk/by-uuid/FD52-5CAE&lt;br /&gt;
        Copying kernel and creating boot-entry for 5.15.30-2-pve&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@pve:~# proxmox-boot-tool clean&lt;br /&gt;
&lt;br /&gt;
Checking whether ESP &amp;#039;5D2E-4BFB&amp;#039; exists.. Found!&lt;br /&gt;
Checking whether ESP &amp;#039;5D2F-103F&amp;#039; exists.. Not found!&lt;br /&gt;
Checking whether ESP &amp;#039;FD52-5CAE&amp;#039; exists.. Found!&lt;br /&gt;
Sorting and removing duplicate ESPs..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@pve:~# proxmox-boot-tool status&lt;br /&gt;
&lt;br /&gt;
Re-executing &amp;#039;/usr/sbin/proxmox-boot-tool&amp;#039; in new private mount namespace..&lt;br /&gt;
System currently booted with uefi&lt;br /&gt;
5D2E-4BFB is configured with: uefi (versions: 5.15.30-2-pve)&lt;br /&gt;
FD52-5CAE is configured with: uefi (versions: 5.15.30-2-pve)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, the system has been successfully rebooted and is now fully redundant and secure again.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Jsterr}}&lt;br /&gt;
{{Aranzinger}}&lt;br /&gt;
[[Category:Proxmox Administration]]&lt;br /&gt;
[[de:Boot-Device Replacement - Proxmox ZFS Mirror Disk austauschen]]&lt;/div&gt;</summary>
		<author><name>Aranzinger</name></author>
	</entry>
</feed>