How do I make reverse tethering work? I've been trying this for a couple of days and I've to say it's not getting any better. I've tried stuffs from here and here, but unfortunately none helped.

So if there is any alternative solution to use internet on my phone from my laptop please do humor me. 


  Please do not suggest opening a hotspot from my laptop as my hardware doesn't support the hostednetwork capabilities.


Note : I'm running lollipop.
Check out Gnirehtet from Genymotion. It's the most simple solution I've come across.  There's no root required. The only requirements are that you should have Java 8 and recent version of adb configured.

Root: Not required

OS: Linux, Mac, Windows

Android device : Android 5.0+ [API 21] 

Steps


Download the latest version of gnirehtet from this link.
Extract the zip
Connect the phone to computer with usb debugging enabled
Run ./gnirehtet rt
Accept the VPN request on phone and enjoy.
To stop, Ctrl+C 




References:


https://github.com/Genymobile/gnirehtet
http://openjdk.java.net/install/index.html