<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://blog.alexdpsg.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.alexdpsg.net/" rel="alternate" type="text/html" /><updated>2026-05-18T08:54:04+00:00</updated><id>https://blog.alexdpsg.net/feed.xml</id><title type="html">non maintained stuff</title><subtitle>some random blog</subtitle><entry><title type="html">Guildwars 2 on DX11 with ArcDPS</title><link href="https://blog.alexdpsg.net/958/" rel="alternate" type="text/html" title="Guildwars 2 on DX11 with ArcDPS" /><published>2021-09-25T00:00:00+00:00</published><updated>2021-09-25T00:00:00+00:00</updated><id>https://blog.alexdpsg.net/gw2-arcdps-dx11</id><content type="html" xml:base="https://blog.alexdpsg.net/958/"><![CDATA[<p>With the dx11 beta within Guildwars2 all the fancy addons are also being updated. ArcDPS gets his updater slightly adjusted..</p>

<p>save as <code class="language-html highlighter-rouge">arc-updater.ps1</code> and place it into <code class="language-html highlighter-rouge">C:\Program Files\Guild Wars 2\</code> and create a shortcut to the desktop or whatever.</p>

<p>note that this script is updated with <a href="https://reshade.me">reshade.me</a> in mind, e.g reshade is the <code class="language-html highlighter-rouge">dxgi.dll</code> while arc is at <code class="language-html highlighter-rouge">d3d11.dll</code></p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">
</span><span class="c">#Modify as required. Points to the default install location</span><span class="w">
</span><span class="nv">$GW2Path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"C:\Program Files\Guild Wars 2\"</span><span class="w">

</span><span class="c">#Don't change these paths unless arc does</span><span class="w">
</span><span class="nv">$md5sum</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'https://www.deltaconnected.com/arcdps/x64/d3d9.dll.md5sum'</span><span class="w">
</span><span class="nv">$d3d11</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'https://www.deltaconnected.com/arcdps/x64/d3d9.dll'</span><span class="w">

</span><span class="c">#And this one unless ANet does</span><span class="w">
</span><span class="nv">$gw</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Gw2-64'</span><span class="w">

</span><span class="kr">function</span><span class="w"> </span><span class="nf">Get-ArcDps</span><span class="w">
</span><span class="p">{</span><span class="w">
    </span><span class="n">write-host</span><span class="w"> </span><span class="s1">'Downloading ArcDps'</span><span class="w">

    </span><span class="nv">$d3d11Temp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">New-TemporaryFile</span><span class="w">
    </span><span class="nx">Invoke-WebRequest</span><span class="w"> </span><span class="nt">-Uri</span><span class="w"> </span><span class="nv">$d3d11</span><span class="w"> </span><span class="nt">-OutFile</span><span class="w"> </span><span class="nv">$d3d11Temp</span><span class="o">.</span><span class="nf">FullName</span><span class="w">
    </span><span class="nx">Copy-Item</span><span class="w"> </span><span class="nv">$d3d11Temp</span><span class="o">.</span><span class="nf">FullName</span><span class="w"> </span><span class="s2">"</span><span class="si">$(</span><span class="nv">$GW2Path</span><span class="si">)</span><span class="s2">\d3d11.dll"</span><span class="w"> </span><span class="nt">-Force</span><span class="w">
    </span><span class="n">Remove-Item</span><span class="w"> </span><span class="nv">$d3d11Temp</span><span class="o">.</span><span class="nf">FullName</span><span class="w"> </span><span class="nt">-Force</span><span class="w">

    </span><span class="n">write-host</span><span class="w"> </span><span class="s1">'Completed ArcDps install'</span><span class="w">
</span><span class="p">}</span><span class="w">

