The site you see, up until the last post from last week, is restored from a back up found on an external hard drive, taken in March 2021. There may have been newer posts, there may have been a newer back-up, not correctly saved and lost to the sands of time. I was impressed this backup could be restored. I think I had tried to restore this back up a few months since.
The whole site was taken down at the start of an experiment about 10 months ago, shortly after I got my new consumer fibre-to-the-premises broadband, courtesy of brsk (happy customer, not endorsement, 500 up and down and much less than I was forking out for Virgin Media).
With brsk, I got something called Carrier Grade NAT (Network Address Translation) on IPv4. The point of NAT is so that one public IP address can serve many devices in one building and was one of the early fixes to the shortage of IPv4 addresses. This meant that devices could, by default, initiate a connection with the outside world but the outside world could not initiate a connection to a device. Port forwarding resolved this by forwarding specific ports to specific devices at the router, allowing routing from public to private IPv4 networks. The definition of a public IP address being one issued by your ISP, the external IP address so to speak, on the actual internet, and a private one being of the 192.168 variety on the inside of a router.
And so, because websites are by default served on ports 80 and 443, if you have a computer in your network configured to serve a website, you can forward requests from the internet on ports 80 and 443 to that one computer. Forward more ports to the same device, or other devices, for more services inside your network to become available outside. You do that, and your website or NAS drive can be accessed from the outside world.
Due to the IPv4 shortage, ISPs are now no longer allowing you to host your own services on IPv4 with port forwarding as there are now two layers of Network Address Translation, and you and maybe a few dozen (or a few thousand) others are sharing one public IP address and you can’t have (or your ISPs won’t allow) port forwarding at the upper layer.
So what’s the solution, if I want my NAS drive to be available? IPv6 works but only between two ISPs that support IPv6. Friends couldn’t access our shared folders on my NAS. I couldn’t from my mobile network.
I didn’t know much about IPv6 before this. I didn’t know that choosing to install my own wireless router on my old ISP (Virgin Media) had the side-effect of disabling CGNAT. This got me a semi-static not-shared public IP address which I registered with DDNS, allowing me to host my NAS drive.
So what was the workaround for being behind CGNAT at home? I tore down my website and started tinkering with my virtual server in the cloud, making it an ipv4 to v6 forwarder to my NAS drive, but it didn’t work well. And I had ripped my website up, and when I got round to rebuilding 3 months later, had mislaid a backup.
The workaround, in the end, was asking brsk nicely if they’d take me off CGNAT. The support chat I got back by email was with a real techie-minded person who opened my eyes to CGNAT in the first place (and how rubbish it is), and explained the only way to be off CGNAT on their system was to have a static public IP address and as it wasn’t a service for home users, they planned to do so soon, so in the meantime he gave me a free static IPv4 address. Maybe I shouldn’t mention this, as I’ve had it for eight or nine months now, free of charge.
So I was without a website for a while, and now it is back, restored from one back up or another, with this ‘ere new content. I’ve changed job, now providing IT support in house for a factory-and-office building.
I’ve moved my server from OVH to Ionos, who happen to be my name server (DNS registrar). When I restored my website, I was aiming for maximum likelihood of recovery, so I started with a blank Ubuntu of the version I was using at time of backup, version 20.04 and likewise with the version of WordPress. I had to fiddle and faff with the back up and recovery tool to work properly. I then updated WordPress to the latest and, happy with my work, I took a snapshot backup using the function on OVH’s interface, (one that charges a few quid a month). I then thought, why not have a prod and poke further, at upgrading to Ubuntu 22.04 from 20.04 and when I attempted that, WordPress fell apart (WordPress doesn’t guarantee compatibility with PHP8 and the upgrade from 7.2 to 8 as part of the Ubuntu upgrade was the culprit). I restored from the OVH snapshot (as I had done a few times before) and the snapshot would not restore. I checked in with their customer support and was advised snapshot was like a first tier of backup and you can only have one snapshot at a time. Once restored, can’t be re-done. And if something goes wrong, can’t be undone. They said “We do not suggest that is is a backup.” I wrote back said you do suggest it is, by offering it as a paid service, that suggests that it is supposed to be used, it suggests that it works as intended. And so I decided to restart the whole process on Ionos, a blank Ubuntu 20.04 , that specific version of WordPress from March 2021, that difficult restore from backup, made easier by having done it once already, updates, and I’m back up and running, sticking to Ubuntu 20.04 until the update in Ubuntu from PHP 7.2 to 8 is supported by WordPress. I don’t think my virtual server has IPv6 but a static IPv4, as expected.
And here I am.