Putting this out there in case anyone else ends up in a similar situation.
Have you got an IPv6-only internet connection? (Eg. thanks to a dodgy ISP or router)
Have you got a remote server you can SSH to?
Set up an SSH Socks proxy, and you'll be able to access the whole internet via it while you work out what's going on. Or in my case, wait until morning.