Police said the attacker Tuesday opened fire at the troops guarding the barracks, then entered the barracks and began firing inside, ITAR-Tass reported.
Investigators said the attacker was killed when he was fired on by others at the military facility.
"A contract serviceman, aged 31, opened fire with his service assault rifle at the interior troops guarding the barracks whereupon he entered the barracks and started ... shooting inside," the police officer said.
Police said the attacker was a member of Russia's Federal Security Service's guards and logistics unit assigned to the unit.
He fired at least 60 rounds, investigators said.
The injured service personnel were taken to a regional hospital.