nullroute | ~grawity | home network

Related: hosts.

[Currently, an unfinished collection of memories. This was supposed to document my home network as it currently is, but grew in a different direction.]



We never had dial-up at home; I remember reading about modems and ISDN in magazine ads, but there was neither major need for it (with my school having quite good Internet access) nor the budget to support it.

(There weren't really any BBSes, either; maybe one or two across the whole country, and I only learned of them decades after.)


Eventually we got an ADSL connection, at first at 128 Kbps downstream, with the ISP later raising the "basic" plan to 256 Kbps (and later to 512 Kbps, and so forth). It was fairly good for the time; most notably the ISP could afford to give everyone a nearly-static IPv4 address, with ours having only changed twice over the span of almost 20 years.

An account at the ISP's warez server was provided for free – FTP at first, then an internal DC++ hub and eventually an eMule server, with their own modded client. This was the country's incumbent telco. Such were the times. It took two nights to download a Windows XP.iso when I broke our family PC (the dual-boot to Windows 98 saved my ass), but it was better than nothing.

As late as 2020, however, we were still on ADSL – now ADSL2+ at around 8 Mbps down but barely 0.6 Mbps up! With files getting larger, uploading anything was a pain; I had to limit Dropbox to 30 KB/s up (which it respected until they rewrote the sync engine…), and we had to be really careful during the early COVID years when a family member had to use Zoom on a daily basis.

The ISP had already been advertising promises of VDSL in our region for two years, but it never showed up; once a direct call to them confirmed that no, they weren't planning on it anymore, we decided to switch to LTE.

DSL modems

Early on, most ADSL modems came with a USB port in addition to regular Ethernet; and a good thing they did, as our family PC didn't even have Ethernet at first. Unfortunately, the USB driver for CDC-Ethernet that came with our modem was not very stable; it probably accounted for a good majority of the BSODs.

The first ADSL modem we used was a Huawei SmartAX MT820, with only one Ethernet port (two if you count USB Ethernet). While it did have routing functionality (more so than home routers do today – it supported RIPv2!) it was designed to be used as a plain modem; it was pre-set to pure bridge mode, with the computer (singular!) expected to dial PPPoE – Windows XP could do this natively; older systems had to use WinPoET or something similar. If you wanted more than one computer, you could configure the MT820 to do PPPoE by itself, but it was more common to use Windows "Internet Connection Sharing".

Later we had a Pirelli DRG-A125G with 802.11g; the first time we had Wi-Fi at home. By now, the ISP had switched to direct IPoE over DSL, with the modem handling routing and NAT. It was a fairly powerful device, still one of my favorites with flexible network configuration (e.g. bridges, GRE tunnels, multiple Wi-Fi SSIDs), but it had its own quirks – you couldn't put a space in the SSID, and every time it was powered on, it would literally run out of RAM to the extent that it couldn't fit more than 2-3 connections in its NAT state table. You had to wait a few minutes for it to settle down. It also took 12V AC from its power brick for whatever reason.

Our ISP didn't have a list of "approved" DSL modems; as long as you could configure the PVCs yourself, anything went. (ADSL was literally ATM over phone line and shared the same concepts – though it did not bother with dynamically establishing virtual circuits; instead, permanent VCs were assigned much like VLANs today; one VPI/VCI pair was the Internet PVC, another for IPTV, yet another was the CPE management network.)


While we only had one choice for Internet access – ADSL – our semi-neighbors that lived further uphill had another option available: wireless Internet over 2.4 GHz, beamed from the city ~7 km away into a grid-parabolic antenna on their roof. (Quite like the LEMA Internet access we had at school, actually, but I believe this was a completely different operator.)


After giving up on ADSL in 2020 or so, we switched to a stationary 4G (LTE) connection that we still use today (as of 2024).

The operator of choice had in fact been acquired by the same telco, and was just in the process of switching over from their previous mobile-oriented infrastructure to the telco's, so it was a good chance to compare the performance – throughput was higher, of course, although unstable (90 Mbps down on a good hour but 20-30 Mbps usually) and the latency was lower than ADSL's (as low as 16 ms – perhaps not surprising given ADSL's heavy buffering caused by interleaving).

(Today another carrier is available, offering 150+ Mbps with us having near line of sight to their tower; unfortunately they're infamous for very high latency connections. When using their services on my mobile phone, a traceroute to my workplace – to a server literally in the same room to me – used to travel all the way to Sweden and back! Nowadays it doesn't, but the latency has hardly improved; it's not 150+ ms anymore, but it's still nearly a hundred.)

The downside of all of this was that not only did we lose a semi-static IPv4 address, we lost a public IPv4 address outright; we were under CGNAT. This did cause some annoyances, most of them being due to the IP addresses coming from multiple different pools (still listed as owned by two different companies, at that).

It took the ISP until early 2024 to implement IPv6 – and that wasn't static, either. Fortunately, at least, they do not block inbound IPv6 access at carrier level (as they do with IPv4); unfortunately the LTE modem they'd sold us has no ability to make use of that, short of disabling any and all IPv6 firewall rules. It's probably time for an upgrade.


For years, I was used to having an Internet connection with no frills. I had an IP address and packets went through. Then, with the switch to LTE, we now were behind CGNAT – understandable given the ISP's origins as a mobile operator, but nevertheless annoying. Eventually, though, other weird things started happening.

At first, holes started showing up in traceroute paths. Then, traceroutes got shorter – implausibly so. A trace to my local server was five hops, and a trace to Japan was also five hops, what used to be well over twenty. That wouldn't have been really notable if it were limited to the ISP's own network (which is easy to explain by MPLS nad L2 magic), but the hops corresponding to other ISPs also went missing. On the receiving side it was obvious that something had been rewriting packet TTLs; a packet sent outwards with TTL of 64 arrived with one of 247 or so; and TTLs are never supposed to increase.

This was intermittent, and I'd chalked it up to misconfiguration on one of their routers. Later things changed again: instead of TTL shenanigans, ICMP packets were simply not allowed through – unless they were specifically from the target host. (Most firewalls inspect ICMP payloads so as to allow gateways to send error messages about a packet they could not deliver.) It still continues today; you can ping a host, but every traceroute is completely devoid of information.