Menu

#58 DHCP with local DNS also gives WAN DNS servers

open
nobody
None
5
2005-03-13
2005-03-13
Anonymous
No

I installed 2.02.2.6.tpr 02/10/2004 on my WRT54G
because of the very important missing issues in the
original firmware: static DHCP adresses and a local
DNS for this adresses.

This works great but I have the following problem:
udhcpd.conf contains not only the local dns (the lan ip
adress) but also the two public WAN dns servers.
Win2k uses all three adresses for resolution in
unexspected order. So sometimes local names get
resolved (when the local dns is used) sometimes not
(public wan servers). This is really annoying.

To fix this you should change start_dhcpd() in services.c
to give only the lan ip adress as "dns option" when local
dns is enabled (the if clause is there...).

I solved the problem for myself by the following:
* open the cramfs image with your windows tool
* rename /usr/sbin/udhcpd to udhcpd.orig
* put the following shell script in /usr/sbin/udhcpd:

#!/bin/sh
mv $1 $1.orig
grep -v "option dns" $1.orig >$1
rm $1.orig
echo "option dns "`nvram get lan_ipaddr` >>$1
exec /usr/sbin/udhcpd.orig $1

After that everything worked like exspected.

I like your work: Its close to the original but has all
important features. Only one thing: busybox should have
df, mount, umount (for some ramfs magic)

Discussion


Log in to post a comment.