A Russian missile has hit a clinic in the eastern Ukrainian city of Dnipro, killing at least two people and wounding 30 in an attack that President Volodymyr Zelensky described as a crime against humanity.

Video footage showed a devastated building with smoke pouring out of it and rescue workers looking on.

Much of the upper floor of what appeared to be a three-storey building had been badly damaged.

"Another (Russian) missile attack, another crime against humanity," President Zelensky wrote on Twitter, describing the damage to a psychological clinic and a veterinary clinic in Dnipro.

"Only an evil state can fight against clinics. There can be no military purpose in this. It is pure Russian terror."

The Ukrainian Defence Ministry called it a serious war crime

Regional governor Serhiy Lysak said a 69-year-old man had been killed, adding: "He was just passing by when the Russian terrorists' rocket hit the city."

The governor said another man's body had been pulled out of the rubble.

He said 30 people had been wounded, including two children, and contact had not yet been made with three people thought to have been in the building when it was hit.

The Ukrainian Defence Ministry called it a serious war crime under the Geneva Conventions, which set out how soldiers and civilians should be treated in war.

Russia did not immediately comment on the events in Dnipro, a large city that has frequently come under fire since Moscow began its full-scale invasion 15 months ago.

Moscow has dismissed allegations that its soldiers have committed war crimes and denies deliberately targeting civilians although its air strikes have often hit civilian infrastructure including residential buildings and medical facilities.

Moscow said earlier that Ukraine had struck two regions in southern Russia with a rocket and a drone, but the missile was shot down by its air defences.

Fire fighters try to bring the blaze under control

Ukraine said its air defences had shot down ten missiles and more than 20 drones launched by Russia in overnight attacks on Dnipro, the capital Kyiv and eastern regions.

President Zelensky's office said a fire had broken out on the outskirts of the northeastern city of Kharkiv after an oil depot was hit twice, and that equipment for pumping oil products had been damaged.

After months of attacks on energy infrastructure, Russia has shifted the focus of its missile strikes to try to disrupt preparations for a Ukrainian counterattack, a senior military intelligence official said last week.

Attacks were increasingly targeting military facilities and supplies, he said.