If you are running a DSL router, your ISP gives you an IP address which is the world address of that router. Of course it should be permanent. But you have to forward all the ports to your servers that are connected to it in order for the services to work. For example: Websites or VPN. And you have to rent a router from your ISP or buy one. If you are running Linux, you can skip all that.
I use a ZTEG V6.0.1P1T12 ONT which I bought on AliExpress for $18. I also bought a spare and changed the Serial Number to match the first one so I can swap them anytime without needing to inform my ISP. The out of the box configuration works for what I use it for. Which is: PPPOE from the kernel. The Linux box becomes the router with minimal overhead. It also becomes the server with the Global IP address. If needed it can also forward ports to other internal servers if needed.
What are the steps?
Buy a ZTEG ONT.
This is from Bezeq's list of approved "ציוד קצה".
#!/bin/bash
#/etc/ppp/rc.pppoe
/usr/sbin/pppd plugin rp-pppoe.so eth1 linkname ADSL-$$ user "myusername@013net" defaultroute netmask 255.0.0.0 noauth lcp-echo-interval 60 lcp-echo-failure 3 nobsdcomp usepeerdns
add rule ip nat POSTROUTING oifname "ppp0" counter masquerade
add rule ip filter FORWARD oifname "ppp0" tcp flags syn tcp option maxseg size set 1452