T-Mobile Hotspot and OpenDNS – They Hate Each Other (And how to mend the relationship)

Whenever I go to Starbucks to work, I connect to T-Mobile hotspot, since it is included with my phone plan. Cool right? Well, not really. At home I have Comcast, whose DNS really really sucks. So I used OpenDNS, which rocks, and never has issues.

Thing is, because T-Mobile hotspot uses DNS to verify you and make you login through their “intranet” page, you can’t use OpenDNS, so I have to go switch my DNS Settings every time I want to connect, that is no good, gotta be an easier way right? Oh there is…dug into “netsh” (I tested this on Windows Vista)

Create two batch files:


Set DNS Dynamic.bat

netsh interface ip set dns “Wireless Network Connection” dhcp

and then…


Set DNS OpenDNS.bat

netsh interface ip set dns “Wireless Network Connection” static
netsh interface ip add dns “Wireless Network Connection” index=2


this assumes that your wifi connection in your network connection is named “Wireless Network Connection”. Run the Set DNS Dynamic when you are at Starbucks, run the other one when you get home. Easy!

I find this really helpful because in Vista, to get to your network properties for TCP/IP is like 18 steps/clicks, which is really a debacle when you just want to get on the Internet at a coffee shop!

  • http://david.ulevitch.com/ David Ulevitch

    Brilliant! I’ve been looking for a tool like netsh for windows XP/Vista for a while now. Thanks a ton!

    -david (from OpenDNS)

  • Todd

    Something else you could do is determine the IP address of the login page and then bookmark just the IP address.

    You will get the error that the SSL cert does not match the URL but that’s ok, right. :)

  • http://www.BryanGriffith.com Bryan

    1) I have to run the script as Administrator
    2) I needed to use the following changes (“netsh interface ipv4″)
    —- Set DHCP.bat —-
    netsh interface ipv4 set dnsserver “Wireless Network Connection” source=dhcp

    —- Set OpenDNS.bat —-
    netsh interface ipv4 set dnsserver “Wireless Network Connection” source=static
    netsh interface ipv4 add dnsserver “Wireless Network Connection” index=2