The 39-year-old, who played 73 times for his country, claims the Football Association and the majority of fans do not want a black England captain.
Campbell, who three times captained England in friendly matches, also labelled the appointment of Michael Owen as skipper ahead of him as "embarrassing".
In a new authorised biography serialised in the Sunday Times, Campbell said: "I believe if I was white, I would have been England captain for more than 10 years - it's as simple as that.
"I think the FA wished I was white. I had the credibility, performance-wise to be captain.
"I was consistently in the heart of the defence and I was a club captain early in my career.
"I don't think it will change because they don't want it to and probably the majority of fans don't want it either.
"It's alright to have black captains and mixed race in the under-18s and under-21s but not for the full national side. There is a ceiling and although no one has ever said it, I believe it's made of glass."
On the appointment of Owen, who wore the armband on eight occasions, he added: "I think the FA didn't want me to have a voice. Owen was a fantastic forward but nowhere near being a captain.
"It was embarrassing.
"I've asked myself many times why I wasn't. I keep coming up with the same answer. It was the colour of my skin."
It is understood the FA is not planning to respond directly to the allegations.
Former FA executive director David Davies, who was at the organisation when Campbell was a player, said he was "surprised" by the former defender's allegations and believed they were "wrong".
"I am surprised by this because the reality is that in my time the managers selected the captain," he told BBC Radio Five Live's Sportsweek programme.
"I never - and to my knowledge nobody else in the FA - ever sought to influence them.
"My belief is (the allegations) are wrong. I also have to say I am quite proud, along with a number of people of that era, of setting up (anti-discrimination campaign group) Kick It Out in football. Progress was made, I would love to talk to Sol about this story and this concern and this upset he has about why he wasn't the England captain.
"He clearly is upset about that time and he feels that perhaps he should have been, he would believe, more seriously considered as the England captain."
Sven-Goran Eriksson was the England manager Davies worked with most during his time in charge of the FA.
Asked if the Swede had ever consulted him on who should be captain, Davies added: "I have no recollection of that whatsoever."
He added: "Sometimes I might have been surprised who was made the captain on particular days. I wasn't surprised when Tony Adams was made the captain by Terry Venables. I wasn't surprised when David Beckham was made the captain by Peter Taylor and then confirmed by Sven."