The proper way to launder linens is to hand wash them. On the most delicate pieces consider using something like Linen Wash, a lovely non-detergent liquid soap made especially for vintage, antique and delicate textiles. On more robust linens consider useing Oxy Clean, followed by a normal laundry soap. For rust stains, try Whink Rust Stain Remover but don't leave it on too long. This is strong stuff. Just a drop or two will make most rust spots vanish before your eyes. Read the label carefully before using it. It works great! It also helps remove blood stains and anything else with a high iron content.
I prefer to use the washing machine on a delicate setting using cold water. Hot water releases impurities in the pipes, so if you have an old house you will find more rust spots on your whites after the wash than before if you wash them on "hot" unless you have a filter. I have found with Oxy Clean that hot water is the key so I heat my water in the microwave in a huge plastic bowl (only practical for pre soak in small batches). The trick with the washing machine is to make sure you use enough water. If you overload, things won't get as clean and they will come out terribly wrinkled.
I almost never use chlorine bleach. It's just too harsh. On the rare occasion that I do I rinse twice (using the washing machine) and on the 1st of the two rinses I pour in a 1/2 cup of vinegar to neutralize the bleach.