<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>thomas blog</title>
    <link>https://okaris.de/</link>
    <description>Recent content on thomas blog</description>
    <generator>Hugo</generator>
    <language>de-de</language>
    <lastBuildDate>Sun, 06 Apr 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://okaris.de/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kontakt</title>
      <link>https://okaris.de/about/</link>
      <pubDate>Sun, 06 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://okaris.de/about/</guid>
      <description>&lt;h2 id=&#34;wer-ich-bin&#34;&gt;Wer ich bin&lt;/h2&gt;&#xA;&lt;p&gt;Ich bin Thomas Klein-Hitpaß, beruflich arbeite ich in einer Kita Münster. Privat versuche ich, dass Internet nicht kaputt zu machen. &lt;figure class=&#34;float-right&#34;&gt;&lt;img src=&#34;https://okaris.de/images/thomas.jpeg&#34;&#xA;    alt=&#34;Portraitfoto eines mittelalten Mannes mit blonden Haaren und Bart in einem roten Pullover&#34; width=&#34;200&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;was-ich-so-treibe&#34;&gt;Was ich so treibe&lt;/h2&gt;&#xA;&lt;p&gt;Ich betreibe einige Internet-Services, hauptsächlich den münsteraner Mastodon-Server muenster.im, aber auch viele Dinge, die ich mit Familie und Freunden privat nutze.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a rel=&#34;me&#34; href=&#34;https://muenster.im/@thomas&#34;&gt;Mastodon&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://hvghirten.de/bereiche/kita/&#34;&gt;Die Kita Sterntaler&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;kontaktmöglichkeiten&#34;&gt;Kontaktmöglichkeiten&lt;/h2&gt;&#xA;&lt;p&gt;Du möchtest mir schreiben oder hast eine Frage? Ich freue mich über Nachrichten:&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://okaris.de/blog/25_04_21/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://okaris.de/blog/25_04_21/</guid>
      <description>&lt;h1 id=&#34;headscale--tailscale-einrichtung-und-nutzung-im-privaten-netzwerk&#34;&gt;Headscale &amp;amp; Tailscale: Einrichtung und Nutzung im privaten Netzwerk&lt;/h1&gt;&#xA;&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;&#xA;&lt;p&gt;Tailscale bietet eine einfache Möglichkeit, Geräte über ein Peer-to-Peer-VPN sicher miteinander zu verbinden – selbst hinter NAT oder CG-NAT. Für mehr Kontrolle und Datenschutz wurde in diesem Setup auf Headscale gesetzt, einer selbst gehosteten Open-Source-Implementierung des Tailscale-Control-Servers.&lt;/p&gt;&#xA;&lt;h3 id=&#34;vorteile&#34;&gt;Vorteile:&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Zugriff auf entfernte Geräte ohne Portweiterleitungen oder dynamische DNS-Dienste&lt;/li&gt;&#xA;&lt;li&gt;Sichere Kommunikation zwischen Netzwerken (z. B. Wohnung &amp;amp; Gartenhaus)&lt;/li&gt;&#xA;&lt;li&gt;Integration selbst gehosteter Dienste (z. B. Vaultwarden, Home Assistant)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;übersicht-des-netzwerks&#34;&gt;Übersicht des Netzwerks&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Gerät&lt;/th&gt;&#xA;          &lt;th&gt;Hostname&lt;/th&gt;&#xA;          &lt;th&gt;IP im Tailnet&lt;/th&gt;&#xA;          &lt;th&gt;Erreichbarkeit&lt;/th&gt;&#xA;          &lt;th&gt;Besonderheiten&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Headscale VPS&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;headscale&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Public IP&lt;/td&gt;&#xA;          &lt;td&gt;Öffentlich (Hetzner)&lt;/td&gt;&#xA;          &lt;td&gt;Selbst gehosteter Control-Server&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Home Assistant (Zuhause)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;heim-ha&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;100.64.0.7&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;über Add-on&lt;/td&gt;&#xA;          &lt;td&gt;Add-on mit Web-Auth verbunden&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Home Assistant (Garten)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;garten-ha&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;100.64.0.8&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;über Add-on&lt;/td&gt;&#xA;          &lt;td&gt;Add-on mit Web-Auth verbunden&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;BirdnetPi&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;birdnet&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;100.64.0.10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Direkt mit SSH&lt;/td&gt;&#xA;          &lt;td&gt;Tailscale CLI auf Alpine Linux, Subnet Routing aktiviert&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Vaultwarden&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;vaultwarden&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;100.64.0.11&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Caddy Reverse Proxy&lt;/td&gt;&#xA;          &lt;td&gt;Zugriff via TLS mit interner Domain&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;lernziele--learnings&#34;&gt;Lernziele &amp;amp; Learnings&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Tailscale kann auf Home Assistant via Add-on verwendet werden, aber das CLI steht dort nicht zur Verfügung.&lt;/li&gt;&#xA;&lt;li&gt;Headscale funktioniert problemlos als Login-Server für Tailscale-Clients.&lt;/li&gt;&#xA;&lt;li&gt;WebAuth ist einem Auth-Key vorzuziehen, wenn man Geräte sicher und kontrolliert einbinden will.&lt;/li&gt;&#xA;&lt;li&gt;Dienste wie Vaultwarden benötigen einen Reverse Proxy (Caddy) mit interner TLS-Konfiguration (&lt;code&gt;tls internal&lt;/code&gt;) im Tailscale-Netzwerk.&lt;/li&gt;&#xA;&lt;li&gt;Geräte mit direktem SSH-Zugang (wie BirdNET-Pi) können flexibel für Subnet-Routing oder Netzwerkdiagnose eingesetzt werden.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;schrittweise-anleitung&#34;&gt;Schrittweise Anleitung&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-headscale-server-einrichten-hetzner-vps&#34;&gt;1. Headscale Server einrichten (Hetzner VPS)&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install headscale&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo headscale users create &amp;lt;USER&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo headscale preauthkeys create --reusable --ephemeral --user &amp;lt;USER&amp;gt; --output json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-auf-einem-client-zb-birdnetpi-tailscale-installieren&#34;&gt;2. Auf einem Client (z. B. BirdnetPi) Tailscale installieren&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -fsSL https://tailscale.com/install.sh | sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo tailscale up --login-server&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;https://headscale.DOMAIN.tld&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-geräte-benennen-optional-via-headscale-cli&#34;&gt;3. Geräte benennen (optional via Headscale CLI)&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;headscale nodes rename --identifier &amp;lt;ID&amp;gt; &amp;lt;neuer-name&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-dienste-verfügbar-machen&#34;&gt;4. Dienste verfügbar machen&lt;/h3&gt;&#xA;&lt;h4 id=&#34;beispiel-vaultwarden-über-caddy-reverse-proxien&#34;&gt;Beispiel: Vaultwarden über Caddy reverse-proxien&lt;/h4&gt;&#xA;&lt;p&gt;&lt;strong&gt;Caddyfile&lt;/strong&gt;:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
