I've been having an intermittent issue recently on my MacBook Pro: every so often, I'll start getting bad DNS results. For example: I type in facebook.com, and another website loads up instead of Facebook. If I clear the DNS cache with dscacheutil -flushcache, the problem is instantly fixed, but that doesn't stop it from happening again, of course. This happens with OpenDNS, Google's DNS, and my ISP's DNS, so it's definitely not the DNS server. I am at a loss trying to figure out what might be happening. Any ideas?
The question remains unsolved of where do these bad DNS entries come from in the first place. If this was not a Mac, I would have advised a virus scan. But in any case, I would check any extensions currently installed in your browser, or try Safe mode (without extensions), or try another browser.
Another possibility might be that your router is caching the bad DNS. Check if there is any setting for turning this off, or a firmware update. It might also help to know which model is the router and its firmware version.
This blog could also maybe be of help : Clear DNS Cache on your router.
With your router's exact make, I was able to find WRT160N V3 has serious DNS issues.
I agree with Answer 1. The sites you are getting re-directed to - are they normal sites ? or site such as porn gambling pills etc ?
Have you used nslookup or digg before and after the DNS cache flush ? Does the command line lookup match the browser lookup ? if not then it sounds like something maybe manipulating your browser.