Files
hugo_docker/site/public/networkconfig_dns/index.html
T
jonnybravo 86466f539e
Test & Deploy Hugo Docker CMS / test-and-deploy (push) Successful in 4m18s
Molecule 7/7: ansible_remote_tmp fix
2026-09-10 10:02:40 +02:00

233 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html lang="de">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Zusammenfassung der vorgenommenen Änderungen und Konfigurationen – Hugo Docker CMS</title>
<meta name="description" content="Zusammenfassung der vorgenommenen Änderungen und Konfigurationen Dieses Dokument fasst die wichtigsten Änderungen und Konfigurationen zusammen, die wir …">
<meta property="og:title" content="Zusammenfassung der vorgenommenen Änderungen und Konfigurationen – Hugo Docker CMS">
<meta property="og:description" content="Zusammenfassung der vorgenommenen Änderungen und Konfigurationen Dieses Dokument fasst die wichtigsten Änderungen und Konfigurationen zusammen, die wir …">
<meta property="og:type" content="article">
<meta property="og:url" content="https://localhost:1313/networkconfig_dns/">
<meta property="og:site_name" content="Hugo Docker CMS">
<link rel="stylesheet" href="/css/main.min.css">
<script src="/js/search.min.e3b0d3e2cda62c2da5ea36b7702e0c2c8c2677c6e586d872a4d8f1545fda8cd8.js" defer></script>
</head>
<body>
<header>
<a href="/" class="logo">Hugo Docker CMS</a>
<div class="search">
<input
type="search"
id="search-input"
placeholder="Suchen…"
autocomplete="off"
aria-label="Suche"
aria-controls="search-results"
aria-expanded="false">
<div id="search-results" class="search-results" hidden></div>
</div>
<nav aria-label="Breadcrumb">
<a href="/">← Start</a>
</nav>
</header>
<main data-pagefind-body>
<article>
<header class="article-header">
<h1>Zusammenfassung der vorgenommenen Änderungen und Konfigurationen</h1>
<time datetime="2026-09-08">08.09.2026</time>
</header>
<details class="toc" >
<summary>Inhaltsverzeichnis</summary>
<nav id="TableOfContents">
<ul>
<li><a href="#1-python-logging-syncpy-und-logging_configpy">1. Python Logging (sync.py und logging_config.py)</a>
<ul>
<li><a href="#logging_configpy-erstellt"><code>logging_config.py</code> erstellt</a></li>
<li><a href="#syncpy-angepasst"><code>sync.py</code> angepasst</a></li>
</ul>
</li>
<li><a href="#2-dns-konfiguration-auf-dem-manjaro-system">2. DNS-Konfiguration auf dem Manjaro-System</a>
<ul>
<li><a href="#globale-systemd-resolved-konfiguration">Globale <code>systemd-resolved</code> Konfiguration</a></li>
<li><a href="#networkmanager-überschreibung-für-alle-verbindungen">NetworkManager Überschreibung für alle Verbindungen</a></li>
<li><a href="#anpassung-des-spezifischen-wlan-profils-sweethome-5g">Anpassung des spezifischen WLAN-Profils (SweetHome-5G)</a></li>
</ul>
</li>
<li><a href="#3-adguard-home-konfiguration">3. AdGuard Home Konfiguration</a>
<ul>
<li><a href="#installation--ssl-einrichtung">Installation &amp; SSL-Einrichtung</a></li>
<li><a href="#bedingte-weiterleitung-für-lokale-namen">Bedingte Weiterleitung für lokale Namen</a></li>
</ul>
</li>
<li><a href="#4-problembehebung-wireguard-dns">4. Problembehebung WireGuard DNS</a></li>
</ul>
</nav>
</details>
<div class="content">
<h1 id="zusammenfassung-der-vorgenommenen-änderungen-und-konfigurationen">Zusammenfassung der vorgenommenen Änderungen und Konfigurationen</h1>
<p>Dieses Dokument fasst die wichtigsten Änderungen und Konfigurationen zusammen, die wir besprochen und durchgeführt haben.</p>
<hr>
<h2 id="1-python-logging-syncpy-und-logging_configpy">1. Python Logging (sync.py und logging_config.py)</h2>
<p>Um die Log-Ausgabe des <code>sync.py</code>-Skripts zu verbessern, wurde eine modulare Logging-Konfiguration mit Log-Rotation erstellt und in eine separate Datei ausgelagert.</p>
<h3 id="logging_configpy-erstellt"><code>logging_config.py</code> erstellt</h3>
<p><strong>Zweck:</strong> Enthält die Funktion <code>setup_logging()</code> zur Konfiguration eines Root-Loggers, der Logs in eine Datei (<code>sync_log.log</code>) schreibt, diese bei Erreichen einer Größe von 5 MB rotiert und 5 Backups behält. Optional kann auch ein Konsolen-Logger aktiviert werden.</p>
<p><strong>Inhalt der Datei (<code>/home/jonnybravo/Projekte/python_tests/rclone/logging_config.py</code>):</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">logging</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">logging.handlers</span> <span class="kn">import</span> <span class="n">RotatingFileHandler</span><span class="p">,</span> <span class="n">TimedRotatingFileHandler</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">os</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">setup_logging</span><span class="p">(</span><span class="n">console_logging</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span></span><span class="line"><span class="cl"> <span class="s2">&#34;&#34;&#34;Konfiguriert das Root-Logging für die Anwendung mit Rotation.
</span></span></span><span class="line"><span class="cl"><span class="s2">
</span></span></span><span class="line"><span class="cl"><span class="s2"> Diese Funktion richtet einen Root-Logger ein, der Log-Nachrichten in eine Datei schreibt,
</span></span></span><span class="line"><span class="cl"><span class="s2"> welche bei Erreichen einer bestimmten Größe rotiert wird.
</span></span></span><span class="line"><span class="cl"><span class="s2">
</span></span></span><span class="line"><span class="cl"><span class="s2"> :param console_logging: Wenn True, werden Logs zusätzlich zur Datei auch auf der Konsole ausgegeben.
</span></span></span><span class="line"><span class="cl"><span class="s2"> Standardmäßig ist dies deaktiviert (False).
</span></span></span><span class="line"><span class="cl"><span class="s2"> &#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># --- Allgemeine Einstellungen ---</span>
</span></span><span class="line"><span class="cl"> <span class="n">log_file</span> <span class="o">=</span> <span class="s2">&#34;sync_log.log&#34;</span> <span class="c1"># Name der Log-Datei</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># Maximale Größe der Log-Datei in Bytes, bevor sie rotiert wird (hier 5 MB)</span>
</span></span><span class="line"><span class="cl"> <span class="n">max_log_size</span> <span class="o">=</span> <span class="mi">5</span> <span class="o">*</span> <span class="mi">1024</span> <span class="o">*</span> <span class="mi">1024</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># Anzahl der rotierenden Backup-Dateien, die behalten werden sollen (hier 5)</span>
</span></span><span class="line"><span class="cl"> <span class="n">backup_count</span> <span class="o">=</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># --- Logger-Initialisierung ---</span>
</span></span><span class="line"><span class="cl"> <span class="n">logger</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="n">logger</span><span class="o">.</span><span class="n">hasHandlers</span><span class="p">():</span>
</span></span><span class="line"><span class="cl"> <span class="k">return</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># --- Logging-Level einstellen ---</span>
</span></span><span class="line"><span class="cl"> <span class="c1"># Mögliche Levels: DEBUG, INFO, WARNING, ERROR, CRITICAL</span>
</span></span><span class="line"><span class="cl"> <span class="n">logger</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># --- Formatter erstellen ---</span>
</span></span><span class="line"><span class="cl"> <span class="c1"># Definiert das Layout der Log-Nachrichten.</span>
</span></span><span class="line"><span class="cl"> <span class="n">formatter</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">Formatter</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%(asctime)s</span><span class="s1"> - </span><span class="si">%(levelname)s</span><span class="s1"> - </span><span class="si">%(message)s</span><span class="s1">&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># --- Handler erstellen und dem Logger hinzufügen ---</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># 1. RotatingFileHandler (immer aktiv)</span>
</span></span><span class="line"><span class="cl"> <span class="n">file_handler</span> <span class="o">=</span> <span class="n">RotatingFileHandler</span><span class="p">(</span>
</span></span><span class="line"><span class="cl"> <span class="n">log_file</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="n">maxBytes</span><span class="o">=</span><span class="n">max_log_size</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="n">backupCount</span><span class="o">=</span><span class="n">backup_count</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="n">encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span>
</span></span><span class="line"><span class="cl"> <span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="n">file_handler</span><span class="o">.</span><span class="n">setFormatter</span><span class="p">(</span><span class="n">formatter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="n">logger</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">file_handler</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># 2. StreamHandler für Konsolen-Ausgabe (optional)</span>
</span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="n">console_logging</span><span class="p">:</span>
</span></span><span class="line"><span class="cl"> <span class="n">console_handler</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">StreamHandler</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"> <span class="n">console_handler</span><span class="o">.</span><span class="n">setFormatter</span><span class="p">(</span><span class="n">formatter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="n">logger</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">console_handler</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c1"># --- Weitere Referenzen und alternative Handler ---</span>
</span></span><span class="line"><span class="cl"> <span class="c1"># (Ausführliche Kommentare sind in der Datei enthalten, hier gekürzt)</span>
</span></span></code></pre></div><h3 id="syncpy-angepasst"><code>sync.py</code> angepasst</h3>
<p><strong>Zweck:</strong> Importiert die <code>setup_logging</code>-Funktion und ruft sie ganz am Anfang des Skripts auf, um die Logging-Konfiguration zu initialisieren.</p>
<p><strong>Relevanten Änderungen in <code>/home/jonnybravo/Projekte/python_tests/rclone/sync.py</code>:</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">logging_config</span> <span class="kn">import</span> <span class="n">setup_logging</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Logging so früh wie möglich einrichten</span>
</span></span><span class="line"><span class="cl"><span class="n">setup_logging</span><span class="p">()</span> <span class="c1"># Optional: setup_logging(console_logging=True) für Konsolen-Logs</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">rclone_python</span> <span class="kn">import</span> <span class="n">rclone</span> <span class="k">as</span> <span class="n">rc</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">rclone_python.utils</span> <span class="kn">import</span> <span class="n">RcloneException</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">os</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">logging</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ... (restlicher Code)</span>
</span></span></code></pre></div><hr>
<h2 id="2-dns-konfiguration-auf-dem-manjaro-system">2. DNS-Konfiguration auf dem Manjaro-System</h2>
<p>Um den AdGuard Home-Server <code>10.50.0.3</code> als primären DNS-Server für das gesamte System und alle Verbindungen zu nutzen, wurden folgende Schritte durchgeführt:</p>
<h3 id="globale-systemd-resolved-konfiguration">Globale <code>systemd-resolved</code> Konfiguration</h3>
<p><strong>Zweck:</strong> Setzt <code>10.50.0.3</code> als systemweiten DNS-Server für <code>systemd-resolved</code>.</p>
<p><strong>Änderungen in <code>/etc/systemd/resolved.conf</code>:</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ini" data-lang="ini"><span class="line"><span class="cl"><span class="k">[Resolve]</span>
</span></span><span class="line"><span class="cl"><span class="na">DNS</span><span class="o">=</span><span class="s">10.50.0.3</span>
</span></span><span class="line"><span class="cl"><span class="c1"># FallbackDNS= # Auskommentieren oder auf FallbackDNS= setzen, um Fallback zu verhindern</span>
</span></span></code></pre></div><p>Nach der Bearbeitung: <code>sudo systemctl restart systemd-resolved</code></p>
<h3 id="networkmanager-überschreibung-für-alle-verbindungen">NetworkManager Überschreibung für alle Verbindungen</h3>
<p><strong>Zweck:</strong> Weist NetworkManager an, bei allen Netzwerkverbindungen (bestehende und neue) den vom DHCP-Server angebotenen DNS zu ignorieren. Dadurch wird der globale DNS von <code>systemd-resolved</code> verwendet.</p>
<p><strong>Neue Datei erstellt: <code>/etc/NetworkManager/conf.d/99-global-dns-override.conf</code></strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ini" data-lang="ini"><span class="line"><span class="cl"><span class="k">[connection]</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Diese Einstellung gilt für alle neuen und bestehenden Verbindungen.</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Sie weist NetworkManager an, den DNS-Server vom DHCP zu ignorieren.</span>
</span></span><span class="line"><span class="cl"><span class="na">ipv4.ignore-auto-dns</span><span class="o">=</span><span class="s">true</span>
</span></span><span class="line"><span class="cl"><span class="na">ipv6.ignore-auto-dns</span><span class="o">=</span><span class="s">true</span>
</span></span></code></pre></div><p>Nach der Erstellung: <code>sudo systemctl restart NetworkManager</code></p>
<h3 id="anpassung-des-spezifischen-wlan-profils-sweethome-5g">Anpassung des spezifischen WLAN-Profils (SweetHome-5G)</h3>
<p><strong>Zweck:</strong> Hinzufügen der DNS-Suchdomäne, damit lokale Hostnamen ohne vollen Domain-Namen aufgelöst werden können.</p>
<p><strong>Befehle für die Kommandozeile (nmcli):</strong>
(Ersetzen Sie &ldquo;Ihr Verbindungsname&rdquo; durch den tatsächlichen Namen, z.B. &ldquo;SweetHome-5G&rdquo;)</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">nmcli connection modify <span class="s2">&#34;Ihr Verbindungsname&#34;</span> ipv4.dns-search <span class="s2">&#34;speedport.ip&#34;</span>
</span></span><span class="line"><span class="cl"><span class="c1"># optional für IPv6: nmcli connection modify &#34;Ihr Verbindungsname&#34; ipv6.dns-search &#34;speedport.ip&#34;</span>
</span></span><span class="line"><span class="cl">nmcli connection up <span class="s2">&#34;Ihr Verbindungsname&#34;</span>
</span></span></code></pre></div><hr>
<h2 id="3-adguard-home-konfiguration">3. AdGuard Home Konfiguration</h2>
<h3 id="installation--ssl-einrichtung">Installation &amp; SSL-Einrichtung</h3>
<p><strong>Zweck:</strong> Installation von AdGuard Home auf einem Linux-Server und Absicherung der Weboberfläche mit einem selbstsignierten SSL-Zertifikat und eigener CA.</p>
<p><strong>Schritte (ausführlich in vorherigen Antworten beschrieben):</strong></p>
<ol>
<li>AdGuard Home installieren (<code>curl ... install.sh</code>).</li>
<li>Eigene CA (<code>MyCA.key</code>, <code>MyCA.pem</code>) und Server-Zertifikat (<code>adguard.key</code>, <code>adguard.crt</code>) mit <code>openssl</code> erstellen, inklusive SAN-Erweiterung für IP-Adresse/lokalen Hostnamen.</li>
<li>Zertifikate in AdGuard Home (<code>adguard.crt</code>, <code>adguard.key</code>) unter <strong>Einstellungen → Verschlüsselungseinstellungen</strong> konfigurieren.</li>
<li><code>MyCA.pem</code> auf Client-Geräten als vertrauenswürdige Stammzertifizierungsstelle installieren.</li>
</ol>
<h3 id="bedingte-weiterleitung-für-lokale-namen">Bedingte Weiterleitung für lokale Namen</h3>
<p><strong>Zweck:</strong> Ermöglicht AdGuard Home die Auflösung lokaler Hostnamen durch Weiterleitung an den Router.</p>
<p><strong>Konfiguration in der AdGuard Home Weboberfläche:</strong></p>
<ol>
<li>Gehen Sie zu <strong>Einstellungen → DNS-Einstellungen</strong>.</li>
<li>Im Abschnitt <strong>&ldquo;Upstream-DNS-Server&rdquo;</strong> die folgende Zeile hinzufügen (zusätzlich zu öffentlichen DNS-Servern):
<pre tabindex="0"><code>[/speedport.ip/]192.168.50.1
</code></pre></li>
<li>Einstellungen speichern.</li>
</ol>
<hr>
<h2 id="4-problembehebung-wireguard-dns">4. Problembehebung WireGuard DNS</h2>
<p><strong>Zweck:</strong> Behebung des Konflikts, bei dem WireGuard die DNS-Einstellungen überschrieben und auf einen nicht existierenden Server (<code>10.50.0.3</code> ohne installierten DNS-Dienst) gezeigt hat.</p>
<p><strong>Änderung in der WireGuard-Konfigurationsdatei:</strong></p>
<ul>
<li>In <code>/etc/wireguard/wg0.conf</code> (im Abschnitt <code>[Interface]</code>) die Zeile <code>DNS = 10.50.0.3</code> auskommentieren oder auf einen anderen DNS-Server ändern.
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ini" data-lang="ini"><span class="line"><span class="cl"><span class="k">[Interface]</span>
</span></span><span class="line"><span class="cl"><span class="c1"># DNS = 10.50.0.3</span>
</span></span></code></pre></div></li>
<li>WireGuard neu starten: <code>sudo systemctl restart wg-quick@wg0</code> (oder <code>sudo wg-quick down wg0 &amp;&amp; sudo wg-quick up wg0</code>).</li>
</ul>
</div>
</article>
</main>
<footer>
<p>Hugo Docker CMS – <a href="/index.xml">RSS</a></p>
</footer>
</body>
</html>