<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sig-I/O</title><link>https://sig-io.nl/</link><description>Tech-tips and News</description><atom:link href="https://sig-io.nl/rss.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2024 &lt;a href="mailto:mark@sig-io.nl"&gt;Mark Janssen&lt;/a&gt; </copyright><lastBuildDate>Sat, 27 Jul 2024 16:51:33 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Debian on a Thinkpad T14 AMD Gen5</title><link>https://sig-io.nl/posts/debian-on-thinkpad-t14-amd5/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;section id="intro"&gt;
&lt;h2&gt;Intro&lt;/h2&gt;
&lt;p&gt;Since my previous workhorse laptop was showing it's age, I had been looking for a replacement
for a while. After much deliberation, I got the choice down to 2 options; The Frame.Work 13
with AMD Ryzen and 2.8K display (which is still in pre-order phase), and the Thinkpad T14 AMD
Gen5 which can also be had with a 2.8K OLED display.&lt;/p&gt;
&lt;p&gt;I've always been a Thinkpad user (at least for the last 20 years), and I've tried out the Frame.Work
when some friends had one around, but I keep preferring the Lenovo keyboards and trackpad with
buttons (for the trackpoint). The Lenovo also had the advantage of coming with more ports, as it has
2x USB-C, 2x USB-A and seperate UTP, HDMI and Minijack, where the Frame.Work only has the 4 USB-C ports
with optional modules for other ports. The Thinkpad was also available directly (built-to-order,
but with a 1 week lead-time) and seems to be as repairable as the Frame.Work, and comes with 3-year
warranty and on-site service. So the Thinkpad was my choice again this time.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="specs"&gt;
&lt;h2&gt;Specs&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Thinkpad T14 AMD Gen 5&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2.8K Matte OLED&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AMD Ryzen 7 Pro 8840U&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;8GB Ram, but have upgraded this after-market to 64GB DDR5-5600&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;256GB WD-Black SSD, replaced with a 2TB model after-market (m2.2280)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No OS, which gets you a $60 discount at Lenovo&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fingerprint reader, Smartcard reader, both seem to 'work'&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="installation"&gt;
&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;Installation of debian 12 went reletively smooth, though I did run into some issues downloading
the kernel-package from the updates repository, which seems to have gotten corrupted. This was fixed
by doing the installation from a German mirror first, and changing back to deb.debian.org later.
For better support I've also enabled the bookworm-backports repository and installed the latest bpo
kernel (6.9.7+bpo-amd64) at this time.&lt;/p&gt;
&lt;p&gt;Secure-boot and UEFI didn't give me any issues and running with Luks+LVM+XFS also went smooth.&lt;/p&gt;
&lt;p&gt;The only hardware related issue I've run into at this time, is the occasional amdgpu crashes (hopefully
fixed now) and a hang when connecting to my thunderbolt-dock with attached HDMI monitor. In this case the
AMDGPU driver tries to (and fails/hangs) read the EDID information for the HDMI monitor, and this
pauses/hangs the entire system unill either the dock or the monitor is disconnected. Sometimes the monitor
will be recognised as a 640x480 screen, and the system will continue, but this is quite useless.&lt;/p&gt;
&lt;p&gt;For now I've disconnected the 2nd monitor from the dock, and it's connected directly to the HDMI port
on the laptop, and there it works fine in 4k 60Hz mode (which is all this Acer KG281K can do).&lt;/p&gt;
&lt;/section&gt;
&lt;section id="software-setup"&gt;
&lt;h2&gt;Software setup&lt;/h2&gt;
&lt;p&gt;After 20+ years of using Gnome (and mostly Mate/Gnome-Classic the last few years), I've switched over
to KDE on this laptop. So far I quite like it, but I've had to make some small tweaks here and there to
get it working how I'm used to.&lt;/p&gt;
&lt;p&gt;I quite like the KDE-Connect android app, which lets me control the laptop from the phone, This will be nice
to use for presentations.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="amd-gpu"&gt;
&lt;h2&gt;AMD GPU&lt;/h2&gt;
&lt;p&gt;The amdgpu driver and firmware that came with debian 12 has been giving me some issues, with random crashes of the GPU and wayland drivers, but after a lot off fiddling, it seems to be stable now with the following combination of changes from debian 12 default:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Install latest backport kernel&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manually install latest amdgpu firmware from kernel.org mirror&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add the 'amdgpu.gpu_recovery=1 rtc_cmos.use_acpi_alarm=1' options to the kernel commandline&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="weirdness"&gt;
&lt;h2&gt;Weirdness&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;The specsheet/ordersheet from Lenovo claims the display is 60Hz, but KDE's display properties will let me choose 120Hz on the internal display.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Even in idle (with just some browsers running) the fans seem to be running at a quite audible level around 3000rpm, causing a constant wind-noise. For the time being i've propped up the laptop on a stand, which seems to keep it a bit cooler than just standing flat on my desk the entire day.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;</description><category>debian</category><category>laptop</category><category>linux</category><category>thinkpad</category><guid>https://sig-io.nl/posts/debian-on-thinkpad-t14-amd5/</guid><pubDate>Sun, 21 Jul 2024 14:48:22 GMT</pubDate></item><item><title>Automating (Wildcard) certificate renewal with Acme.sh, DeSec.io and some DNS magic</title><link>https://sig-io.nl/posts/acmesh-desec-dns-acme-challenge-cname/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;Automatically requesting TLS/SSL certificates using the ACME protocol is quite nice.
Usually to just get a regular TLS certificate, you just have to run an ACME capable tool
or webserver, which will place a textfile in /.well-known/acme-challenge on your
webserver, which is then used to validate control over the domain.&lt;/p&gt;
&lt;p&gt;Alternatively you can use DNS based validation. This is even required when requesting
wildcard certificates, for example, when requesting a certificate for '*.sig-io.nl'.&lt;/p&gt;
&lt;p&gt;When validating using DNS, you need to have your ACME client create a DNS record
'_acme-challenge' in your DNS domain. This can be done using various ACME clients, and I
myself have written modules/plugins for Dehydrated for various DNS providers over the
years.&lt;/p&gt;
&lt;p&gt;Recently I've switched from Dehydrated as my preferred ACME client to Acme.sh. This client
has a massive amount of DNS providers supported in the main codebase. So it will usually
have an interface to whatever DNS system you might use.&lt;/p&gt;
&lt;p&gt;Some of my customers however use domains hosted by (for example) TransIP.nl, which does
have an API to update DNS-records, but usually takes very long (5-10 minutes) to update
records, and also has no granulated access-control to their API. If you have API access,
you can do everything with all domains under that account. This means you can't really
leave credentials to this account in config-files somewhere.&lt;/p&gt;
&lt;p&gt;However, I've now found a solution to these problems that I'm quite satisfied with. I'm
using deSEC.io, a new non-profit, community-oriented DNS provider, with a nice API to do
DNS validations. With deSEC I can create an API key that is limited in time and
source-network. And since deSEC is free, I can create a seperate account just for
acme-validation on an otherwise unused domain.&lt;/p&gt;
&lt;p&gt;So to create a certificate for a customer-domain, I just have them create a CNAME entry in
whatever DNS system they use, which points to my acme-validation only domain-name hosted
at deSEC.io.&lt;/p&gt;
&lt;p&gt;For example, for sig-io.nl I could create a CNAME record '_acme-challenge.sig-io.nl'
pointing to '_acme-challenge.sig-io.nl.acme.example.com'. And then (given that example.com
is a domain I manage with deSEC.io) use Acme.sh to create certificates using this alias
domain using:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;export DOMAIN="sig-io.nl"
acme.sh --issue -d "*.${DOMAIN}" --challenge-alias "${DOMAIN}.acme.example.com" --server letsencrypt --dns dns_desec&lt;/p&gt;
&lt;/blockquote&gt;</description><category>acme-challenge</category><category>acme.sh</category><category>certificates</category><category>cname</category><category>desec.io</category><category>dns</category><category>wildcard</category><guid>https://sig-io.nl/posts/acmesh-desec-dns-acme-challenge-cname/</guid><pubDate>Tue, 11 Jul 2023 16:15:26 GMT</pubDate></item><item><title>LUA-DNS migration</title><link>https://sig-io.nl/posts/migrating-to-luadns/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;At Sig-I/O we have (mostly) been using OpenProvider for DNS registrations and hosting over
the last few years. This has mostly been fine, but OpenProvider has been having some
issues every now and then, and is changing things, but not allways for the better.&lt;/p&gt;
&lt;p&gt;After a period of stagnation, they now seem to be developing new features again, but none
of those appeal much, while important bugs and wishlist items remain unfixed.&lt;/p&gt;
&lt;p&gt;We've been looking at alternatives for at least the DNS hosting parts for a while, and
even started looking into setting up our own anycast network of DNS servers, but concluded
that his was too much effort (and money) for what we needed, so the search for a good
matching DNS provider was continued.&lt;/p&gt;
&lt;p&gt;After looking at various options, and trying out some of them with test-domains, we were
most charmed with LuaDNS.net, which is a small Romenian company with a nice working
anycast DNS system and an interesting method for pushing DNS updates.&lt;/p&gt;
&lt;p&gt;LuaDNS has a webinterface for inspecting the zones and records that are served by their
servers, but this interface doesn't allow updates. For updating DNS records there are 2
possible options:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Using a REST api&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using GIT and a notify-hook&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;section id="using-the-rest-api"&gt;
&lt;h2&gt;Using the REST api&lt;/h2&gt;
&lt;p&gt;We use the REST-api for updating temporary records, like the 'acme-challenge' records
needed for ACME validation by Lets-Encrypt, ZeroSSL or BuyPass. This is done using the
dns_lua hook in acme.sh&lt;/p&gt;
&lt;/section&gt;
&lt;section id="using-git-and-notify-hooks"&gt;
&lt;h2&gt;Using GIT and notify-hooks&lt;/h2&gt;
&lt;p&gt;The primary method to add zones and records to LuaDNS is by creating a lua-script or
bind-formatted file in a git repository. This has the added benefit of having an
archive of all previous DNS records. In our case, we host the git repository ourselved on
a Gitea instance.&lt;/p&gt;
&lt;p&gt;Every time a git commit is pushed to this Git repository, gitea sends a webhook to the
LuaDNS api server, which then clones the git repository, parses the lua-scripts and/or
bind zone files, and updates its zone files. A log of this parsing it then sent via e-mail
to the admin account.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="dnssec"&gt;
&lt;h2&gt;DNSSec&lt;/h2&gt;
&lt;p&gt;LuaDNS supports DNSSec, which we had enabled at OpenProvider as well, so for the migration
to LuaDNS we temporarily disabled this (to ease migration). Sadly, LuaDNS doesn't allow
configuring (or querying) the DNSSec keys from the API at this point, but when we asked
about this, we got a quick reply that this would be added in the coming weeks.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 2022/07/12&lt;/strong&gt;: I just got an e-mail from LuaDNS that this feature has been added,
so there is an API endpoint for DNSSec now.&lt;/p&gt;
&lt;p&gt;This however meant that configuring the DNSSec keys was still somewhat of a manual
excersize at this time. We manually enabled DNSSec on all LuaDNS hosted zones and
copy/pasted the public-keys to a textfile. We then used the OpenProvider API to
reconfigure all our zones to be hosted by LuaDNS and configured the DNSSec keys at the
same time.&lt;/p&gt;
&lt;p&gt;This mostly worked, though some domains gave some issues, so these were then updated by
hand.&lt;/p&gt;
&lt;p&gt;Updating the zones in Openprovider can be done with this api-call:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code bash"&gt;&lt;a id="rest_code_41cfb1d06a9c481985fc8744565879df-1" name="rest_code_41cfb1d06a9c481985fc8744565879df-1" href="https://sig-io.nl/posts/migrating-to-luadns/#rest_code_41cfb1d06a9c481985fc8744565879df-1"&gt;&lt;/a&gt;curl&lt;span class="w"&gt; &lt;/span&gt;-X&lt;span class="w"&gt; &lt;/span&gt;PUT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;a id="rest_code_41cfb1d06a9c481985fc8744565879df-2" name="rest_code_41cfb1d06a9c481985fc8744565879df-2" href="https://sig-io.nl/posts/migrating-to-luadns/#rest_code_41cfb1d06a9c481985fc8744565879df-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;https://api.openprovider.eu/v1beta/domains/&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;a id="rest_code_41cfb1d06a9c481985fc8744565879df-3" name="rest_code_41cfb1d06a9c481985fc8744565879df-3" href="https://sig-io.nl/posts/migrating-to-luadns/#rest_code_41cfb1d06a9c481985fc8744565879df-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;-H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Accept: */*"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;a id="rest_code_41cfb1d06a9c481985fc8744565879df-4" name="rest_code_41cfb1d06a9c481985fc8744565879df-4" href="https://sig-io.nl/posts/migrating-to-luadns/#rest_code_41cfb1d06a9c481985fc8744565879df-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;-H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OPENPROVIDER_API_BEARER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;a id="rest_code_41cfb1d06a9c481985fc8744565879df-5" name="rest_code_41cfb1d06a9c481985fc8744565879df-5" href="https://sig-io.nl/posts/migrating-to-luadns/#rest_code_41cfb1d06a9c481985fc8744565879df-5"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{ \"ns_group\": \"luadns\", \"dnssec_keys\": [ { \"alg\": 13, \"flags\": 257, \"protocol\": 3, \"pub_key\": \"&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;DNSSEC&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;\", \"readonly\": 1 } ] }"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Where {ID} is the ID of the zone at OpenProvider (which we gathered in a previous script),
and {DNSSEC} is the DNSSec key from LuaDNS, which we manually gathered.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="post-migration-checks"&gt;
&lt;h2&gt;Post Migration Checks&lt;/h2&gt;
&lt;p&gt;After migration we received an e-mail from dnssec-tools, complaining about missing records
we had earlier, so we re-created some tlsa-records and did some more checks while we were
at it.&lt;/p&gt;
&lt;p&gt;Some handy tools to check your various settings and configurations:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://stats.dnssec-tools.org/explore/"&gt;https://stats.dnssec-tools.org/explore/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://dane.sys4.de/smtp/"&gt;https://dane.sys4.de/smtp/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://www.dmarcanalyzer.com/dkim/dkim-checker/"&gt;https://www.dmarcanalyzer.com/dkim/dkim-checker/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://mxtoolbox.com/dmarc.aspx"&gt;https://mxtoolbox.com/dmarc.aspx&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;</description><category>dns</category><category>luadns</category><category>migration</category><category>services</category><category>tooling</category><category>tools</category><guid>https://sig-io.nl/posts/migrating-to-luadns/</guid><pubDate>Sun, 10 Jul 2022 15:50:17 GMT</pubDate></item><item><title>Various SSL/TLS related sites and services</title><link>https://sig-io.nl/posts/ssl-services/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;Upto this week (end January 2020), a friend of mine used to run a couple of SSL/TLS
related websites (cipherli.st, certificatemonitor.org, ssldecoder.org) which I used
quite frequently. Sadly he has decided to no longer host these sites, for reasons
undisclosed. I've taken it apon me to host alternative versions of these services,
as I myself use them a lot, and also think they shouldn't disappear from the internet.&lt;/p&gt;
&lt;p&gt;Since I do not control the original domain-names, these services can now be found under
the following new URL's:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://ssldecoder.eu"&gt;https://ssldecoder.eu&lt;/a&gt; -- Print information about site-certificates or CSR's&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://sslmonitor.eu"&gt;https://sslmonitor.eu&lt;/a&gt; -- Get mail notifications about expiring certificates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://cipherlist.eu"&gt;https://cipherlist.eu&lt;/a&gt; -- Recommended TLS/SSL configurations for populair services&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;This was quite easy and quick to get running, as Raymii was so friendly to have all the
source-code to these services on his github. I've made personal forks of the various
repositories, where I will try to keep them somewhat maintained.&lt;/p&gt;
&lt;p&gt;Contributions and additions are more then welcome, please visit the relevant sites for
links to their github pages.&lt;/p&gt;</description><category>cipherlist</category><category>raymii</category><category>services</category><category>sig-io</category><category>ssl</category><category>ssldecoder</category><category>sslmonitor</category><category>tls</category><guid>https://sig-io.nl/posts/ssl-services/</guid><pubDate>Fri, 24 Jan 2020 01:09:24 GMT</pubDate></item><item><title>The CfgMgmtCamp 2019 Recording Setup</title><link>https://sig-io.nl/posts/cfgmgmtcamp19-recording-setup/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;As in earlier years, Sig-I/O takes care of some of the lecture recordings at various
conferences like CfgMgmtCamp, LOADays, HackerHotel, Eth0 and Techtalks at IT-Gilde,
Revspace and Bitlair.&lt;/p&gt;
&lt;p&gt;During one of these recording sessions, JJ Asghar (@jjasghar), asked about the video
setup and asked if there was a blog-post about how it worked. This will be that blog-post.&lt;/p&gt;
&lt;section id="basics"&gt;
&lt;h2&gt;Basics&lt;/h2&gt;
&lt;p&gt;The basics for the recording setup being used is founded on the use of Open Source / Free
Software and affordable hardware. Originally a Firewire based camera setup and dv-grab
were being used, but since new machines with firewire have been getting harder and harder
to find, a switch to something more modern was needed.&lt;/p&gt;
&lt;p&gt;The current recording setup consists of the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;2 USB3 HDMI capture cards&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A camera with HDMI output, and preferably some form of audio input and connected to
the HDMI capture card.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HDMI Splitter between the presenter's laptop and the projector, with the second output
going to our HDMI capture card.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A reasonably fast/modern laptop (i5-6th gen or newer) with USB3 ports running Linux.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open Broadcasting Studio software (obs-studio.org)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;section id="the-camera"&gt;
&lt;h3&gt;The Camera&lt;/h3&gt;
&lt;p&gt;Currently, 3 different camera's are being used, with their own pro's and con's. For our
requirements, the following features are ranked most important:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;HDMI Output (SDI would also be appropriate, but it much more expensive)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;XLR Audio inputs (for connecting to the sound-mixer / microphones)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dual SD-Card slots for continuous-recording (nice to have)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Low-weight, so the camera can be oriented vertically (9x16)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AC/DC power input, so we can run continuously without using batteries&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;The specific camera's in use:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Canon XA10, nice and small, internal 64GB flash and dual SD-slots, 2 XLS's and
minijack audio input, basically everything we need. (No option to have XLR+internal
mic running at the same time though).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Panasonic AG-AC90, large, featurefull, good optics, 2 XLR's and internal mic, all
switchable. 2 SD-cards and good audio tuning/interface.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sony (model unknown), records to tape only so no backup to SD-cards, HDMI output,
proprietary batteries and hard to find an AC-adapter for, not recommended.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/section&gt;
&lt;section id="audio"&gt;
&lt;h3&gt;Audio&lt;/h3&gt;
&lt;p&gt;In many larger venue's amplified audio is essential, so an audio hookup using an XLR cable
is preferred (with the mic-signal from the speaker). This will allow us to get a clear and
crisp audio input for our recording.&lt;/p&gt;
&lt;p&gt;For smaller venues or if there is no audio equiptment present, we usually use some Samson
Concert 88 series wireless microphones/beltpacks, as these are decent and affordable,
though not as good as the (way to expensive) senheisers.&lt;/p&gt;
&lt;p&gt;When a speaker used video and/or audio in their presentation, this will also be received
when it is sent over the HDMI port (not always the case). One or more seperate handheld
microphones are nice to have, so the presenter can be introduced or mic's can be put in
the room for questions.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="usb-hdmi-capture"&gt;
&lt;h3&gt;USB HDMI Capture&lt;/h3&gt;
&lt;p&gt;Affordable USB-3 HDMI capture cards are available from the usual chinese websites, and are
mostly clones of Magewell capture cards. Expect to pay about $60 to $110 for them, and
steer clear of the $20 ones, as these are SD-TV capture cards with an HDMI port. The
quality on those cheap ones is beyond useless.&lt;/p&gt;
&lt;p&gt;The 'good' ones will be marked with words such as: HDMI USB3.0 1080P HDMI Video Capture
Card for Windows/Linux/Mac USB UVC UAC.&lt;/p&gt;
&lt;p&gt;Basically, these are HDMI input ports which present themselves as generic USB webcam's and
audio sources to the computer, and they work with the generic webcam drivers (USB Video
Class, USB Audio Class) available in Windows, Mac and Linux.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="open-broadcasting-studio"&gt;
&lt;h3&gt;Open Broadcasting Studio&lt;/h3&gt;
&lt;p&gt;The final piece of the pie is OBS, a bit of open-source software meant for webcam
streaming. In my setup I usually hook up the 2 video/audio sources, name one 'Camera' and
the other 'Speaker' or 'Projector', add a logo and titles (using the chatlog feature).&lt;/p&gt;
&lt;p&gt;By orienting the camera vertically, the 2 video-streams can be combined more efficiently,
leaving out less empty space. OBS allows you to configure various scenes beforehand, and
quickly change between these at runtime. It's handy to have a full-screen projector
version, some picture-in-picture scenes, and a default scene with everything.&lt;/p&gt;
&lt;p&gt;In OBS you can also configure your livestream, for example to Youtube or Twitch (and
various other sites/methods).&lt;/p&gt;
&lt;p&gt;At most events (with enough bandwidth) we livestream to youtube and simultaniously record
to disk. The camera itself is also recording constantly, and this recording can be used in
case of issues with the computer-recording or as an audio-source then needed.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="encoding"&gt;
&lt;h3&gt;Encoding&lt;/h3&gt;
&lt;p&gt;After the event is completed, the recordings are usually edited using kdenlive to cut out
the idle bits before and after the talks, long questions where there isn't a microphone
in the room and for delays in demo's / mistakes.&lt;/p&gt;
&lt;p&gt;A title-card is added which will give some info about the video and the event. When
editing is complete, the video is re-encoded as VP9/Webm for upload to youtube and the
event website.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="upload-to-youtube"&gt;
&lt;h3&gt;Upload to youtube&lt;/h3&gt;
&lt;p&gt;Uploading to youtube is done manually, with texts and titles copied from the event
schedule. In case of CfgMgmtCamp, most speakers have a twitter-account, and a tweet is
sent out with the link, title and hashtags for the video.&lt;/p&gt;
&lt;p&gt;When the edited video's have been uploaded to youtube, the livestream versions are usually
taken offline, as these are of lower quality.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="improvements-for-next-time"&gt;
&lt;h3&gt;Improvements for next time&lt;/h3&gt;
&lt;p&gt;For the next conference, some improvements that can be made:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Recodings in more rooms, even if it's just a static unmanned camera, as long as it's
on a tripod or fixed mount, audio input would also be preferred, unless the camera is
really up close and personal, so the internal mic would have enough signal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Whitelist MAC-addresses for wired uplinks beforehand (Venue blocked youtube)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>conference</category><category>obs</category><category>tech</category><category>techtip</category><category>video</category><guid>https://sig-io.nl/posts/cfgmgmtcamp19-recording-setup/</guid><pubDate>Fri, 08 Feb 2019 13:22:00 GMT</pubDate></item><item><title>Working on a Linux System Administration Book</title><link>https://sig-io.nl/posts/20181125-working-on-a-sysadmin-book/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;With the release of the first beta version of RHEL-8, and more Linux trainings coming up
in the coming months, I've decided to start writing some educational documentation for
Linux System Administration on modern versions of CentOS, RHEL, Debian and Ubuntu. The
plan is to do this as an Open-Source project and modern open-source methodologies.&lt;/p&gt;
&lt;p&gt;The book is begin written using reStructuredText (just like this blog), to be processed
into webpages and PDF documents by Sphinx.&lt;/p&gt;
&lt;p&gt;To check out the current status (which is still quite limited, as I started this project 2
days ago), see the latest rendered version at &lt;a class="reference external" href="https://linuxsysadminbook.sigio.nl/"&gt;https://linuxsysadminbook.sigio.nl/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Currently the source is hosted in a private repository on Bitbucket, but if the project
gets a bit more mature, it will most likely be moved to either a public Bitbucket
repository, or more likely a public github repository.&lt;/p&gt;</description><guid>https://sig-io.nl/posts/20181125-working-on-a-sysadmin-book/</guid><pubDate>Sun, 25 Nov 2018 01:52:16 GMT</pubDate></item><item><title>Getting (fast) IPv6 at home</title><link>https://sig-io.nl/posts/getting-ipv6-at-home/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;section id="ipv6-1"&gt;
&lt;h2&gt;IPv6&lt;/h2&gt;
&lt;p&gt;I value IPv6 access as quite important, however T-Mobile Thuis doesn't offer any official form
of IPv6 on their network at this time. I looked into various options to get decent IPv6 for
my home network:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;6to4&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HE.net tunnelbroker&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;VPN based access&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;section id="in4"&gt;
&lt;h3&gt;6in4&lt;/h3&gt;
&lt;p&gt;6to4 is a deprecated form of IPv6 access, but something that would work for any connection with
a fixed IPv4 address. Configuring 6to4 on OpenWRT is quickly done, and it was easy to delegate
a /64 subnet to my local network. 6to4 however results in a quite slow connection (of around 10
to 20 megabit), and reachability was spotty at best.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="he-net-tunnelbroker"&gt;
&lt;h3&gt;HE.net tunnelbroker&lt;/h3&gt;
&lt;p&gt;Upto a couple of years ago there used to be various public tunnelbrokers for 6in4 tunnels, and
I used the sixxs.net tunnels for almost 10 years myself, however, almost all public tunnel-services
seem to have shut down over the years. Only HE.net's tunnelbroker seems to be alive.&lt;/p&gt;
&lt;p&gt;I have used a couple of HE.net tunnels throughout the years, and while they work fine in
general, they seem quite limited in available bandwidth. This became even worse as sixxs.net
shutdown, as most sixxs users migrated to HE.net.&lt;/p&gt;
&lt;p&gt;Configuring OpenWRT to use a HE.net tunnel is quite easy, just a matter of copy/pasting the
values from your HE.net account into OpenWRT's webinterface and providing credentials for the
dynamic updating of the tunnel.&lt;/p&gt;
&lt;p&gt;I did some speed-tests and these confirmed my experience, I seemed to be limited to maybe 20mbit,
which is a bit low when using a 700+ mbit connection, but this is to be expected for a free
service. If your needs are limited, HE.net is a good and free solution.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="vpn-based-access"&gt;
&lt;h3&gt;VPN based access&lt;/h3&gt;
&lt;p&gt;The third and final method of getting IPv6 that I tried was tunneling over IPv4 to my own
server in a public datacenter. At that server (hosted at Hetzner) I have a /56 of IPv6 space,
This is not standard, but available on request, and you get a /64 standard with every server
or VPS.&lt;/p&gt;
&lt;p&gt;I configured &lt;a class="reference external" href="https://www.wireguard.com/"&gt;wireguard&lt;/a&gt; on OpenWRT (client) and my server in the datacenter, and route a /60
subnet of IPv6 space to my home-network. This range can then be split further for a couple
of subnets. The remainder of the /56 can be used for some more VPN's and tunnels.&lt;/p&gt;
&lt;img alt="/images/speedtest-v6.png" src="https://sig-io.nl/images/speedtest-v6.png"&gt;
&lt;p&gt;Using the &lt;a class="reference external" href="https://www.wireguard.com/"&gt;Wireguard&lt;/a&gt; VPN and testing speed on IPv6 I could easily get over 200mbit per second
and I have even seen it hit 500mbit.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="todo"&gt;
&lt;h2&gt;Todo&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Try and get IP-TV working, though this doesn't have much priority for me&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cancelling voice and tv-subscriptions before the discount runs out :)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="openwrt-config"&gt;
&lt;h2&gt;OpenWRT Config&lt;/h2&gt;
&lt;p&gt;Various bits of relevant configuration for OpenWRT:&lt;/p&gt;
&lt;p&gt;The configuration of the switchports:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code ini"&gt;&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-1" name="rest_code_e1ccc61777d6451aae999102698e26ba-1" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-1"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-2" name="rest_code_e1ccc61777d6451aae999102698e26ba-2" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option name 'switch0'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-3" name="rest_code_e1ccc61777d6451aae999102698e26ba-3" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option reset '1'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-4" name="rest_code_e1ccc61777d6451aae999102698e26ba-4" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option enable_vlan '1'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-5" name="rest_code_e1ccc61777d6451aae999102698e26ba-5" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-5"&gt;&lt;/a&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-6" name="rest_code_e1ccc61777d6451aae999102698e26ba-6" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-6"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-7" name="rest_code_e1ccc61777d6451aae999102698e26ba-7" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-7"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-8" name="rest_code_e1ccc61777d6451aae999102698e26ba-8" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-8"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '1'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-9" name="rest_code_e1ccc61777d6451aae999102698e26ba-9" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-9"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '1 2 3 4 6t'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-10" name="rest_code_e1ccc61777d6451aae999102698e26ba-10" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-10"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '1'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-11" name="rest_code_e1ccc61777d6451aae999102698e26ba-11" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-11"&gt;&lt;/a&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-12" name="rest_code_e1ccc61777d6451aae999102698e26ba-12" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-12"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-13" name="rest_code_e1ccc61777d6451aae999102698e26ba-13" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-13"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-14" name="rest_code_e1ccc61777d6451aae999102698e26ba-14" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-14"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '300'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-15" name="rest_code_e1ccc61777d6451aae999102698e26ba-15" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-15"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '300'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-16" name="rest_code_e1ccc61777d6451aae999102698e26ba-16" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-16"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '0t 6t'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-17" name="rest_code_e1ccc61777d6451aae999102698e26ba-17" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-17"&gt;&lt;/a&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-18" name="rest_code_e1ccc61777d6451aae999102698e26ba-18" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-18"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-19" name="rest_code_e1ccc61777d6451aae999102698e26ba-19" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-19"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-20" name="rest_code_e1ccc61777d6451aae999102698e26ba-20" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-20"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '640'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-21" name="rest_code_e1ccc61777d6451aae999102698e26ba-21" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-21"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '640'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-22" name="rest_code_e1ccc61777d6451aae999102698e26ba-22" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-22"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '0t 6t'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-23" name="rest_code_e1ccc61777d6451aae999102698e26ba-23" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-23"&gt;&lt;/a&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-24" name="rest_code_e1ccc61777d6451aae999102698e26ba-24" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-24"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-25" name="rest_code_e1ccc61777d6451aae999102698e26ba-25" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-25"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-26" name="rest_code_e1ccc61777d6451aae999102698e26ba-26" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-26"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '100'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-27" name="rest_code_e1ccc61777d6451aae999102698e26ba-27" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-27"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '0t 6t'&lt;/span&gt;
&lt;a id="rest_code_e1ccc61777d6451aae999102698e26ba-28" name="rest_code_e1ccc61777d6451aae999102698e26ba-28" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_e1ccc61777d6451aae999102698e26ba-28"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '100'&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Configuration of the Wireguard VPN for IPv6 tunneling&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code ini"&gt;&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-1" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-1" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-1"&gt;&lt;/a&gt;&lt;span class="na"&gt;config interface 'WG6'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-2" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-2" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option proto 'wireguard'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-3" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-3" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option private_key '&amp;lt;wireguard-private-key-base64&amp;gt;'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-4" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-4" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;list addresses '2001&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="s"&gt;xxxx:xxx:xxx::3/60'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-5" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-5" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-5"&gt;&lt;/a&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-6" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-6" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-6"&gt;&lt;/a&gt;&lt;span class="na"&gt;config wireguard_WG6&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-7" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-7" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-7"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;list allowed_ips '&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="s"&gt;:/0'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-8" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-8" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-8"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option endpoint_host 'ipv4-of-wireguard-server'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-9" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-9" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-9"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option endpoint_port 'wireguard-portnumber'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-10" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-10" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-10"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option persistent_keepalive '25'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-11" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-11" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-11"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option description 'Wireguard-ipv6-tunnel-name'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-12" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-12" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-12"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option public_key '&amp;lt;public-key-of-wireguard-server-in-base64&amp;gt;'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-13" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-13" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-13"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option route_allowed_ips '1'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-14" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-14" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-14"&gt;&lt;/a&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-15" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-15" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-15"&gt;&lt;/a&gt;&lt;span class="na"&gt;config route6&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-16" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-16" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-16"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option interface 'WG6'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-17" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-17" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-17"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option target '0&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="s"&gt;:/0'&lt;/span&gt;
&lt;a id="rest_code_885e9eaa07974503bc4aefa941fbdb37-18" name="rest_code_885e9eaa07974503bc4aefa941fbdb37-18" href="https://sig-io.nl/posts/getting-ipv6-at-home/#rest_code_885e9eaa07974503bc4aefa941fbdb37-18"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option gateway '2001&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="s"&gt;xxxx:xxx:xxx::1'&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/section&gt;</description><category>ipv6</category><category>networking</category><category>openwrt</category><category>tunnelbroker</category><category>vlan</category><category>wireguard</category><guid>https://sig-io.nl/posts/getting-ipv6-at-home/</guid><pubDate>Sat, 15 Sep 2018 13:40:00 GMT</pubDate></item><item><title>T-Mobile Thuis (fiber) with a custom router</title><link>https://sig-io.nl/posts/tmobilethuis-with-own-router/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;I have been using &lt;a class="reference external" href="https://www.tweak.nl/glasvezel/productoverzicht.html"&gt;Tweak.nl&lt;/a&gt; as my ISP for a few years now, since getting
fiber-to-the-home, but Tweak doesn't have their own (non-KPN (incumbant
dutch telco)) infrastructure in my area. This means they are limited in
offering products provided by KPN, at prices mostly dominated by what
they have to pay KPN to get access to the last-mile. In area's where they
do have their own fiber infrastructure they can offer gigabit connections
at very nice prices (less then €400 per year) and 10-gigabit even, but this
is a bit overkill, especially since traffic is then quite limited :)&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://www.t-mobile.nl/thuis"&gt;T-Mobile Thuis&lt;/a&gt; (which used to be Vodafone Thuis, but had to be split-off
from Vodafone due to anti-compete measures) does have it's own infrastructure
in my area, which means they can provide their own networking products. This
translates into getting a symmetrical 750 mbit connection for €40,- per month
(Sold as €50,- with a permanent 10,- discount). It can also include voice
and TV-services, but these cost extra, and would only with if you let T-Mobile
control your network by using their router.&lt;/p&gt;
&lt;img alt="/images/speedtest-v4.png" src="https://sig-io.nl/images/speedtest-v4.png"&gt;
&lt;p&gt;Sadly they still don't provide any form of native &lt;a class="reference external" href="http://ipv6-test.com/"&gt;IPv6&lt;/a&gt; connectivity, and I'm
not too fond of letting ISP's control my routers and internet-infrastucture, so
I looked into ways to get a fast and affordable connection whule using my own
router, preferably running OpenWRT.&lt;/p&gt;
&lt;p&gt;After some research on the Tweakers.net and T-Mobile Thuis web forums I was
sure that it wouldn't be too hard to get a fast internet-connection on T-Mobile
Thuis using my trusty &lt;a class="reference external" href="https://openwrt.org/"&gt;OpenWRT&lt;/a&gt; routers. The requirements basically come down to:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Some way to connect to the fiber-connection&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A fast enough &lt;a class="reference external" href="https://openwrt.org/"&gt;OpenWRT&lt;/a&gt; based router that can handle gigabit speeds&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support for VLAN's&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I initially used a RouterBoard &lt;a class="reference external" href="https://mikrotik.com/product/RB750Gr3"&gt;RB750Gr3&lt;/a&gt;, since I was already using that as a
router for my Tweak connection, but I also had a few &lt;a class="reference external" href="https://www.ubnt.com/edgemax/edgerouter-x/"&gt;Edgerouter ER-X&lt;/a&gt;'s around.
Both routers basically are the same chipset, but with slightly different
peripherals. The RB750 has a low amount of flash, but USB and MicroSD ports, so
you can add external storage, the ER-X has no USB or MicroSD, but has 256MB of
built-in flash, which is more then enough for everything you might want to
install on it.&lt;/p&gt;
&lt;p&gt;Both routers would be more then sufficient and powerful enough to route a
gigabit connection, as they have 256MB of RAM, and a quad-core Mips24 800Mhz cpu.
In the end I swapped out the RB750 for the ER-X, since I had a few of those and
only one RB750 and would have no use for the USB port on the router.&lt;/p&gt;
&lt;p&gt;Installing OpenWRT 18.06.1 is outside of the scope of this article, but I've
written about installing it in an &lt;a class="reference external" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/link;/slug/openwrtlede-on-a-routerboard-rb750gr3-hex3"&gt;earlier post&lt;/a&gt;, and documentation is on the
OpenWRT wiki&lt;/p&gt;
&lt;section id="connecting-to-the-fiber"&gt;
&lt;h2&gt;Connecting to the fiber&lt;/h2&gt;
&lt;p&gt;The first step is finding some way to connect the router to the fiber. There are
basically 2 methods to do this:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Get a router with an SFP port,and use the SFP module that is provided by T-Mobile,
as their own router also uses an SFP-port. This is most useful when the T-Mobile/Guidion
mechanic has set-up your connection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use a media-converter. In my case, there was already a media-converter present, since
this was the solution used by my two previous ISP's. This box connects to the fiber, and
outputs the conneciton over a RJ45 connection. I used this connection to hoop up to
the OpenWRT routers WAN port using a CAT5e cable.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to go for the SFP method, be sure to get a router with SFP-ports, like the
&lt;a class="reference external" href="https://www.ubnt.com/edgemax/edgerouter-x-sfp/"&gt;ER-X-SFP&lt;/a&gt; or the &lt;a class="reference external" href="https://mikrotik.com/product/hex_s"&gt;HEX_S&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="vlan-configuration"&gt;
&lt;h2&gt;VLAN Configuration&lt;/h2&gt;
&lt;p&gt;T-Mobile Thuis uses a few different VLAN's, but for our use we only need to use the
regular internet VLAN, which is vlan 300. Besides this vlan there is also vlan 100, which
is used for T-Mobile's management and vlan 640, which is used for TV.&lt;/p&gt;
&lt;p&gt;Configure the WAN port or port that's used for connecting to T-Mobile with the 3 tagged vlan's&lt;/p&gt;
&lt;img alt="/images/tmobile-wan-vlan.png" src="https://sig-io.nl/images/tmobile-wan-vlan.png"&gt;
&lt;p&gt;The internet vlan (300) will give you a public IPv4 address using a DHCP-request. This
will also be the default gateway. The Management-lan (100) wil also respond to DHCP-requests,
but only return adresses in 10.66.0.0/16 ip-space. There is some traffic on this network, but
I haven't looked into it too much yet.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="television"&gt;
&lt;h2&gt;Television&lt;/h2&gt;
&lt;p&gt;Posts on various forums informed me that IP-TV is normally configured on the 640 vlan. I myself
don't use much TV, so I haven't done any configuration yet. T-Mobile also lets you use TV-Anywhere,
which is a mobile application (IOS/Android) for streaming TV on any internet-connection, so this
can be used as a zero-configuration alternative. I might update this post or publish a new one
when I get TV-Streaming working, but I'll probably cancel the TV and voice subscriptions before
too long, I only took them because it was cheaper with then without (the first 6 months).&lt;/p&gt;
&lt;/section&gt;
&lt;section id="todo"&gt;
&lt;h2&gt;Todo&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Try and get IP-TV working, though this doesn't have much priority for me&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cancelling voice and tv-subscriptions before the discount runs out :)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="openwrt-config"&gt;
&lt;h2&gt;OpenWRT Config&lt;/h2&gt;
&lt;p&gt;Various bits of relevant configuration for OpenWRT:&lt;/p&gt;
&lt;p&gt;The configuration of the switchports:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code ini"&gt;&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-1" name="rest_code_997ef5cc71d64321b33c9c22726fab24-1" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-1"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-2" name="rest_code_997ef5cc71d64321b33c9c22726fab24-2" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option name 'switch0'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-3" name="rest_code_997ef5cc71d64321b33c9c22726fab24-3" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option reset '1'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-4" name="rest_code_997ef5cc71d64321b33c9c22726fab24-4" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option enable_vlan '1'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-5" name="rest_code_997ef5cc71d64321b33c9c22726fab24-5" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-5"&gt;&lt;/a&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-6" name="rest_code_997ef5cc71d64321b33c9c22726fab24-6" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-6"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-7" name="rest_code_997ef5cc71d64321b33c9c22726fab24-7" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-7"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-8" name="rest_code_997ef5cc71d64321b33c9c22726fab24-8" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-8"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '1'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-9" name="rest_code_997ef5cc71d64321b33c9c22726fab24-9" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-9"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '1 2 3 4 6t'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-10" name="rest_code_997ef5cc71d64321b33c9c22726fab24-10" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-10"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '1'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-11" name="rest_code_997ef5cc71d64321b33c9c22726fab24-11" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-11"&gt;&lt;/a&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-12" name="rest_code_997ef5cc71d64321b33c9c22726fab24-12" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-12"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-13" name="rest_code_997ef5cc71d64321b33c9c22726fab24-13" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-13"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-14" name="rest_code_997ef5cc71d64321b33c9c22726fab24-14" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-14"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '300'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-15" name="rest_code_997ef5cc71d64321b33c9c22726fab24-15" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-15"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '300'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-16" name="rest_code_997ef5cc71d64321b33c9c22726fab24-16" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-16"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '0t 6t'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-17" name="rest_code_997ef5cc71d64321b33c9c22726fab24-17" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-17"&gt;&lt;/a&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-18" name="rest_code_997ef5cc71d64321b33c9c22726fab24-18" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-18"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-19" name="rest_code_997ef5cc71d64321b33c9c22726fab24-19" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-19"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-20" name="rest_code_997ef5cc71d64321b33c9c22726fab24-20" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-20"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '640'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-21" name="rest_code_997ef5cc71d64321b33c9c22726fab24-21" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-21"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '640'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-22" name="rest_code_997ef5cc71d64321b33c9c22726fab24-22" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-22"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '0t 6t'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-23" name="rest_code_997ef5cc71d64321b33c9c22726fab24-23" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-23"&gt;&lt;/a&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-24" name="rest_code_997ef5cc71d64321b33c9c22726fab24-24" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-24"&gt;&lt;/a&gt;&lt;span class="na"&gt;config switch_vlan&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-25" name="rest_code_997ef5cc71d64321b33c9c22726fab24-25" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-25"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option device 'switch0'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-26" name="rest_code_997ef5cc71d64321b33c9c22726fab24-26" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-26"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vlan '100'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-27" name="rest_code_997ef5cc71d64321b33c9c22726fab24-27" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-27"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option ports '0t 6t'&lt;/span&gt;
&lt;a id="rest_code_997ef5cc71d64321b33c9c22726fab24-28" name="rest_code_997ef5cc71d64321b33c9c22726fab24-28" href="https://sig-io.nl/posts/tmobilethuis-with-own-router/#rest_code_997ef5cc71d64321b33c9c22726fab24-28"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="na"&gt;option vid '100'&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/section&gt;</description><category>edgerouter</category><category>fiber</category><category>networking</category><category>openwrt</category><category>tmobile</category><category>vlan</category><guid>https://sig-io.nl/posts/tmobilethuis-with-own-router/</guid><pubDate>Fri, 14 Sep 2018 11:37:00 GMT</pubDate></item><item><title>Sig-I/O now 9 years old, debian-lts sponsor for 3</title><link>https://sig-io.nl/posts/sig-io-now-9-years-old-debian-lts-sponsor-for-3/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;This week marks the 9th year in Sig-I/O's existance. Looking back over the past nine years shows a nice growth in the number of clients and a collection of interesting assignments Sig-I/O has been involved in.&lt;/p&gt;
&lt;p&gt;While the services that Sig-I/O provides have shifted somewhat over these 9 years, some have also remained the same, with some clients already with us from the very beginning. The past few years have been mostly about Managed Hosting, Linux-, Ansible- and Security-Consulting and since a few years also Training, via a partnership with &lt;a class="reference external" href="https://www.itgilde.nl/opleidingen/"&gt;IT-Gilde&lt;/a&gt; which has been going steady for 3 years now.&lt;/p&gt;
&lt;img alt="/images/Debian-LTS-2-small.png" src="https://sig-io.nl/images/Debian-LTS-2-small.png"&gt;
&lt;p&gt;This month also marks the 3rd complete year that Sig-I/O has been a sponsor of the &lt;a class="reference external" href="https://wiki.debian.org/LTS/"&gt;Debian LTS&lt;/a&gt; project. This sponsorship has also been renewed for the coming year. The Debian LTS project could use some more sponsors, so if your organisation uses Debian servers extensively, it might be beneficial to &lt;a class="reference external" href="https://www.freexian.com/services/debian-lts.html"&gt;sponsor&lt;/a&gt; them. Debian LTS will support Debian 7 until May of 2019, and will then continue with LTS support for Debian 8 into the 2020's&lt;/p&gt;
&lt;p&gt;The next few years will undoubtedly bring many more interesting challenges and opportunities.&lt;/p&gt;</description><category>debian-lts</category><category>news</category><category>sig-io</category><guid>https://sig-io.nl/posts/sig-io-now-9-years-old-debian-lts-sponsor-for-3/</guid><pubDate>Wed, 04 Jul 2018 12:21:42 GMT</pubDate></item><item><title>Migrated website to a static site powered by Nikola</title><link>https://sig-io.nl/posts/migrated-website-to-a-static-site-powered-by-nikola/</link><dc:creator>Mark Janssen</dc:creator><description>&lt;p&gt;As you might have noticed if you visited my site before, the entire look and feel has been changed. The site is now powered by the &lt;a class="reference external" href="https://getnikola.com"&gt;Nikola&lt;/a&gt; static-site-generator. The most-recent articles have been migated over, the older articles from the previous website will be restored when they are still relevant.&lt;/p&gt;
&lt;p&gt;I had been thinking about using a Static-Site-Generator before, but wordpress was working quite well for me. Recently however I managed to lose my wordpress database, and this privided me with a good opportunity to re-do the site using Nikola.&lt;/p&gt;
&lt;p&gt;I'm still getting the hang of writing reStucturedText, and still need to update some pages, but at least the website is back from the abyss. Most articles have been restored from the &lt;a class="reference external" href="https://web.archive.org"&gt;WayBack&lt;/a&gt;-Machine operated by &lt;a class="reference external" href="https://www.archive.org"&gt;Archive.org&lt;/a&gt;.&lt;/p&gt;
&lt;section id="using-nikola"&gt;
&lt;h2&gt;Using Nikola&lt;/h2&gt;
&lt;p&gt;In case you are interested in using a static-site generator, this is my workflow:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Stream some nice relaxing music&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="youtube-video"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Sh0djQG5eEI?rel=0&amp;amp;wmode=transparent" frameborder="0" allow="encrypted-media" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Install python3, setup a virtualenv for Nikola&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pip install "Nikola[Extras]"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;nikola init mywebsite&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Version the newly created site in git&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make some changes to the config-file&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose and download a theme&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write some posts and pages (nikola new_post -e)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Git add all your changes, push to a remote server&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nikola build&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rsync the output directory to a webserver&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;</description><category>migration</category><category>nikola</category><category>site</category><category>static</category><guid>https://sig-io.nl/posts/migrated-website-to-a-static-site-powered-by-nikola/</guid><pubDate>Thu, 14 Jun 2018 19:17:20 GMT</pubDate></item></channel></rss>