</span><span class="kr">function</span><span class="w"> </span><span class="nf">Invoke-ArcDpsCheck</span><span class="w">
</span><span class="p">{</span><span class="w">
    </span><span class="nv">$date</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">Get-Date</span><span class="w"> </span><span class="nt">-format</span><span class="w"> </span><span class="s2">"dd-MM-yyyy"</span><span class="p">)</span><span class="w">

    </span><span class="kr">if</span><span class="p">((</span><span class="n">Get-Process</span><span class="w"> </span><span class="nv">$gw</span><span class="w"> </span><span class="nt">-EA</span><span class="w"> </span><span class="nx">0</span><span class="p">)</span><span class="o">.</span><span class="nf">Count</span><span class="w"> </span><span class="o">-gt</span><span class="w"> </span><span class="nx">0</span><span class="p">)</span><span class="w">
    </span><span class="p">{</span><span class="w">
        </span><span class="kr">Exit</span><span class="w">
    </span><span class="p">}</span><span class="w">

    </span><span class="nv">$ignoreCase</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="n">System.StringComparison</span><span class="p">]::</span><span class="n">InvariantCultureIgnoreCase</span><span class="w">
    </span><span class="nv">$md5Temp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">New-TemporaryFile</span><span class="w">
    </span><span class="nx">Invoke-WebRequest</span><span class="w"> </span><span class="nt">-Uri</span><span class="w"> </span><span class="nv">$md5sum</span><span class="w"> </span><span class="nt">-OutFile</span><span class="w"> </span><span class="nv">$md5Temp</span><span class="o">.</span><span class="nf">FullName</span><span class="w">
    </span><span class="nv">$md5Hash</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Get-Content</span><span class="w"> </span><span class="nv">$md5Temp</span><span class="w">
    </span><span class="nv">$md5Hash</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">$md5Hash</span><span class="o">.</span><span class="nf">Substring</span><span class="p">(</span><span class="nx">0</span><span class="p">,</span><span class="nv">$md5Hash</span><span class="o">.</span><span class="nf">IndexOf</span><span class="p">(</span><span class="s1">' '</span><span class="p">))</span><span class="w">
    </span><span class="nv">$fileExists</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Test-Path</span><span class="w"> </span><span class="s2">"</span><span class="si">$(</span><span class="nv">$GW2Path</span><span class="si">)</span><span class="s2">\d3d11.dll"</span><span class="w">

    </span><span class="kr">if</span><span class="p">(</span><span class="nv">$fileExists</span><span class="p">)</span><span class="w">
    </span><span class="p">{</span><span class="w">
        </span><span class="nv">$md5D3d9m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Get-FileHash</span><span class="w"> </span><span class="s2">"</span><span class="si">$(</span><span class="nv">$GW2Path</span><span class="si">)</span><span class="s2">\d3d11.dll"</span><span class="w"> </span><span class="nt">-Algorithm</span><span class="w"> </span><span class="nx">MD5</span><span class="w">

        </span><span class="kr">if</span><span class="p">(</span><span class="o">!</span><span class="nv">$md5D3d9m</span><span class="o">.</span><span class="nf">Hash</span><span class="o">.</span><span class="nf">Equals</span><span class="p">(</span><span class="nv">$md5Hash</span><span class="p">,</span><span class="nv">$ignoreCase</span><span class="p">))</span><span class="w">
        </span><span class="p">{</span><span class="w">
            </span><span class="n">Write-Host</span><span class="w"> </span><span class="s1">'ArcDps is out of date'</span><span class="w">

            </span><span class="kr">try</span><span class="w">
            </span><span class="p">{</span><span class="w">
                </span><span class="n">Rename-Item</span><span class="w"> </span><span class="s2">"</span><span class="si">$(</span><span class="nv">$GW2Path</span><span class="si">)</span><span class="s2">\d3d11.dll"</span><span class="w"> </span><span class="nt">-NewName</span><span class="w"> </span><span class="s2">"</span><span class="si">$(</span><span class="nv">$GW2Path</span><span class="si">)</span><span class="s2">\d3d11.</span><span class="nv">$date</span><span class="s2">"</span><span class="w"> </span><span class="nt">-Force</span><span class="w">

            </span><span class="p">}</span><span class="w">
            </span><span class="kr">catch</span><span class="w"> </span><span class="p">{}</span><span class="w">

            </span><span class="n">Get-ArcDps</span><span class="w">
        </span><span class="p">}</span><span class="w">
        </span><span class="kr">else</span><span class="w">
        </span><span class="p">{</span><span class="w">
            </span><span class="n">write-host</span><span class="w"> </span><span class="s1">'ArcDps is up to date'</span><span class="w">
        </span><span class="p">}</span><span class="w">
    </span><span class="p">}</span><span class="w">
    </span><span class="kr">else</span><span class="w">
    </span><span class="p">{</span><span class="w">
        </span><span class="n">Get-ArcDps</span><span class="w">
    </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">


</span><span class="n">Invoke-ArcDpsCheck</span><span class="w">

</span><span class="n">pause</span><span class="w">


</span></code></pre></div></div>]]></content><author><name></name></author><category term="Allgemeines" /><category term="gw2" /><category term="Guildwars2" /><category term="gw2" /><category term="arcdps" /><category term="dx11" /><summary type="html"><![CDATA[With the dx11 beta within Guildwars2 all the fancy addons are also being updated. ArcDPS gets his updater slightly adjusted..]]></summary></entry><entry><title type="html">maddy mail and cron</title><link href="https://blog.alexdpsg.net/957/" rel="alternate" type="text/html" title="maddy mail and cron" /><published>2021-08-17T00:00:00+00:00</published><updated>2021-08-17T00:00:00+00:00</updated><id>https://blog.alexdpsg.net/maddy-mail-with-cron</id><content type="html" xml:base="https://blog.alexdpsg.net/957/"><![CDATA[<p>While re-building my own server from 16.04 to 20.04 a new mail server had to came along. The whole setup with
dovecot, postfix, clamAV / spamassassin is just not that much fun to deal with.</p>

<p>Everyone who setup a mail server or is trying to maintain a mailserver will agree that mail hosting is terrible right next to printers.</p>

<p>I’ve stubmbled upon <a href="https://maddy.email">maddy.email</a> which is written in go and does everything except spam filtering (as of yet) out of the box.</p>

<p>the only issue is that i run maddy in a container and OS cron only sends mails if <code class="language-html highlighter-rouge">/bin/mail</code> or <code class="language-html highlighter-rouge">/sbin/sendmail</code> is on the system, so how do you get to send cron mails?</p>

<p><code class="language-html highlighter-rouge">ssmtp</code> &amp; config in maddy</p>

<p>so the configuration for maddy, since <code class="language-html highlighter-rouge">25,143,465</code> and <code class="language-html highlighter-rouge">993</code> are occupied we are adding a new smtp local endpoint</p>

<div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">## ---------
# local mail forward
</span><span class="n">smtp</span> <span class="n">tcp</span>://<span class="m">127</span>.<span class="m">0</span>.<span class="m">0</span>.<span class="m">1</span>:<span class="m">587</span> {
  <span class="n">default_destination</span> {
    <span class="n">modify</span> {
      <span class="n">dkim</span> {
        <span class="n">domains</span> $(<span class="n">primary_domain</span>) $(<span class="n">local_domains</span>)
        <span class="n">selector</span> <span class="n">default</span>
        <span class="n">key_path</span> <span class="n">dkim_keys</span>/{<span class="n">domain</span>}-{<span class="n">selector</span>}.<span class="n">key</span>
        <span class="n">header_canon</span> <span class="n">relaxed</span>
        <span class="n">body_canon</span> <span class="n">relaxed</span>
        <span class="n">sig_expiry</span> <span class="m">72</span><span class="n">h</span> <span class="c"># 3 days
</span>        <span class="n">hash</span> <span class="n">sha256</span>
        <span class="n">newkey_algo</span> <span class="n">rsa2048</span>
      }
    }
    <span class="n">deliver_to</span> &amp;<span class="n">outbound_delivery</span>
  }
}
</code></pre></div></div>

