Iran vows to fight