I miss the old days :(
I miss the old days :(
I host my personal site this way.
I also host about 100 mostly-static mostly-low-use websites at work similarly: with Apache on a couple of VMs. They are more reliable than the free versions of Netlify etc, and the systems work to maintain 100 static websites is little different to maintaining 5 static websites.
Many routers have support for this and if your router runs dhcpcd you can tell it to issue the call when it renews the DHCP lease from your ISP, or simply cron job it.
Cloudflare has a DNS API. So if you search "Cloudflare DDNS" you'll find five or six different Github projects (some binaries, some scripts) you can run on any box in your house (maybe a Pi?) that'll do your DDNS through them.
(You don't need your router to run a DDNS client, even though routers make it seem like a router-exclusive feature. The only thing your router knows that your LAN doesn't is your network's external IP address. But a DDNS client can just hit an external reflector endpoint for that.)
I'm confused about it though. For some applications and games you need to connect peer-to-peer for them to work correctly. How is it possible to connect to a peer with some random port open (e.g. 48295)? It doesn't seem like the ISP could know that the request was aimed at you, if something like UPnP isn't being used. Or does CGNAT simply disable all incoming connections, breaking p2p applications entirely?
As IPv6 becomes more widely adopted, there will be no need to conserve IP addresses and everyone can be allocated a block of them.