<p>this endpoint accepts “normal” smtp (if no global tls is enabled) on localhost and applies dkim and for <code class="language-html highlighter-rouge">ssmtp</code></p>

<div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">root</span>=<span class="n">some</span>-<span class="n">external</span>-<span class="n">mail</span>-<span class="n">addr</span>
<span class="n">mailhub</span>=<span class="n">localhost</span>:<span class="m">587</span>
<span class="n">rewriteDomain</span>=<span class="n">alexdpsg</span>.<span class="n">net</span>
<span class="c"># AuthUser=username
# AuthPass=password
# FromLineOverride=YES
</span><span class="n">UseTLS</span>=<span class="n">YES</span>
</code></pre></div></div>

<p>after that cron sends happy mails.</p>

<pre><code class="language-log">2021-08-17T12:48:01.800Z smtp: incoming message  {"msg_id":"","sender":"root@alexdpsg.net","src_host":"extern","src_ip":"127.0.0.1:57964"}
2021-08-17T12:48:02.194Z smtp: RCPT ok   {"msg_id":"0c9c78ca","rcpt":"some-external-mail-addr"}
2021-08-17T12:48:04.360Z smtp: accepted  {"msg_id":"0c9c78ca"}
</code></pre>]]></content><author><name></name></author><category term="Allgemeines" /><category term="Hosting" /><category term="mail" /><category term="maddy" /><category term="cron" /><summary type="html"><![CDATA[While re-building my own server from 16.04 to 20.04 a new mail server had to came along. The whole setup with dovecot, postfix, clamAV / spamassassin is just not that much fun to deal with.]]></summary></entry><entry><title type="html">jekyll not wordpress</title><link href="https://blog.alexdpsg.net/956/" rel="alternate" type="text/html" title="jekyll not wordpress" /><published>2021-07-16T00:00:00+00:00</published><updated>2021-07-16T00:00:00+00:00</updated><id>https://blog.alexdpsg.net/jekyll-blog-move</id><content type="html" xml:base="https://blog.alexdpsg.net/956/"><![CDATA[<p>Oh boy,</p>

<p>latest post in a long while. The internet changed, like a lot - GDPR one of the bigger things 
but mostly the German Law makers pushing for bogus stuff.</p>

<p>so first things first.</p>

<ul>
  <li>no more wordpress</li>
</ul>

<p>apache and php are a nightmare to maintain or to actually run. And then there is wordpress itself. Plugins are not maintained and or break with the next wordpress update. So i do not want to deal with that anymore</p>

<ul>
  <li>new blog software jekyll</li>
</ul>

<p>it is more or less a markdown to html converter with some css, which staticly renders html out and nothing beats plain old html on speed</p>

<p>i’ve updated some old posts to fix up some of the broken html/markdown export and removed some of the broken code tags that where in the wordpress export.</p>

<p>So it may be the “last” blog entry again for a while - or maybe not who knows.</p>]]></content><author><name></name></author><category term="Allgemeines" /><category term="Hosting" /><category term="jekyll" /><category term="wordpress" /><summary type="html"><![CDATA[Oh boy,]]></summary></entry><entry><title type="html">docker with routed subnetz</title><link href="https://blog.alexdpsg.net/955/" rel="alternate" type="text/html" title="docker with routed subnetz" /><published>2016-05-04T13:45:37+00:00</published><updated>2016-05-04T13:45:37+00:00</updated><id>https://blog.alexdpsg.net/docker-with-routed-subnetz</id><content type="html" xml:base="https://blog.alexdpsg.net/955/"><![CDATA[<p>Aloha,</p>

<p>mal wieder was zu docker, dieses mal mit gerouteten public subnetzen (weil’s geht)</p>

<p>umgebungs dingends</p>

<ul>
  <li>ubuntu 14.04 oder 16.04</li>
  <li>docker 1.11.1</li>
  <li>docker-compose</li>
</ul>

<p>in die <code class="language-html highlighter-rouge">/etc/network/interfaces</code> ein neues virtuelles device (oder hinter einer bridge, macht keinen unterschied)</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>auto eth0:1
  iface eth0:1 inet static
  address xyz.10.abc.def
  netmask 255.255.255.248
  broadcast xyz.10.abc.def
</code></pre></div></div>

<p>nun noch die docker-compose.yml</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">version</span><span class="pi">:</span> <span class="s1">'</span><span class="s">2'</span>
<span class="na">services</span><span class="pi">:</span>
  <span class="na">nginx</span><span class="pi">:</span>
    <span class="na">image</span><span class="pi">:</span> <span class="s">nginx:latest</span>
    <span class="na">restart</span><span class="pi">:</span> <span class="s">always</span>
    <span class="na">ports</span><span class="pi">:</span>
     <span class="pi">-</span> <span class="s">443:443</span>
    <span class="na">networks</span><span class="pi">:</span>
       <span class="pi">-</span> <span class="s">docker-subnet-1</span>

<span class="na">networks</span><span class="pi">:</span>
  <span class="na">docker-subnet-1</span><span class="pi">:</span>
    <span class="na">driver</span><span class="pi">:</span> <span class="s">bridge</span>
    <span class="na">driver_opts</span><span class="pi">:</span>
      <span class="na">com.docker.network.bridge.host_binding_ipv4</span><span class="pi">:</span> <span class="s">xyz.10.abc.def</span>
      <span class="na">com.docker.network.bridge.enable_ip_masquerade</span><span class="pi">:</span> <span class="kc">true</span>
      <span class="na">com.docker.network.bridge.enable_icc</span><span class="pi">:</span> 
