If you're wearing a linen dress shirt and aren't sure if you need something under it, you have a few options.  You can go without the undershirt, which may be permissible if you don't sweat a lot.  But it's not the best course of action, as the linen is probably somewhat transparent.
A better choice is to wear an undershirt that is neutral in color (a hue that is similar to your skin color).  Popular neutral selections include beige, tan, and leather gray.
Another possibility is to wear an undershirt in a color that contrasts with your linen dress shirt.  One way to do this is to wear a color that's the same hue as your pants.  This achieves what some call a "stylistic" effect.