How can I assign a public IP address to each of my devices?

There are two main ways this can be done, the choice of which is largely made by your ISP.

  1. The set of ip's your isp has given you (typically a .. subnet) can be routed through another IP. This configuration mostly applies to business where I'm from. In that case the router has an internet-facing public ip, and a seperate also public "lan"-facing (typical terminology is DMZ) ip within your subnet. They can be very similar or very different. Your devices will have a public ip (with the right subnet) and the local public ip of the router as the default gateway.

  2. The set of ip's your isp has given you is terminated at the endpoint device (modem, router, gateway or whatever they call it). So no IP routing happens on your router (ignore the terminology here). There will be a function in the router to bridge the public ip's from your devices on the lan towards the outside. The terminology depends on the router vendor.

2 bis) In a lot of setups, you can make this work with a switch (or switch-like) hooked up to the last device of the ISP, before your router. The devices get a public ip directly from the ISP (sometimes even with DHCP, but that's never a long term solution). There is no router involved (for those public ip's, you can obviously still hook one up to provide simple clients with internet)

Footnote: beware you are facing the public internet. There is a lot of malicious traffic going around. You will need to absolutely keep the machines firewalled and services up to date, and even then you would be wise to limit the access. And plan to have the machines compromised.

Footnote: I don't want to advertise my services here, but if you are truly in urgent need...