I'm definitely no expert, but I would guess that your horse isn't very supple. Is he better going one direction than the other? What is the ground like the you're working on? Definitely work a flat, smooth surface. Is your horse flexible or stiff when lunging? Does his whole body strain against you or just he just pull his head around like he wants out?
I had this problem with Roxy, my horse, and something needed to be done about it because I wasn't going to go through all that strain every day. So I taught her to be flexible, supple, and to "give" her body to me as I call it. Basically, I wanted her to walk and trot in a nice, even circle around me with just a touch of slack in the rope (not enough for her to trip over it) but I didn't want it to be tight as she pulled on it either. So I started lunging her at a walk a small circle around me. When I felt that she was supple and bending towards me and not dragging me, I let her into a slightly bigger circle. If she started pulling again, we'd go back to the small circle and start over. Eventually when the circle got large enough for her to trot, I cued her to try it. It's a little harder for a horse to trot and keep their balance in a tight circle - so you want the circle to be small enough that the horse learns to bend and be more supple but not too small that it puts strain on them. So basically, I did this with Roxy and now she lunges just fine. Try smaller circles at first, and get larger as long as she doesn't start pulling on you. :))
I have no idea if this works for every horse - it worked for Roxy and maybe it'll work for your horse. Roxy is a really fast learner, so it might take a little longer for other horses to figure it out. If it doesn't seem to be helping at all, I would definitely try some other ideas.
Hope that helps a bit! :))