You can check with your ISP and see if they can figure out why their DNS isn't resolving. Or, you can always change your DNS information to a free DNS server instead of using your ISP's. I had to do that with TimeWarner because they just kept having DNS problems like you describe, so I changed mine to the free Google ones and haven't had a problem since. There are many free DNS servers available if you decide to go that route.
Of course, you can just manually fill in your local host field each time you connect (or use a script to do so). It doesn't solve the problem, but it's a workaround for it. And make sure you're using the right settings in there as the wrong settings may also play a role.