Gunmen in Kenya have attacked a busy coastal town, opening fire from two minibuses.

The army said the attackers were suspected to be Islamist insurgents.

There was no immediate confirmation of casualties, but residents said the attack lasted for hours.

Kenyan army spokesman Major Emmanuel Chirchir said the gunmen entered the western town of Mpeketoni, a trading centre on the main coastal road, and started "shooting people around in town".

The town lies on the mainland 30km southwest of Lamu island, a popular tourist destination whose ancient architecture is listed as a UNESCO World Heritage site.

The shooting began around 8pm (6pm Irish time), with gunshots reported up to four hours later.

A police station, a bank and two hotels were reportedly attacked, according to residents, although officials could not confirm the extent of the attack.

No group immediately claimed responsibility, but it was the latest in a series of attacks or bombings to hit Kenya.

The attacks are usually blamed on the Shebab or their supporters in Kenya.

Kenyan troops crossed into southern Somalia in 2011 to fight the Shebab, later joining the now 22,000-strong African Union force battling the Islamists.

The Shebab vowed revenge, carrying out attacks, including one on Nairobi's Westgate mall in September 2013 in which at least 67 people were killed.