Thursday, April 15, 2010

DSL-2740B: DNS via DHCP doesn't work

I recently bought a D-Link DSL-2740B ADSL2+ router to replace my half-broken DSL-G624T. It looks like a good router and access point; it implements the 802.11n wireless protocol.

However there's a remarcable bug in the DSL-2740B regarding DHCP and DNS. When you configure the router to deliver IP addresses via DHCP (I'd say that's the most typical case), it fails to deliver the DNS server you configured in the router. Instead, it will deliver the router's own IP address, no matter how hard you try.

This would be sorta OK if at least the router relayed DNS queries to your configured DNS server. But it doesn't.

I tried the latest firmware and as of this writing the bug is still not fixed. So what's the solution? Well, quite regretfully, there isn't any. You basically have three options:

1. Manually configure your clients to use the DNS server of your choice (and eventually a static IP address). This is the most straightforward solution but it completely defeats the purpose of DHCP, and it plainly sucks when you've got windows clients or mobile phones connecting to your wireless network.

2. Let someone else be the DHCP server. You can use another router or access point, or even a home server, like I do. This solves the problem since you can configure the DSL-2740B to relay DHCP queries to different server than himself (and luckily it does it well!).

3. Buy yourself a new router. Because quite frankly, this model has been around for more than a year, there've been several firmware revisions by D-Link and none of them fixes the issue. I wouldn't count on them fixing it. So if you need full DHCP support and do not like or cannot afford any of the two previous solutions, I'd directly recommend you to exchange your router for a different one.

Another thing I don't understand about this router is D-Link are selling it as a 300Mbps Wi-Fi access point. But the ethernet ports are fast ethernet and not gigabit ethernet. That means it can only deliver 100Mbps to the wired network. So what's the point of having a 300Mbps acces point? Does D-Link assume all my clients are wireless? Then why do they include ethernet ports at all?

There are two things I like about this router in comparison with the DSL-G624T, though:

1. It is easier to configure port-forwarding rules. You just tell it the ports you want to forward and the IP address to which you want to forward the packets. No more dealing with "user rules" and absurd settings. Plus, it tells you how many forwarding rules are available.

2. It does local loopback! Simply put, that means if you access your device using its external IP address instead of the local one, it will act as if you were accessing your network from outside instead of showing you the router's admin web page. While that may not seem important, it is crucial if you run a home server because it saves you from having two virtual hosts for everything: one for accessing services from within the network and one for accessing them from outside.

I hope this helps!

10 comments:

  1. Thanks,
    This confirms the problem I had while first time configuring the device ...
    Needless to test the firmware then.
    Greetings,
    Jan.

    ReplyDelete
  2. I have the same problem. Can this really be true? Sounds crazy. All "normal" people out there could hardly handle these kind of issues. Is it only for certain lemons?

    ReplyDelete
  3. Same problem here, can't believe it.

    ReplyDelete
  4. Why thank you this helped a lot, I didn't even consider configuring the clients manually... But it makes so much sence :-D. Kinda awkward to not have DHCP work for when people come over with a lappy, but oh. No more d-links for me though...

    ReplyDelete
  5. Thank you very much. I am facing the same problem.

    ReplyDelete
  6. Same problem here too.FUuuuuu

    D-link never again

    ReplyDelete
  7. Same problem here I think. Straight IP addresses work, but not domain name addresses..

    ReplyDelete
  8. Damn, I also have this DNS problem.... It's incredible, it would be really a great router without this software problem!!!

    ReplyDelete
  9. I stumbled upon this problem only after changing the Internet mode from DSL to Cable. I had some strange problems with the D-Link in the past already, but I'm not really sure if they were cause by DNS. E.g., I've definitely *not* changed the dns config of my Android phone when connecting by WLAN (DSL-mode), and it *worked* flawlessy. Now I had to change to Cable-Mode, and I'm facing the described problem.

    So, either this is completely strange and flaky, or the problem just occurs when having a cable modem connect to the D-Link over one of the Ethernet ports?

    ReplyDelete
  10. Same here... Another workaround is to set the Google DNS servers (8.8.8.8 and 8.8.4.4) in the router settings. But then for some reason every few days I have to reboot the router because he 'forgets' them...

    ReplyDelete