I used wattyl Kill rust as an undercoat, then POR15 chassis paint. The POR15 is great stuff, might be expensive, but so far its dealt with stones, mud and branches, and also the jet washer to clean the undersides regularly. Still as good as the day it was painted - over a year ago now. Once the chassis was done, I sprayed a few cans of fish oil through all the drain holes to keep the internals good as well.
To clean up the chassis I used a mixture of wire brush, grinder with a sanding flapper disk, grinder with a rust removing wheel, and a few cans of degreaser, which is a good idea to use just before painting.