Russia, Iran and Turkey have signed an agreement to create safe zones in Syria - but the chances of it succeeding already appear bleak after rebel groups stormed out of the public signing.

The pact, which will come into force on Saturday, is the latest attempt to end the six-year civil war and follows talks in Astana, Kazakhstan.

But delegates from Syrian opposition groups launched an angry protest before walking out of the signing.

"Iran is a country that is killing the Syrian people and the killer cannot be the rescuer," said rebel commander Abu Osama Golani.

The Syrian government said it would abide by the agreement but still fight "terrorism" - parlance for most rebel groups fighting government troops.

Image:The safe zone pact brokered by Russia, Iran and Turkey is signed in Astana

The US gave a very cautious welcome to the agreement.

"We continue to have concerns about the Astana agreement, including the involvement of Iran as a so-called 'guarantor'," US State Department spokeswoman Heather Nauert said.

"Iran's activities in Syria have only contributed to the violence, not stopped it, and Iran's unquestioning support for the Assad regime has perpetuated the misery of ordinary Syrians.

"We nonetheless hope that this arrangement can contribute to a de-escalation of violence, end the suffering of the Syrian people, and set the stage for a political settlement of the conflict.

"We look forward to continuing our dialogue with the Russian Federation on efforts to responsibly end the Syria conflict."

Video:Special Report: Syria's forgotten children

Full details of the proposal have not been made available, but the safe zones include the provinces of Idlib, areas north of Homs, the eastern Ghouta suburbs outside Damascus, and an area in the south of the country.

Turkey suggested the scope was much wider.

Video footage on Thursday showed the aftermath of drone attacks at a relief camp in rebel-held Idlib.

Some 400,000 have died in the conflict and half of the population has been displaced.