</code></pre></div></div>

<p>was das macht:
1) erstellt eine neues bridge interface
2) gibt diesem bridge interface ein privates 172.x/16 subnetz (normalerweise ein subnetz weiter als docker0)
3) legt alles was an dem “docker-subnetz-1” hängt dahinter als wäre es eine normale docker installation (mit eigenen docker iptables etc)</p>]]></content><author><name>alex_dpsg</name></author><category term="Allgemeines" /><category term="Hosting" /><category term="docker" /><category term="IPv4" /><category term="ipv6" /><category term="public" /><category term="subnetz" /><summary type="html"><![CDATA[Aloha, mal wieder was zu docker, dieses mal mit gerouteten public subnetzen (weil’s geht) umgebungs dingends ubuntu 14.04 oder 16.04 docker 1.11.1 docker-compose in die /etc/network/interfaces ein neues virtuelles device (oder hinter einer bridge, macht keinen unterschied) auto eth0:1 iface eth0:1 inet static address xyz.10.abc.def netmask 255.255.255.248 broadcast xyz.10.abc.def nun noch die docker-compose.yml version: '2' services: nginx: image: nginx:latest restart: always ports: - 443:443 networks: - docker-subnet-1 networks: docker-subnet-1: driver: bridge driver_opts: com.docker.network.bridge.host_binding_ipv4: xyz.10.abc.def com.docker.network.bridge.enable_ip_masquerade: true com.docker.network.bridge.enable_icc: was das macht: 1) erstellt eine neues bridge interface 2) gibt diesem bridge interface ein privates 172.x/16 subnetz (normalerweise ein subnetz weiter als docker0) 3) legt alles was an dem “docker-subnetz-1” hängt dahinter als wäre es eine normale docker installation (mit eigenen docker iptables etc)]]></summary></entry><entry><title type="html">docker build speed up with tmpfs</title><link href="https://blog.alexdpsg.net/937/" rel="alternate" type="text/html" title="docker build speed up with tmpfs" /><published>2015-09-04T06:38:30+00:00</published><updated>2015-09-04T06:38:30+00:00</updated><id>https://blog.alexdpsg.net/docker-build-speed-up-with-tmpfs</id><content type="html" xml:base="https://blog.alexdpsg.net/937/"><![CDATA[<p>Aloha,</p>

<p>just tldr:</p>

<p>stop your docker service and create tmpfs disk on <code class="language-html highlighter-rouge">/var/lib/docker/{tmp|containers|aufs}</code></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/etc/fstab
tmpfs /var/lib/docker/tmp tmpfs defaults,size<span class="o">=</span>8G 0 0
tmpfs /var/lib/docker/containers tmpfs defaults,size<span class="o">=</span>8G 0 0
tmpfs /var/lib/docker/aufs tmpfs defaults,size<span class="o">=</span>8G 0 0
mount <span class="nt">-a</span>

</code></pre></div></div>

<p>start your docker service. This should speedup your docker build process significantly!</p>

<p>“docker build” takes usually a very long time, even if it is just a COPY or a RUN. Before the tmpfs change my docker builds did take about ~15 min, now its just 2-4 min! Keep in mind that you need a farly amount of ram in your Server/PC/Notebook for this to work eg min 16GiB in this setup!</p>]]></content><author><name>alex_dpsg</name></author><category term="Hardware" /><category term="build" /><category term="docker" /><category term="docker build" /><category term="ram" /><category term="tmpfs" /><summary type="html"><![CDATA[Aloha,]]></summary></entry><entry><title type="html">libvirt/qemu ipv4/ipv6 Dual Stack</title><link href="https://blog.alexdpsg.net/898/" rel="alternate" type="text/html" title="libvirt/qemu ipv4/ipv6 Dual Stack" /><published>2014-11-10T10:17:39+00:00</published><updated>2014-11-10T10:17:39+00:00</updated><id>https://blog.alexdpsg.net/libvirtqemu-ipv4ipv6-dual-stack</id><content type="html" xml:base="https://blog.alexdpsg.net/898/"><![CDATA[<p>Moin,</p>

<p>unter <a href="https://www.sysorchestra.com/2014/11/08/hetzner-root-server-with-kvm-ipv4-and-ipv6-networking/" target="_blank">link</a> hatte der <a href="https://twitter.com/martinseener%20" target="_blank">martin.s</a> eine Dual Stack Anleitung gepostet, leider ist mir diese viel zu umständlich
<!--more--></p>

<p>anyway, libvirt/qemu kann auch dual stack von ganz alleine, wir brauchen dafür nur die basic pakete</p>

<p><code class="language-html highlighter-rouge">aptitude install libvirt-bin qemu qemu-kvm</code></p>

<p>danach noch fix die /etc/network/interfaces anpassen</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>iface eth0 inet6 static
address foobar:gna
netmask 128
gateway fe80::1
</code></pre></div></div>

<p>nun legen wir unter <code class="language-html highlighter-rouge">/etc/libvirt/qemu/networks</code> eine xml Konfiguration an, welche von libvirt verwaltet wird</p>

