231 lines
20 KiB
HTML
231 lines
20 KiB
HTML
<html lang="de">
|
||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&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.868f9708373e89ca72730cc71884718dc463b495c2a72c24a6d6f48e64000709.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 & 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">"""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"> """</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">"sync_log.log"</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">'</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">'</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">'utf-8'</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 “Ihr Verbindungsname” durch den tatsächlichen Namen, z.B. “SweetHome-5G”)</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">"Ihr Verbindungsname"</span> ipv4.dns-search <span class="s2">"speedport.ip"</span>
|
||
</span></span><span class="line"><span class="cl"><span class="c1"># optional für IPv6: nmcli connection modify "Ihr Verbindungsname" ipv6.dns-search "speedport.ip"</span>
|
||
</span></span><span class="line"><span class="cl">nmcli connection up <span class="s2">"Ihr Verbindungsname"</span>
|
||
</span></span></code></pre></div><hr>
|
||
<h2 id="3-adguard-home-konfiguration">3. AdGuard Home Konfiguration</h2>
|
||
<h3 id="installation--ssl-einrichtung">Installation & 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>“Upstream-DNS-Server”</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 && 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> |