You'll need to Ki k to get him going forward, if that doesn't work, crank his head to the side as far as you can get it( to your knee if possible) they can't buck if they can't get their head down. Not hard anyways.
I'd try doing some ground work and building respect for each gait/pace on the ground first. Really helped my gelding.
Also you want to make sure that he doesn't have back issues. If he has a longer back, it may be painful for him to canter.
Bucking is a form of the horse not going forward so an effective way to stop it is to put a ton of leg on when the horse tries to buck and drive him forward. You need a pretty good seat to be able to do this on a bucking horse. I've also taught horses to disengage the hindquarters when you pull their to the side.
There are a lot of reasons why the horse will buck. He could be excited, could be sore, could be concerned about the thing on his back (you) unbalancing him when you gallop. If he's old he should be well schooled enough to deal with that but hard to know that without knowing him.
Whenever he does this you need to push him forward until he stops, so he learns he can only push energy forward. Then bring him back to the trot, and ask again for the canter, pushing him through any bucks.