<p>z.b <code class="language-html highlighter-rouge">touch br0.xml <span class="err">&amp;&amp;</span> uuid-gen</code></p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;network&gt;</span>
  <span class="nt">&lt;name&gt;</span>br0<span class="nt">&lt;/name&gt;</span>
  <span class="nt">&lt;uuid&gt;</span>()<span class="nt">&lt;/uuid&gt;</span>
  <span class="nt">&lt;forward</span> <span class="na">dev=</span><span class="s">'eth0'</span> <span class="na">mode=</span><span class="s">'route'</span><span class="nt">&gt;</span>
    <span class="nt">&lt;interface</span> <span class="na">dev=</span><span class="s">'eth0'</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;/forward&gt;</span>
  <span class="nt">&lt;bridge</span> <span class="na">name=</span><span class="s">'br0'</span> <span class="na">stp=</span><span class="s">'on'</span> <span class="na">delay=</span><span class="s">'0'</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;mac</span> <span class="na">address=</span><span class="s">'()'</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;ip</span> <span class="na">address=</span><span class="s">'()'</span> <span class="na">netmask=</span><span class="s">'255.255.255.()'</span><span class="nt">&gt;</span>
  <span class="nt">&lt;/ip&gt;</span>
  <span class="nt">&lt;ip</span> <span class="na">family=</span><span class="s">'ipv6'</span> <span class="na">address=</span><span class="s">'():3a'</span> <span class="na">prefix=</span><span class="s">'64'</span><span class="nt">&gt;</span>
  <span class="nt">&lt;/ip&gt;</span>
<span class="nt">&lt;/network&gt;</span>
</code></pre></div></div>

<p>die () sollten nun nach und nach ersetzt werden, bei der IPv4 Adresse die <em>erste</em> verwendbare aus dem zugeteilten subnetz verwenden, da diese von libvirt als bridge verwendet wird. Bei der IPv6 Adresse einfach die nächste verwendbare nehmen.</p>

<p>danach reicht ein</p>

<p><code class="language-html highlighter-rouge">virsh net-define br0.xml</code></p>

<p>und ein</p>

<p><code class="language-html highlighter-rouge">virsh net-start br0</code></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ifconfig br0
br0       Link encap:Ethernet  HWaddr <span class="o">()</span> 
          inet addr:<span class="o">()</span>  Bcast:<span class="o">()</span>  Mask:255.255.255.240
          inet6 addr: <span class="o">()</span> Scope:Link
          inet6 addr: <span class="o">()</span>3a/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:157221868 errors:0 dropped:0 overruns:0 frame:0
          TX packets:148160196 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:151210249254 <span class="o">(</span>151.2 GB<span class="o">)</span>  TX bytes:34342903306 <span class="o">(</span>34.3 GB<span class="o">)</span>


 /etc/libvirt/qemu/networks <span class="c"># ip route</span>
default via <span class="o">()</span>.193 dev eth0 
<span class="o">()</span>/27 via <span class="o">()</span>.193 dev eth0 
<span class="o">()</span>/27 dev eth0  proto kernel  scope <span class="nb">link  </span>src <span class="o">()</span>.214 
<span class="o">()</span>.144/28 dev br0  proto kernel  scope <span class="nb">link  </span>src <span class="o">()</span>.145 

 /etc/libvirt/qemu/networks <span class="c"># ip -6 route</span>
<span class="o">()</span>::2 dev eth0  proto kernel  metric 256 
<span class="o">()</span>::/64 dev br0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev br0  proto kernel  metric 256 
default via fe80::1 dev eth0  metric 1024 


</code></pre></div></div>

<p>alles andere wie z.b IP forwarding (<code class="language-html highlighter-rouge">/etc/sysctl.conf</code>) wird auch von libvirt gemacht und automatisch auf die entsprechenden werte gesetzt. Innerhalb der KVM bekommt diese automatisch über dnsmasq (kommt als abhänigkeit) eine IPv6 Adresse zugewiesen mit entsprechenden Routen etc. Will man diese auch noch fest setzen einfach die interfaces der KVM bearbeiten.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>iface eth0 inet6 static
	address <span class="o">(</span>zugewiesen:von:Hetzner<span class="o">)</span>:<span class="o">(</span>mac:adresse:der:kvm<span class="o">)</span>
	netmask 64

ifdown eth0 <span class="o">&amp;&amp;</span> ifup eth0
</code></pre></div></div>

