The striker, 26, capped four times by Holland, is back in English football after spells in Belgium, the USA, Azerbaijan and Iran.
John's last appearance for Fulham was against Tottenham in 2007.
He told Barnet's official website: "I am happy to be back in England. I enjoyed my time at Fulham and now I am older, more experienced and excited to be playing in the English league.
"I was offered the chance to play for Barnet and I just grabbed the opportunity, especially as I love the style of English football which I have missed. It saddens me to see the league position my new club is in. However, that boosts me even further to help them move up."
Bees manager Mark Robson said: "Naturally I am delighted that a player of Collins John's ability has signed for the club and he is back in the English game where he made his name."