My dad and brothers hunted, own guns with permits, I learned how to shoot at 12, etc., so I don't have a problem with guns, per se. But I'm with you, I don't like the "shooting" at people, either.
My guy is 2.5 as well, and the last few months picked up on "shooting" at people with his fingers, hands and small branches from his 10 year old cousin. (His cousin has been diagnosed with ADHD, and his parents allow him to do a lot of things I find inappropriate, but he is theirs to discipline and train.) We told the little guy from the beginning he is not to "shoot" at anyone, only things like a tree or fence. We know he's playing but we want him to know using guns on people is a big no-no.
The first few times he "shot" at someone we said, "No, not at so and so, we don't shoot at people." When he kept it up it became a "time-out" situation. Anytime he pointed anything at someone to shoot, it was time for a time-out. Your post made me realize he hasn't been shooting at anyone for about a month now, so it worked : )
Since shooting outside isn't teaching your son to not shoot at people, tell him from now on when he does it he earns a time-out. He's young and impulsive, so it's going to take many more times than a few to get him to unlearn the behavior. Be consistent and hang in there!