<p>und schon sind die KVM Server im Dual Stack erreichbar (DNS Einträge nicht vergessen/Mailserver Konfiguration anpassen…)</p>]]></content><author><name>alex_dpsg</name></author><category term="Hosting" /><category term="dual" /><category term="dualstack" /><category term="hetzner" /><category term="IPv4" /><category term="ipv6" /><category term="kvm" /><category term="libvirt" /><category term="qemu" /><category term="stack" /><category term="virsh" /><category term="virt" /><summary type="html"><![CDATA[Moin, unter link hatte der martin.s eine Dual Stack Anleitung gepostet, leider ist mir diese viel zu umständlich anyway, libvirt/qemu kann auch dual stack von ganz alleine, wir brauchen dafür nur die basic pakete aptitude install libvirt-bin qemu qemu-kvm danach noch fix die /etc/network/interfaces anpassen iface eth0 inet6 static address foobar:gna netmask 128 gateway fe80::1 nun legen wir unter /etc/libvirt/qemu/networks eine xml Konfiguration an, welche von libvirt verwaltet wird z.b touch br0.xml &amp;&amp; uuid-gen &lt;network&gt; &lt;name&gt;br0&lt;/name&gt; &lt;uuid&gt;()&lt;/uuid&gt; &lt;forward dev='eth0' mode='route'&gt; &lt;interface dev='eth0'/&gt; &lt;/forward&gt; &lt;bridge name='br0' stp='on' delay='0'/&gt; &lt;mac address='()'/&gt; &lt;ip address='()' netmask='255.255.255.()'&gt; &lt;/ip&gt; &lt;ip family='ipv6' address='():3a' prefix='64'&gt; &lt;/ip&gt; &lt;/network&gt; die () sollten nun nach und nach ersetzt werden, bei der IPv4 Adresse die erste verwendbare aus dem zugeteilten subnetz verwenden, da diese von libvirt als bridge verwendet wird. Bei der IPv6 Adresse einfach die nächste verwendbare nehmen. danach reicht ein virsh net-define br0.xml und ein virsh net-start br0 ifconfig br0 br0 Link encap:Ethernet HWaddr () inet addr:() Bcast:() Mask:255.255.255.240 inet6 addr: () Scope:Link inet6 addr: ()3a/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:157221868 errors:0 dropped:0 overruns:0 frame:0 TX packets:148160196 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:151210249254 (151.2 GB) TX bytes:34342903306 (34.3 GB) /etc/libvirt/qemu/networks # ip route default via ().193 dev eth0 ()/27 via ().193 dev eth0 ()/27 dev eth0 proto kernel scope link src ().214 ().144/28 dev br0 proto kernel scope link src ().145 /etc/libvirt/qemu/networks # ip -6 route ()::2 dev eth0 proto kernel metric 256 ()::/64 dev br0 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 fe80::/64 dev br0 proto kernel metric 256 default via fe80::1 dev eth0 metric 1024 alles andere wie z.b IP forwarding (/etc/sysctl.conf) wird auch von libvirt gemacht und automatisch auf die entsprechenden werte gesetzt. Innerhalb der KVM bekommt diese automatisch über dnsmasq (kommt als abhänigkeit) eine IPv6 Adresse zugewiesen mit entsprechenden Routen etc. Will man diese auch noch fest setzen einfach die interfaces der KVM bearbeiten. iface eth0 inet6 static address (zugewiesen:von:Hetzner):(mac:adresse:der:kvm) netmask 64 ifdown eth0 &amp;&amp; ifup eth0 und schon sind die KVM Server im Dual Stack erreichbar (DNS Einträge nicht vergessen/Mailserver Konfiguration anpassen…)]]></summary></entry><entry><title type="html">Asus GeForce GTX 970 STRIX OC</title><link href="https://blog.alexdpsg.net/882/" rel="alternate" type="text/html" title="Asus GeForce GTX 970 STRIX OC" /><published>2014-10-15T08:21:28+00:00</published><updated>2014-10-15T08:21:28+00:00</updated><id>https://blog.alexdpsg.net/asus-geforce-gtx-970-strix-oc</id><content type="html" xml:base="https://blog.alexdpsg.net/882/"><![CDATA[<p>Moin,</p>

<p>ja meine alte <a href="//www.asus.com/Graphics_Cards/HD7970DC2T3GD5/overview/" target="_blank">AMD HD 7970 DirectCU II</a> karte hat ausgedient und eine neue <a href="//www.asus.com/Graphics_Cards/STRIXGTX970DC2OC4GD5/" target="_blank">Asus Karte </a> erblickt das LED licht des Mainboards.</p>

<p><a href="//blog.alexdpsg.net/wp-content/uploads/2014/10/IMG_20141014_174912.jpg" target="_blank"><img class="aligncenter wp-image-883" src="//blog.alexdpsg.net/wp-content/uploads/2014/10/IMG_20141014_174912.jpg" alt="ASUS Strix GeForce GTX 970" width="1698" height="960" /></a></p>

<p>Das Ganze mal als vorher/nachher bild</p>
<p style="text-align: left;"><a href="//blog.alexdpsg.net/wp-content/uploads/2014/10/IMG_20141014_181530-e1413359941209.jpg" target="_blank"><img class="aligncenter wp-image-889 size-full" src="//blog.alexdpsg.net/wp-content/uploads/2014/10/IMG_20141014_181530-e1413359941209.jpg" alt="" width="2688" height="1520" /></a></p>
<p style="text-align: left;"><a href="//blog.alexdpsg.net/wp-content/uploads/2014/10/IMG_20141014_182211.jpg" target="_blank"><img class="aligncenter wp-image-888" src="//blog.alexdpsg.net/wp-content/uploads/2014/10/IMG_20141014_182211.jpg" alt="IMG_20141014_182211" width="1698" height="960" /></a></p>
<p>Da ist gleich mehr Platz im Case! Was mich beim einbau ein wenig generft hat ist das die Stromversorgung andersrum dran kommt, sprich die Pins sind oben und nicht wie gewohnt unten (ein wenig friemelei, wenn die kabel einmal in form waren..)</p>

<p>Von der 8 Pin stromversorgung mal abgesehen, bemerkt man die Karte <em>nicht</em> - Assassins Creed Black Flag, läuft auf 4K(alles max, kein AA/AF) noch mit guten 25-35 fps, auf normalen 1080p (alles max mit AA/AF) mit geschmeidigen 60 fps wobei das Asus GPUTweak tool anzeigt das die karte nur mit 70% last läuft [sehr geil :D]</p>

<p>Guildwars2 hat zwar ein eigenes supersampling - aber man kann ja beides kombinieren (kein FXAA, da ich sweetFX laufen hab) - was am ende auch bei 50-60 FPS im wvw Zergfigt raus kommt (Kodash/Baruch/Gendara)</p>

<p>Die Temps der Karte halten sich zwischen 30 C° (windows idle) und, ja.. und… Problem hier ist das der Lüfter der Karte erst bei 65C° anspringt und diese auch hält - ich hab gestern alles versucht auch im gemoddeten Skyrim geht die karte nicht über 66 C° hinaus. Hier lief der Lüfter zwischen 800 und 1000 rpm (unhörbar)</p>

<p>also erster eindruck nach ner nacht zocken - echt geile Hardware</p>]]></content><author><name>alex_dpsg</name></author><category term="Allgemeines" /><category term="Hardware" /><category term="Asus" /><category term="Asus GeForce GTX 970 STRIX" /><category term="benchmark" /><category term="gaming" /><category term="Geforce" /><category term="GTX 970" /><category term="nvidia" /><category term="OC" /><category term="silent" /><summary type="html"><![CDATA[Moin, ja meine alte AMD HD 7970 DirectCU II karte hat ausgedient und eine neue Asus Karte  erblickt das LED licht des Mainboards. Das Ganze mal als vorher/nachher bild Da ist gleich mehr Platz im Case! Was mich beim einbau ein wenig generft hat ist das die Stromversorgung andersrum dran kommt, sprich die Pins sind oben und nicht wie gewohnt unten (ein wenig friemelei, wenn die kabel einmal in form waren..) Von der 8 Pin stromversorgung mal abgesehen, bemerkt man die Karte nicht - Assassins Creed Black Flag, läuft auf 4K(alles max, kein AA/AF) noch mit guten 25-35 fps, auf normalen 1080p (alles max mit AA/AF) mit geschmeidigen 60 fps wobei das Asus GPUTweak tool anzeigt das die karte nur mit 70% last läuft [sehr geil :D] Guildwars2 hat zwar ein eigenes supersampling - aber man kann ja beides kombinieren (kein FXAA, da ich sweetFX laufen hab) - was am ende auch bei 50-60 FPS im wvw Zergfigt raus kommt (Kodash/Baruch/Gendara) Die Temps der Karte halten sich zwischen 30 C° (windows idle) und, ja.. und… Problem hier ist das der Lüfter der Karte erst bei 65C° anspringt und diese auch hält - ich hab gestern alles versucht auch im gemoddeten Skyrim geht die karte nicht über 66 C° hinaus. Hier lief der Lüfter zwischen 800 und 1000 rpm (unhörbar) also erster eindruck nach ner nacht zocken - echt geile Hardware]]></summary></entry><entry><title type="html">Teamspeak fuck up</title><link href="https://blog.alexdpsg.net/852/" rel="alternate" type="text/html" title="Teamspeak fuck up" /><published>2014-09-01T11:06:14+00:00</published><updated>2014-09-01T11:06:14+00:00</updated><id>https://blog.alexdpsg.net/teamspeak-fuck-up</id><content type="html" xml:base="https://blog.alexdpsg.net/852/"><![CDATA[<p>Tach,</p>

