It sounds to me like he doesn't respect you. A horse I used to work with was dominate in his herd and would constantly try to 'herd' me in the direction that he wanted to go, not where I wanted to go. It was very annoying. Before you can do anything more with him, you have to make him understand that its work time, and you are the alpha. I'd suggest lunging him a bit, if he knows how. Also try playing the yo-yo game from parelli with him. I tried that with the horse I mentioned above and he learned to respect my space and my commands.
You may also want to try going back to the very basics of leading. He may be old, but treating him as though he is a foal who knows nothing may be of value to you. Halter him and use a lung whip or a dressage whip, whichever you prefer. My own personal method is to not use it as punishment or pain, but rather to give direction to the horse. Ask him to walk and move forward away from the pressure when he moves forward the pressure should automatically disappear. If he doesn't move, wave the whip at his side or behind him if possible. Consider the movement like a horse's tail. If you've ever seen two horses who don't like each other, they'll pin their ears and swish their tails at one another. That's what you are trying to establish with him.
When he rushes forward, wave it in front of him while pulling back somewhat sharply on the lead. A stud chain may be useful to you.
Most of all, I think, you need to gain his trust and respect. Make the right thing comfortable and the wrong thing uncomfortable.
~He knows when you're happy
~He knows when you're comfortable
~And he always knows when you have carrots.