The best way is to look up your competitors' backlinks in Ahrefs and SEMrush and start reaching out to them. Only a small percentage will respond to you, but the numbers can easily add up and you'll have plenty of link opportunities your way.
Pro tip: Do NOT download the list of ALL backlinks. Instead, use filters like minimum 2000 monthly traffic, DR in the range of 20 to 70, etc, so that you do not waste time reaching out to dead sites or out-of-reach websites like Forbes.
The above process works very well and you'll mostly get quotes for paid guest posts.
On the other hand, if you want completely free guest posts, join some Facebook groups about SEO/Guest Posts and there you will find a lot of websites accepting free submissions (because they need some new content for their websites). However, 99% websites who openly accept free guest posts do not add much value to your site (as they are easily spammed to death)