If you traceroute stop on the first hop that does not necessarily mean that packet also stops there. Traceroute is UDP and rely on ICMP unreachable's sent from each hop. If UDP is blocked or no ip unreachables configured on the further hop - then you will not see any traceroute reply. SO this is not reliable test.
So you have your DNS resolved - good. Now keep in mind that connection to Internet is not only traffic forwarded to Internet but also traffic being sent from Internet to your source address and you need to check that both flows are working.
First check the forward traffic - see if your router has a correct route/default route to Internet ip address. Then make sure you have correct NAT on your router.
Basically you can configure router to do Policy Based Routing - to send particular traffic to the next hop which you explicitly specify - in that way outer will not rely on it's routing table. But this will depend on the router model.
Configs and show commands may help to look at your problem deeper.