2024 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2024-W01 (202401) 2024-W02 (202402) 2024-W03 (202403) 2024-W04 (202404) 2024-W05 (202405) 2024-W06 (202406) 2024-W07 (202407) 2024-W08 (202408) 2024-W09 (202409) 2024-W10 (202410) 2024-W11 (202411) 2024-W12 (202412) 2024-W13 (202413) 2024-W14 (202414) 2024-W15 (202415) 2024-W16 (202416) 2024-W17 (202417) 2024-W18 (202418) 2024-W19 (202419) 2024-W20 (202420) 2024-W21 (202421) 2024-W22 (202422) 2024-W23 (202423) 2024-W24 (202424) 2024-W25 (202425) 2024-W26 (202426) 2024-W27 (202427) 2024-W28 (202428) 2024-W29 (202429) 2024-W30 (202430) 2024-W31 (202431) 2024-W32 (202432) 2024-W33 (202433) 2024-W34 (202434) 2024-W35 (202435) 2024-W36 (202436) 2024-W37 (202437) 2024-W38 (202438) 2024-W39 (202439) 2024-W40 (202440) 2024-W41 (202441) 2024-W42 (202442) 2024-W43 (202443) 2024-W44 (202444) 2024-W45 (202445) 2024-W46 (202446) 2024-W47 (202447) 2024-W48 (202448) 2024-W49 (202449) 2024-W50 (202450) 2024-W51 (202451) 2024-W52 (202452) 2025 2025-W01 (202501) 2025-W02 (202502) 2025-W03 (202503) 2025-W04 (202504) 2025-W05 (202505) 2025-W06 (202506) 2025-W07 (202507) 2025-W08 (202508) 2025-W09 (202509) 2025-W10 (202510) 2025-W11 (202511) 2025-W12 (202512) 2025-W13 (202513) 2025-W14 (202514) 2025-W15 (202515) 2025-W16 (202516) 2025-W17 (202517) 2025-W18 (202518) 2025-W19 (202519) 2025-W20 (202520) 2025-W21 (202521) 2025-W22 (202522) 2025-W23 (202523) 2025-W24 (202524) 2025-W25 (202525) 2025-W26 (202526) 2025-W27 (202527) 2025-W28 (202528) 2025-W29 (202529) 2025-W30 (202530) 2025-W31 (202531) 2025-W32 (202532) 2025-W33 (202533) 2025-W34 (202534) 2025-W35 (202535) 2025-W36 (202536) 2025-W37 (202537) 2025-W38 (202538) 2025-W39 (202539) 2025-W40 (202540) 2025-W41 (202541) 2025-W42 (202542) 2025-W43 (202543) 2025-W44 (202544) 2025-W45 (202545) 2025-W46 (202546) 2025-W47 (202547) 2025-W48 (202548) 2025-W49 (202549) 2025-W50 (202550) 2025-W51 (202551) 2025-W52 (202552) 2026 2026-W01 (202601) 2026-W02 (202602) 2026-W03 (202603) 2026-W04 (202604) 2026-W05 (202605) 2026-W06 (202606) 2026-W07 (202607) 2026-W08 (202608) 2026-W09 (202609) 2026-W10 (202610) 2026-W11 (202611) 2026-W12 (202612) 2026-W13 (202613) 2026-W14 (202614) 2026-W15 (202615) 2026-W16 (202616) 2026-W17 (202617) 2026-W18 (202618) 2026-W19 (202619) 2026-W20 (202620) 2026-W21 (202621) 2026-W22 (202622) 2026-W23 (202623) 2026-W24 (202624) 2026-W25 (202625) 2026-W26 (202626) 2026-W27 (202627) 2026-W28 (202628) 2026-W29 (202629) 2026-W30 (202630) 2026-W31 (202631) 2026-W32 (202632) 2026-W33 (202633) 2026-W34 (202634) 2026-W35 (202635) 2026-W36 (202636) 2026-W37 (202637) 2026-W38 (202638) 2026-W39 (202639) 2026-W40 (202640) 2026-W41 (202641) 2026-W42 (202642) 2026-W43 (202643) 2026-W44 (202644) 2026-W45 (202645) 2026-W46 (202646) 2026-W47 (202647) 2026-W48 (202648) 2026-W49 (202649) 2026-W50 (202650) 2026-W51 (202651) 2026-W52 (202652)

2025–W06 #

I sorted the "cable too short" problem and have homed my Mini-ITX in a 2U rack-mount box which is nice. I think the first SATA connector is iffy though, but it came up again after a reboot. At least it's ZFS so if it does develop a problem then I'll know?

Also interested in dm-integrity with XFS as a more Linux-native way to get a good fs and also checksums (although not in one package).


I ported over my personal routing stuff from FRR to BIRD. FRR (well Quagga) is where I cut my teeth with BGP, and I came to it after exposure to Cisco iOS/Catalyst/PIX environments -- so its command language felt familiar. But I am not sure that it makes it good, and there's some annoying bugs in recent versions of FRR. Bugs are fine, but they are also really hard to debug because of the non-modularity of things (compared to something like BIRD -- which feels more like a toolkit language you can build a router out of).

At some point I'd like to do the same for AS401604/Colocataires.


Got more eBay networking gear for homelab reasons -- I'm learning about Clos networks and so I have a machine with 4x 1Gb links going to two "L3 switches" (these are actually PCs with a bunch of ports running Linux in my case, as I didn't have a spare five grand (each!) for Nvidia SS2201's). This, along with ECMP-vs-LACP and one other topic, are rattling around my head and need a much better, much longer write-up when I get the chance.


Learned some CSS grid things for my personal site (and I used a bit for Colocataires, but it was more misuse than anything). The snarky thing to say is that I can finally replicate the kinds of layouts that I could do in 2002 with tables, before everything went to CSS, but it really is great to not have to import someone else's whole framework just to be able to work on a grid again.


I set up NAT64 with Tayga -- a userland IPv6 to IPv4 mapper. You can combine with with a DNS64 server (or use Google's public DNS64) and then you can continue to access the IPv4-only Internet from IPv6-only clients.

What "year of" will it be first: Linux on the desktop or IPv6?


It looks like nftables are the new thing that I should move all my firewalling to. It looks fine although there's limited documentation. For now, I went back to iptables/ip6tables shims which take the input I'm familiar with and write the nft changes for me:

root@remote:~# ip6tables-save
# Generated by ip6tables-save v1.8.11 (nf_tables) on Fri Feb  7 18:20:09 2025
*filter
:INPUT ACCEPT [571:150495]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [38:8189]
-A INPUT -s 2602:f72c::/36 -j ACCEPT
-A INPUT -s 2001:470:1d:51::/64 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REJECT --reject-with icmp6-port-unreachable
COMMIT
# Completed on Fri Feb  7 18:20:09 2025

And:

root@remote:~# nft list ruleset ip6
# Warning: table ip6 filter is managed by iptables-nft, do not touch!
table ip6 filter {
        chain INPUT {
                type filter hook input priority filter; policy accept;
                ip6 saddr 2602:f72c::/36 counter packets 0 bytes 0 accept
                ip6 saddr 2001:470:1d:51::/64 counter packets 27 bytes 7093 accept
                tcp flags & (fin | syn | rst | ack) == syn counter packets 0 bytes 0 reject
        }

        chain FORWARD {
                type filter hook forward priority filter; policy accept;
        }

        chain OUTPUT {
                type filter hook output priority filter; policy accept;
        }
}