Core Issue
The most common reason for this problem is forgetting to configure the Network Address Translation (NAT) with the overload keyword.
Resolution
If you only have one routable address for your internal network to translate to, configure NAT to overload that address, as demonstrated in the following sample command:
ip nat inside source list 1 serial 0 overload