DNSMasq als DHCP Server

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 18:42, 11 December 2005 (edit)
150.216.151.201 (Talk)
(rvv)
← Previous diff
Current revision (07:34, 13 May 2010) (edit) (undo)
Glenn (Talk | contribs)
(+{{Languages|DNSMasq as DHCP server}})
 
(7 intermediate revisions not shown.)
Line 1: Line 1:
 +{{Languages|DNSMasq as DHCP server}}
DD-WRT bringt als lokalen DNS-Server "DNSMasq" mit und verwendet für den DHCP-Dienst zusätzlich "udhcpd". Dies bringt eine Verschwendung vom RAM mit sich - der Router hat ja nur 16MB und davon etwa 3MB frei. Da DNSMasq einen eingebauten DHCP-Server hat, lässt sich so Speicher im Umfang von etwa 300kb sparen, wenn dafür udhcpd abschaltet. 300kb sind nicht viel, wird jetzt der eine oder andere sagen und an seinen mit einem Gigabyte bestückten Desktop-Rechner denken. Auf der Router ist das jedoch sehr viel, denn durch diese Ersparnis kann man genau einen PPTP Tunnel mehr mit dem eingebauten PPTPD-Server betreiben. Wie kann man also den DNSMasq dazu bringen IP-Adressen im LAN zu verteilen? Hierfür sind mehrere Schritte notwendig: DD-WRT bringt als lokalen DNS-Server "DNSMasq" mit und verwendet für den DHCP-Dienst zusätzlich "udhcpd". Dies bringt eine Verschwendung vom RAM mit sich - der Router hat ja nur 16MB und davon etwa 3MB frei. Da DNSMasq einen eingebauten DHCP-Server hat, lässt sich so Speicher im Umfang von etwa 300kb sparen, wenn dafür udhcpd abschaltet. 300kb sind nicht viel, wird jetzt der eine oder andere sagen und an seinen mit einem Gigabyte bestückten Desktop-Rechner denken. Auf der Router ist das jedoch sehr viel, denn durch diese Ersparnis kann man genau einen PPTP Tunnel mehr mit dem eingebauten PPTPD-Server betreiben. Wie kann man also den DNSMasq dazu bringen IP-Adressen im LAN zu verteilen? Hierfür sind mehrere Schritte notwendig:
Line 9: Line 10:
Damit wird mitgeteilt, aus welchem Bereich IP-Adressen zu vergeben sind. Damit wird mitgeteilt, aus welchem Bereich IP-Adressen zu vergeben sind.
 +
3. Wenn man statische Hosts im LAN hat, Computer also, welche immer die gleiche IP zugewiesen bekommen, ergänzt man die Optionen um: 3. Wenn man statische Hosts im LAN hat, Computer also, welche immer die gleiche IP zugewiesen bekommen, ergänzt man die Optionen um:
Line 14: Line 16:
-Wobei mit AB:CD:EF:11:22:33 die MAC der Netzwerkkarte, 192.168.0.10 die gewünschte IP, host und host.domain die Hostbezeichnung (z.B. Computer1.lan) angeben wird und schlie?lich mit 12h die DHCP-Release auf 12 Studen setzt.+Wobei mit AB:CD:EF:11:22:33 die MAC der Netzwerkkarte, 192.168.0.10 die gewünschte IP, host und host.domain die Hostbezeichnung (z.B. Computer1.lan) angeben wird und schliesslich mit 12h die DHCP-Release auf 12 Stunden setzt.
-Hat man nun einige Geräte und/oder Computer im LAN, welche keine IP vom DHCP zugewiesen bekommen, weil diese fest eingestellt ist, und will, dass der DNS-Dienst ihre Namen auflösen kann, fügt man noch die Zeilen an:+Hat man nun einige Geräte und/oder Computer im LAN, welche keine IP vom DHCP zugewiesen bekommen, weil diese fest eingestellt ist, und will, dass der DNS-Dienst ihre Namen auflösen kann, fügt man noch folgende Zeilen an:
no-hosts no-hosts
addn-hosts=/tmp/hosts addn-hosts=/tmp/hosts
-Jetzt ist natürlich klar, dass man diese Computer in der /tmp/hosts eintragen mu?:+Jetzt ist natürlich klar, dass man diese Computer in der /tmp/hosts eintragen muss, undzwar wie folgt:
192.168.0.5 drucker drucker.lan 192.168.0.5 drucker drucker.lan
 +Wenn man das ganze nun beim Boot automatisch erledigt haben will macht man am einfachsten unter Administration -> Commands ->
 + echo "192.168.1.23 sbs.domain.de" >> /etc/hosts
 + stopservice dnsmasq
 + startservice dnsmasq
 +
 +-> Save as startup
 +
 +man muss dann aber aufpassen wenn man viel am router rumspielt, vor allem an den startup eintraegen, dann wird die datei schnell vollgemuellt da die zeile jedesmal hinzugefuegt wird.
 +Alternativ schreibt man also die ganze hosts neu:
 +
 + echo -e "127.0.0.1\tlocalhost" > /etc/hosts
 + echo -ne `nvram get lan_ipaddr` >> /etc/hosts
 + echo -e "\t"`nvram get router_name` >> /etc/hosts
 + echo -e "192.168.1.23\tsbs.domain.de" >> /etc/hosts
 + stopservice dnsmasq
 + startservice dnsmasq
 +
 +bezueglich beim Boot ausführen siehe Forum: http://www.dd-wrt.com/phpBB2/viewtopic.php?p=189535#189535
