I've painted a number of guns.
First, the best results come with phosphating first. With Parkerizing as a base coat, the Krylon series paints work well. Without, less well.
Best paint I've ever used I make up myself.
I take hardware store oil-base tractor paint/machine paint and mix it with equal volume of TALCUM {NOT corn starch} Baby Powder and apply with brush, or, to create a disruptive random camoflage pattern, daub it on with torn balled up pieces of paper towel.
After drying, this stuff wears like iron.
To make Olive Drab, mix yellow with a drip of black. Adjust the green color it causes by increasing black. Do not use much black.
Degrease with acetone, dry throughly and apply.