Multicast routing with PIM-SM over GRE
GRE tunnels are useful in many ways. This blog post shows how to set up
multicast routing with pimd over a
GRE tunnel. To achieve this we will also set up OSPF over GRE with
Quagga, because PIM, unlike DVMRP (mrouted),
require unicast routing rules to be established.
.----{ Intranet }----.
/ 192.168.1.0/24 \
/ \
.10 / \.20
.--'---. .1 GRE Tunnel .2 .---`--.
| |====================| |
| R1 | 172.16.16.0/30 | R2 |
| | | |
'--.---' '------'
| .1 | .1
| 10.0.1.0/24 | 10.0.2.0/24
| .2 | .2
.--'---. .--'---.
| | | |
| C1 | | C2 |
| | | |
'------' '------'
In this post we are using the home WiFi network, 192.168.1.0/24, to hook
up the GRE tunnel. It is just as easy to extend this to a big corporate
Intranet with more routers between R1 and R2. As long as that IT
department takes care of the unicast routing between R1 and R2 so
that the GRE tunnel can be established.
Set up a Debian/Ubuntu APT Repository
How to set up a Debian/Ubuntu APT repository with GPG signing.
At first I tried to use Bas Wijnen’s mini-dinstall howto, but never managed to get it working. Probably due to problems with GPG. Then I went down the tried and true path of using reprepro.
I’ve tried to document my steps here, but I’ve very likely missed a few steps that a beginner admin may run into. YMMV B-)
Threads vs Event Loop, Again ...
I still get asked this, from time to time. Maybe it’s because I only use event loops, maybe it’s because I’ve written libuEv, or maybe people still don’t understand:
Why an event loop, why not use threads?
So here’s my response, once more.
Packaging Software with Docker
This post details how to package and deploy software with Docker. The example uses Merecat httpd on Alpine Linux. Try it out with:
docker pull troglobit/merecat
See https://hub.docker.com/r/troglobit/merecat/ for details on how to run Merecat httpd in production.
Install X-Window in Alpine Linux
How to install LXDM + XFCE4 in Alpine Linux 3.6 when testing with Finit.
Boot Alpine Linux with GRUB
It’s fairly easy to replace the slightly unfriendly syslinux with grub (grub2) in Alpine Linux. I use v3.6 but YMMV.