<p>lange zeit war es so das man zu mir gekommen ist mit</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"Hey ich brauch mal eben 30-150 slots für nen clan/gilde, kannste da was machen?"
</code></pre></div></div>

<p>was zu 90% dazu geführt hat, das ich fix nen vhost angeworfen habe, wenn nicht grade alle slots belegt waren. Nun haben diese DEPPEN vom Teamspeak die Lizenz der “Non-Profit-Lizenz” geändert d.h ab dem 6.12 werde ich das Teamspeak Hosting <strong><span style="color: #ff0000;">einstellen</span></strong>.</p>

<p>Sprich aus aktuell 10 Clans und Gilden werden sich 8 Verabschieden müssen oder sich in einem gemeinsamen TS wiederfinden(ja ich finde das auch bescheiden)</p>

<p>Im gegenzug werde ich mich mal genauer mit Mumble befassen, da Teamspeak der Community nicht nur ins Knie, sondern gleich in den Kopf Geschossen hat.</p>

<p>hier mal der twitter krams zwischen mir und teamspeak (ist was länger…)</p>

<div class="jekyll-twitter-plugin"><blockquote class="twitter-tweet"><p lang="de" dir="ltr"><a href="https://twitter.com/teamspeak?ref_src=twsrc%5Etfw">@teamspeak</a> was ist eigentlich bei euch passiert das ihr die NPL so kürzt ? ich hab 9 vhosts (54s) für clans am laufen. 1/2</p>&mdash; Deshke (@d3shke) <a href="https://twitter.com/d3shke/status/506171752574373889?ref_src=twsrc%5Etfw">August 31, 2014</a></blockquote>
<script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>]]></content><author><name>alex_dpsg</name></author><category term="Allgemeines" /><category term="rant" /><category term="Server" /><category term="Teamspeak" /><category term="changes" /><category term="hosting" /><category term="lizenz" /><category term="non-profit-license" /><category term="npl" /><category term="rant" /><category term="teamspeak" /><category term="ts" /><category term="ts3" /><summary type="html"><![CDATA[Tach, lange zeit war es so das man zu mir gekommen ist mit "Hey ich brauch mal eben 30-150 slots für nen clan/gilde, kannste da was machen?" was zu 90% dazu geführt hat, das ich fix nen vhost angeworfen habe, wenn nicht grade alle slots belegt waren. Nun haben diese DEPPEN vom Teamspeak die Lizenz der “Non-Profit-Lizenz” geändert d.h ab dem 6.12 werde ich das Teamspeak Hosting einstellen. Sprich aus aktuell 10 Clans und Gilden werden sich 8 Verabschieden müssen oder sich in einem gemeinsamen TS wiederfinden(ja ich finde das auch bescheiden) Im gegenzug werde ich mich mal genauer mit Mumble befassen, da Teamspeak der Community nicht nur ins Knie, sondern gleich in den Kopf Geschossen hat. hier mal der twitter krams zwischen mir und teamspeak (ist was länger…) @teamspeak was ist eigentlich bei euch passiert das ihr die NPL so kürzt ? ich hab 9 vhosts (54s) für clans am laufen. 1/2&mdash; Deshke (@d3shke) August 31, 2014]]></summary></entry><entry><title type="html">Can I ask you something?</title><link href="https://blog.alexdpsg.net/848/" rel="alternate" type="text/html" title="Can I ask you something?" /><published>2014-08-11T07:48:04+00:00</published><updated>2014-08-11T07:48:04+00:00</updated><id>https://blog.alexdpsg.net/can-i-ask-you-something</id><content type="html" xml:base="https://blog.alexdpsg.net/848/"><![CDATA[<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"Can I ask you something?"
Go ahead.
"Are you busy?"
Go ahead, ask me your question.
"Maybe this should be a ticket."
Go ahead and ask me and I will let you know.
"Ok, quick question."
Go ahead.
"I just wanted to know something about my computer."
Go ahead.
"My mouse is broken, do you have any ideas."
</code></pre></div></div>

