Duracoat is one of the very top do-it-yourself gun coatings, and many commercial builders use it.
They offer about any color you could want, and even sell an inexpensive airbrush kit to apply it.
Once applied and allowed to fully cure and harden, it's pretty much a matter of bead blasting to get it off.
Other good coatings are Brownell's Alum-Hyde and Aluma-Hyde II.
The II needs no baking.
In a non gun-specific coating, automotive engine paint is very good, although like many paints, the Flat Black is TOO flat, and the Gloss Black is way too shiny.
You can get Duracoat in just the degree of flatness that looks best on guns.