Das ist eigentlich schon alles. Die Ersparnis ergibt sich nur dann, wenn man sowohl den eingebauten DNS (nämlich DNSMasq) als auch den DHCP-Server des WRT54G nutzen will. Und verwenden lässt sich das alles nur, wenn man eine alternative Firmware installiert hat (dieses Risiko überlasse ich jedem selbst). Wie immer gilt auch hier: es wird keine Garantie übernommen für in Folge der Anleitung entstandene Schäden! Das ist eigentlich schon alles. Die Ersparnis ergibt sich nur dann, wenn man sowohl den eingebauten DNS (nämlich DNSMasq) als auch den DHCP-Server des WRT54G nutzen will. Und verwenden lässt sich das alles nur, wenn man eine alternative Firmware installiert hat (dieses Risiko überlasse ich jedem selbst). Wie immer gilt auch hier: es wird keine Garantie übernommen für in Folge der Anleitung entstandene Schäden!
Original: http://blog.ptch.de/index.php?/archives/33-WRT54G-DNSMasq-als-DHCPD.html Original: http://blog.ptch.de/index.php?/archives/33-WRT54G-DNSMasq-als-DHCPD.html
 +
 +
 +[[Category:Deutsche Dokumentation]]

Current revision

DD-WRT bringt als lokalen DNS-Server "DNSMasq" mit und verwendet für den DHCP-Dienst zusätzlich "udhcpd". Dies bringt eine Verschwendung vom RAM mit sich - der Router hat ja nur 16MB und davon etwa 3MB frei. Da DNSMasq einen eingebauten DHCP-Server hat, lässt sich so Speicher im Umfang von etwa 300kb sparen, wenn dafür udhcpd abschaltet. 300kb sind nicht viel, wird jetzt der eine oder andere sagen und an seinen mit einem Gigabyte bestückten Desktop-Rechner denken. Auf der Router ist das jedoch sehr viel, denn durch diese Ersparnis kann man genau einen PPTP Tunnel mehr mit dem eingebauten PPTPD-Server betreiben. Wie kann man also den DNSMasq dazu bringen IP-Adressen im LAN zu verteilen? Hierfür sind mehrere Schritte notwendig:

1. Man deaktiviere den DHCPD-Dienst auf der "Setup" Seite.

2. Man fügt den Optionen des DNSMasq unter "Administration" einige Zeilen zu (natürlich muss dieser auch aktivert sein):

   dhcp-range=192.168.0.100,192.168.0.150,255.255.255.0,12h


Damit wird mitgeteilt, aus welchem Bereich IP-Adressen zu vergeben sind.

3. Wenn man statische Hosts im LAN hat, Computer also, welche immer die gleiche IP zugewiesen bekommen, ergänzt man die Optionen um:

   dhcp-host=AB:CD:EF:11:22:33,192.168.0.10,host,host.domain,12h 


Wobei mit AB:CD:EF:11:22:33 die MAC der Netzwerkkarte, 192.168.0.10 die gewünschte IP, host und host.domain die Hostbezeichnung (z.B. Computer1.lan) angeben wird und schliesslich mit 12h die DHCP-Release auf 12 Stunden setzt.

Hat man nun einige Geräte und/oder Computer im LAN, welche keine IP vom DHCP zugewiesen bekommen, weil diese fest eingestellt ist, und will, dass der DNS-Dienst ihre Namen auflösen kann, fügt man noch folgende Zeilen an:

   no-hosts
   addn-hosts=/tmp/hosts

Jetzt ist natürlich klar, dass man diese Computer in der /tmp/hosts eintragen muss, undzwar wie folgt:

   192.168.0.5 drucker drucker.lan

Wenn man das ganze nun beim Boot automatisch erledigt haben will macht man am einfachsten unter Administration -> Commands ->

   echo "192.168.1.23    sbs.domain.de" >> /etc/hosts 
   stopservice dnsmasq
   startservice dnsmasq

-> Save as startup

man muss dann aber aufpassen wenn man viel am router rumspielt, vor allem an den startup eintraegen, dann wird die datei schnell vollgemuellt da die zeile jedesmal hinzugefuegt wird. Alternativ schreibt man also die ganze hosts neu:

   echo -e "127.0.0.1\tlocalhost" > /etc/hosts 
   echo -ne `nvram get lan_ipaddr` >> /etc/hosts 
   echo -e "\t"`nvram get router_name` >> /etc/hosts 
   echo -e "192.168.1.23\tsbs.domain.de" >> /etc/hosts 
   stopservice dnsmasq 
   startservice dnsmasq

bezueglich beim Boot ausführen siehe Forum: http://www.dd-wrt.com/phpBB2/viewtopic.php?p=189535#189535

Das ist eigentlich schon alles. Die Ersparnis ergibt sich nur dann, wenn man sowohl den eingebauten DNS (nämlich DNSMasq) als auch den DHCP-Server des WRT54G nutzen will. Und verwenden lässt sich das alles nur, wenn man eine alternative Firmware installiert hat (dieses Risiko überlasse ich jedem selbst). Wie immer gilt auch hier: es wird keine Garantie übernommen für in Folge der Anleitung entstandene Schäden!

Original: http://blog.ptch.de/index.php?/archives/33-WRT54G-DNSMasq-als-DHCPD.html