My double proxy solution to LaLiga blocks

If you are not aware, LaLiga (Spain’s football league) is blocking thousands of IPs in Spain every time there’s a football match on the TV to try to fight against the pirated football on the Internet. Of course it’s not working as the pirate sites continue being accessible without a hinch, but thousands of legitimate webs stop working. You can get more information about the affected IPs in the fantastic page ¿Hay ahora fútbol?.

I recently discovered that some strange errors I was seeing in some of my home lab services were caused by these blocked IPs. The affected IPs are hickjacked and the HTTP connections redirected to LaLiga’s web server. HTTPS connections will fail with a certificate error like this:

[Error] X509CertificateValidationService: Certificate validation for api.radarr.video failed. RemoteCertificateNameMismatch, RemoteCertificateChainErrors

To avoid these problems I have created this solution with two proxies and a VPN.

[Read More]

From Fail2ban to Reaction

Fail2ban has been an important security tool I’ve been using in my servers for many years. However sometimes is difficult to configure, lacks certain features and can consume too many resources.

Recently I’ve switched to Reaction, a new tool with the same philosophy: monitor logs and execute some actions based on log matches. Reaction is written in Rust, so it’s fast and resource efficient.

[Read More]

Vykar backup tool

I’ve been using Borg backup for many years for my backups and I’m pretty happy with it, but today a new alternative has been published: Vykar backup.

The tool is still new and not ready for production, however the benchmarks they published look very promising. Also, it supports object storage backends, which is something that Borg has been promising for years, but it’s still in the roadmap.

I will definitely keep track of its progress as it might be a good alternative in the future.

IP sets in OpenWrt 22.03

OpenWrt has recently released version 22.03, and one of the biggest changes is the switch to nftables.

I’ve noticed though that nftables doesn’t use ipsets as I was used to, but it has a new concept of sets inside the nftables ruleset.

I wanted to create a firewall rule to filter a list of IPs from an URL, however the integration was not as straightforward as with iptables, so I’ve ended creating this solution.

[Read More]

SNI-based load balancing with HAProxy

In a bare-metal Openshift installation you need to use an external load balancer to access the API and other services. In my hone lab I also have a webserver accesible from the Internet. I also don’t want to terminate the TLS connections in the load balancer to keep using the existing certificates in my webserver and Openshift cluster.

With these requirements in mind, I chose HAProxy to be my frontend load balancer, so all the HTTPS connections to my public IP will be diverted to the appropriate server examining the SNI field in the TLS connection.

[Read More]

PXE server in Fedora with dnsmasq

I’m currently doing many tests with the Openshift bare-metal installation, and as I’m creating and destroying the VMs again and again, having a PXE server to provide the installation images and configuration to the VMs is very handy and saves a lot of time.

This is an example of my PXE configuration mounted on a Fedora box that acts as router.

[Read More]
pxe 

Capture Raspberry Pi kernel crashes

I’m experiencing kernel panics in a headless Raspberry Pi with Fedora 29 Server and need a way to capture what is happening.

First I tried to enable kdump, but this doesn’t seem possible. If someone has done it, I’d like to hear.

What I’m using now, is enabling netconsole to log all the kernel messages over the network to a rsyslog server. This is the config in the Pi:

/etc/modules-load.d/netconsole.conf:

[Read More]