Tough one tbh... Also, I have no idea what 5 year olds are like - a while since I was one and I don't know any! But I would say definitely keep trying with the teachers, and make sure they know the actual name of the other kid, but if they've been idle for a while, then maybe having a chat with your son about hitting back in a controlled way might be the way to go...
I remember when I were a bairn there was one boy in particular who used to bully me in Year 3 (name calling and verbal abuse more than physical, but it was pretty intense), and after a while of my parents complaining and the teachers not doing much the deputy head had a chat with me and said that he'd tell us both off as the other guy had said that I'd been calling him names too (the lying scrote), and although personally he believed that I was innocent, he would tell both of us off so the other guy didn't think he was being unfair. So, he gave us both (together) a good telling off in his office (I don't think he'd had the same chat with the other boy), and after that the problem stopped. In hindsight I imagine he did this because he was under pressure from the other boy's parents, and it was a pretty clever move on his behalf!
There were other bullies at school though, and in hindsight I do wish I'd had the confidence to hit some of them - I think in some cases it would have stopped the problem. Teachers are usually slow to react at best, and totally misallocate blame at worst.