Go with a true Red Oxide primer, nothing works better, that is why all commercial metalwork, from construction to ship building use it. Rustoleum makes one (not available in spray cans), but it is overpriced. Go to any paint store, they should have it available. Another option would be to let it rust slightly then use Duro Extend or some other rust catalyst, it uses a chemical reaction to turn the rust into a sealed primer.