Most good paints can be used to camo a rifle, and if the metal is cleaned and properly prepped, the finish is pretty durable and won't flake.
One good technique is to bake the paint in an oven at about 300 degrees, another is to bead blast the metal to give the surface a "orange peel" rough surface which gives the paint a "tooth" to adhere to better.
You can also buy special decals that allow doing some very sophisticated camo patterns.
Of the paints, the best are special epoxy paints sold by Lauer Duracoat, and Brownell's.
Some of these have to be baked in a kitchen oven, some are air curing that harden alone. These are far more durable than ordinary paints.
Lauer is one of the best. They sell the paints in about any color you could want, they sell cheap airbrushes to apply it, and they sell the camo pattern kits.
Lauer air hardens to handle in 24 hours, to use in a few days, and reaches full hardness in a few weeks.
It has a very good reputation:
Brownell's sell Aluma-Hyde I and II. The I is oven bake, the II is air curing.
It doesn't come in as many colors and isn't a two part mix like the Lauer.
If you have your rifle bead blasted to get a better adhesion, make SURE the bead blaster is either cleaned out and refilled with new blast media, or it's a blaster that's used ONLY for stainless.
If you blast stainless in a blaster that's been used to blast carbon steel, tiny particles of carbon steel will be embedded into the stainless and will rust later, ruining the surface.
How well the job turns out depends on how well you prep the metal and clean it and on how good an application job you do.