summaryrefslogtreecommitdiffstats
path: root/howtos/dnsmasq.html
blob: b52c9fcf629abca5dfcc12ef8dcf38e8f5abe9e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{% meta %}
  title: Configure dnsmmasq for a small network
{% endmeta %}

{% block content %}
{% filter rst %}
configure dnsmmasq for a small network
======================================

Wer schon immer der Meinung war, daß ein BIND Nameserver für seinen kleinen Router zu Hause ein wenig dick aufgetragen ist, der sollte sich einmal mit DNSMASQ beschäftigen. DNSMASQ kann sowohl als DHCPd wie auch ans NAMEd fungieren.

Die Konfiguration ist hierbei wirklich ziehmlich einfach. Zum einen muß man lediglich das Netzwerkinterface definieren an dem dnsmasq lauschen soll. Wenn man mehrere Geräte hat, dann kann man dnsmasq auch beibringen an allen zu lauschen außer an z.B. dem externen Interface. Ferner wird der Name des Netzwerkes "lan" und der zu vergebene ip-Adressen Bereich festgelegt, wie folgendes Beispiel zeigt. Wenn die Zeile "read-ethers" so wie im Beispiel nicht auskommentiert ist, dann kann man trotz DHCP einigen Rechner auch feste IP-Adressen vergeben.

/etc/dnsmasq
::
    
    # filter what we send upstream
    domain-needed
    bogus-priv
    filterwin2k
    
    # allow /etc/hosts and dhcp lookups for local domains
    local=/lan/
    domain=lan
    
    # If you want dnsmasq to listen for requests only on specified interfaces
    # (and the loopback) give the name of the interface (eg eth0) here.
    # Repeat the line for more than one interface.
    interface=eth0
    # Or you can specify which interface _not_ to listen on
    #except-interface=
    
    # Uncomment this to enable the integrated DHCP server, you need
    # to supply the range of addresses available for lease and optionally
    # a lease time. If you have more than one network, you will need to
    # repeat this for each network on which you want to supply DHCP
    # service.
    dhcp-range=192.168.5.150,192.168.5.250,255.255.255.0,12h
    
    # If this line is uncommented, dnsmasq will read /etc/ethers and act
    # on the ethernet-address/IP pairs found there just as if they had
    # been given as --dhcp-host options. Useful if you keep
    # MAC-address/host mappings there for other purposes.
    read-ethers

In der Datei /etc/hosts werden die Rechnernamen zu den IP-Adressen hinterlegt.

/etc/hosts
::
    
    127.0.0.1 localhost
    192.168.5.1 dnsmasqhost.lan dnsmasqhost
    192.168.5.101 client1.lan client1
    192.168.5.102 client2.lan client2

Damit auch immer "die richtigen" Rechner die hiinterlegten IP-Adressen bekommen, werden diese in der Datei /etc/ethers hinterlegt. Hierbei wird immer ein Paar bestehend aus MAC-Adresse des Rechners (der Netzwerkkarte des Rechner) und dem Namen angegeben. Man kann hier auch die IP-Adresse angeben, aber wenn man die mal ändern will, dann gibt das immer zwei Stellen zubearbeiten (und eine vergisst man immer :-)

/etc/ethers
::
    
    00:0a:95:db:24:c1 client1
    00:0a:95:db:24:c2 client2

So, das war's auch schon. Ach ja, den Neustart des Dienstes (/etc/init.t/dnsmasq restart) nicht vergessen ;-)

Happy dnsmasq-ing!

Yann

{% endfilter %}
{% endblock %}