|Right off the bat, this is a typo, so correct it. |
"It seems that with the DNS at 192.168.1.2 it can't even resolve the host, and with the DNS at 192.168.1.2 it resolves, but is still unable to reach it. "
The following is exactly what would be expected.
"Gateway = 192.168.1.2
DNS Server = 192.168.1.2
Ping request could not find host www.google.ca. Please check the name and try again.
This is expected because you use BEFSR11 (192.168.1.2) as DNS server but don't tell it where to forward DNS requests! How in the heck do you expect it to know who google.com is? It doesn't and has to be programmed who to ask. If you are going to tell the computers to use this router as DNS server, then configure it with your ISPs DNS servers IPs to forward lookup requests to.
Now about why it won't connect. *Assuming* cable is similar in this respect to ADSL - a major, but likely, assumption, you can't connect two routers to the one Internet connection. Again, I am making an assumption, but for starters how would a packet coming in from the Internet know which router was handling it? So I think the assumption is safe and you can't do this.
I think in your topology you would need *two* cable connections, but there are other ways to do this. One is to get a router that supports DMZ (if yours don't) and simply put the remote access computer(s) on it. The router should also have mapping from public to private (WAN to LAN) addresses. If it doesn't and the remote server Internet name is not critical, you could use a free dynamic DNS service to do the mapping. You would enter the IP number on their configuration interface rather than use dynamic software on the computer or router, because the IP will never change anyway. Then use port forwarding to send the http, ftp, etc. packets to the right server. I do this myself.