<p>from http://www.reddit.com/r/sysadmin/comments/2d5m4v/10_commandments_for_getting_along_with_your_it_guy/cjmc3jy</p>]]></content><author><name>alex_dpsg</name></author><category term="rant" /><summary type="html"><![CDATA["Can I ask you something?" Go ahead. "Are you busy?" Go ahead, ask me your question. "Maybe this should be a ticket." Go ahead and ask me and I will let you know. "Ok, quick question." Go ahead. "I just wanted to know something about my computer." Go ahead. "My mouse is broken, do you have any ideas." from http://www.reddit.com/r/sysadmin/comments/2d5m4v/10_commandments_for_getting_along_with_your_it_guy/cjmc3jy]]></summary></entry><entry><title type="html">Adaptec StorMan MaxView Storage Manager unter 14.04</title><link href="https://blog.alexdpsg.net/837/" rel="alternate" type="text/html" title="Adaptec StorMan MaxView Storage Manager unter 14.04" /><published>2014-06-03T10:44:54+00:00</published><updated>2014-06-03T10:44:54+00:00</updated><id>https://blog.alexdpsg.net/adaptec-storman-maxview-storage-manager-unter-14-04</id><content type="html" xml:base="https://blog.alexdpsg.net/837/"><![CDATA[<p>short, weil es natürlich nicht in der Doku steht</p>

<p>http://www.adaptec.com/de-de/downloads/storage_manager/sm/productid=sas-7805&amp;dn=adaptec+raid+7805.html</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
aptitude <span class="nb">install </span>libpam-cracklib 
<span class="nb">tar </span>xfz msm_linux_x64_v1_05_20942.tgz 
<span class="nb">cd </span>manager/
dpkg <span class="nt">-i</span> StorMan-1.05-20942_amd64.deb

</code></pre></div></div>

<p>ganz mieß natürlich das das gute stück noch nen tomcat mit allem drum un dran mit bringt <em>UND</em> die $PATH Var überschreibt und fröhlich kaputte ssl libs anhängt.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
<span class="nb">cat</span> /etc/profile.d/StorManPath.sh 
<span class="c"># export StorMan=/usr/StorMan</span>
<span class="c"># if ! echo ${LD_LIBRARY_PATH} | /bin/grep -q /usr/StorMan:/usr/StorMan/ssl/lib:/usr/StorMan/pegasus/lib; then</span>
<span class="c"># export LD_LIBRARY_PATH=/usr/StorMan:/usr/StorMan/ssl/lib:/usr/StorMan/pegasus/lib:${LD_LIBRARY_PATH}</span>
<span class="c"># fi</span>
<span class="c"># if ! echo ${PATH} | /bin/grep -q /usr/StorMan/pegasus/bin:/usr/StorMan/ssl/bin; then</span>
<span class="c"># export PATH=/usr/StorMan/pegasus/bin:/usr/StorMan/ssl/bin:${PATH}</span>
<span class="c"># fi</span>
<span class="c"># export OPENSSL_HOME=/usr/StorMan/ssl</span>
<span class="c"># export OPENSSL_BIN=/usr/StorMan/ssl/bin</span>
<span class="c"># export PEGASUS_HOME=/usr/StorMan/pegasus</span>
<span class="c"># export PEGASUS_ROOT=/usr/StorMan/pegasus</span>


</code></pre></div></div>]]></content><author><name>alex_dpsg</name></author><category term="Hardware" /><category term="rant" /><category term="14.04" /><category term="Adaptec" /><category term="Adaptec 7805" /><category term="MaxView Storage Manager" /><category term="StorMan" /><category term="ubuntu" /><summary type="html"><![CDATA[short, weil es natürlich nicht in der Doku steht http://www.adaptec.com/de-de/downloads/storage_manager/sm/productid=sas-7805&amp;dn=adaptec+raid+7805.html aptitude install libpam-cracklib tar xfz msm_linux_x64_v1_05_20942.tgz cd manager/ dpkg -i StorMan-1.05-20942_amd64.deb ganz mieß natürlich das das gute stück noch nen tomcat mit allem drum un dran mit bringt UND die $PATH Var überschreibt und fröhlich kaputte ssl libs anhängt. cat /etc/profile.d/StorManPath.sh # export StorMan=/usr/StorMan # if ! echo ${LD_LIBRARY_PATH} | /bin/grep -q /usr/StorMan:/usr/StorMan/ssl/lib:/usr/StorMan/pegasus/lib; then # export LD_LIBRARY_PATH=/usr/StorMan:/usr/StorMan/ssl/lib:/usr/StorMan/pegasus/lib:${LD_LIBRARY_PATH} # fi # if ! echo ${PATH} | /bin/grep -q /usr/StorMan/pegasus/bin:/usr/StorMan/ssl/bin; then # export PATH=/usr/StorMan/pegasus/bin:/usr/StorMan/ssl/bin:${PATH} # fi # export OPENSSL_HOME=/usr/StorMan/ssl # export OPENSSL_BIN=/usr/StorMan/ssl/bin # export PEGASUS_HOME=/usr/StorMan/pegasus # export PEGASUS_ROOT=/usr/StorMan/pegasus]]></summary></entry></feed>