Ukraine to halt Russian gas, claims gains

Ukraine in recent days recaptured four settlements north of Kharkiv, the country's forces say. -EPA

Ukraine has prepared to suspend the flow of some Russian gas to Europe through a key transit point, as it claimed battlefield gains over invading Kremlin forces, including the recapture of four villages around the second city of Kharkiv.

Ukraine has remained a major route for Russian gas to Europe even after President Vladimir Putin ordered the February 24 invasion. Mounting Western sanctions are seeking to ban or phase out the use of Russian energy.

Blaming Moscow for the move, Ukraine's gas operator said it would redirect the gas from the Sokhranivka transit point, which is in an area occupied by Russian forces, to another in a Ukraine-controlled area.

Since Russia was forced to abandon an assault on the capital Kyiv at the end of March, its main force has been trying to encircle Ukrainian troops in the eastern Donbas region, using the city of Izyum near Kharkiv, in the country's northeast, as a base.

Ukrainian troops have mostly held out against assaults from three directions, and top US intelligence officials say the war is now at a stalemate.

Putin appeared to be preparing for a long conflict, and a Russian victory in the Ukraine's eastern Donbas region might not end the war, Director of National Intelligence Avril Haines said in Washington on Tuesday.

But the counterattack near Kharkiv could signal a new phase, with Ukraine now going on the offensive with supply lines into Russia now potentially vulnerable.

President Volodymyr Zelenskiy said the Ukrainian successes were gradually pushing Russian forces out of Kharkiv, which has been under bombardment since the war began.

"But I also want to urge all our people ... not to spread excessive emotions. We should not create an atmosphere of excessive moral pressure, where victories are expected weekly and even daily," Zelenskiy said in a video address.

In the villages of Staryi Saltiv and Vilkhivka near Kharkiv, Ukrainian servicemen gathered the bodies of Russian soldiers who were killed in the fighting, according to Reuters witnesses.

Ukrainian border guards reported Russian forces were shelling Sumy and Chernihiv regions close to the Russian border.

"Enemy aircraft twice launched non-guided missiles on border areas of Sumy. There were also two instances of mortar shelling in Chernihiv region," they said on their Telegram channel.

In the south, Ukrainian armed forces said they struck nine enemy targets, with enemy losses of 79 servicemen and 12 pieces of equipment, including armoured vehicles and howitzers.

Russian fire was concentrated on Mykolaiv region where private homes were damaged as well as farms and power lines to one town, it added

Russian forces on Tuesday again pummelled the Azovstal steelworks in Mariupol, trying to capture the last bastion of Ukrainian resistance in the ruined city where Ukraine says tens of thousands of people have died under two months of Russian siege.

Reuters was unable to independently verify the reports of fighting.

Scores of civilians have been evacuated from the steelworks in recent days, but an aide to Mariupol's mayor, Petro Andryushchenko, said at least 100 still remained inside.

The number of Ukrainians who have fled their country is approaching 6 million, according to the United Nations, which says the refugee crisis is the fastest growing since World War Two.

Russia denies targeting civilians and rejects Ukrainian and Western allegations of war crimes.

 The US House of Representatives approved more than $US40 billion ($A58 billion) more aid for Ukraine on Tuesday, as Congress races to keep military aid flowing.

The House passed the Ukraine spending bill by 368 to 57, with every no vote coming from Republicans. The measure now heads to the Senate, which is expected to act quickly.

President Joe Biden had asked Congress to approve an additional $US33 billion in aid for Ukraine two weeks ago, but lawmakers decided to increase the military and humanitarian funding.