Iraqi soldier fires on US troops, kills 2