Italy's wealthy North has vowed to refuse to accommodate any more migrants as thousands more were rescued in the Mediterranean by a multinational flotilla of ships.

As another frantic weekend of rescues unfolded, at least 4000 people were plucked to safety from packed fishing boats and rubber dinghies off Libya.

Mass drownings in the Mediterranean have claimed nearly 1800 lives so far this year.

All of those rescued will be deposited at ports on Sicily or elsewhere in southern Italy in the coming days, lifting this year's total of new arrivals on Italian soil to more than 50,000.

The latest batch sent the migration crisis back to the top of the political agenda, with three big northern regions vowing to defy the centre-left government of Prime Minister Matteo Renzi by refusing to house any of the new arrivals.

Lombardy president Roberto Maroni said he would be writing to local mayors and prefects in his region on Monday to warn them not to accept any more "illegal immigrants" allocated by the government.

Municipalities that did not tow the line would have their funding from the region cut, he said.

Giovanni Toti, the newly-elected president of Liguria, backed that stance.

"We will not receive any more migrants," he said.

Luca Zaia, the right-wing president of Veneto, said the region that includes Venice was "like a bomb ready to go off. The social tensions are absolutely crazy".

British navy ship HMS Bulwark rescued more than 1000 migrants on Sunday from boats in waters between Italy and Libya. At least 10 pregnant women were saved.

The UN's refugee agency said up to 1500 people were adrift on 10 dinghies, but there was no confirmation of those figures from Italy's coastguard.

On Saturday, nearly 3500 migrants were rescued from 15 packed boats in waters off the Libyan coast.

The latest operations will lift the number of arrivals in Italy since the turn of the year to more than 50,000.