ubuntuusers.de

DNSMasq + IPv6

Status: Ungelöst | Ubuntu-Version: Server 10.04 (Lucid Lynx)
Antworten |

frank-w

Anmeldungsdatum:
30. September 2008

Beiträge: 419

Hallo,

nachdem das IPv6-Routing prinzipell funktioniert wollte ich mich mal an die Autoconfiguration machen. Für IPv4 habe ich den DNSmasq-Daemon dafür, und der ist meines Wissens nach auch IPv6-fähig.

kann man beim dnsmasq (bzw. einer IPv6-Variante) auch anhand der MAC-Adresse bestimmte IPv6-Adressen zuweisen?

bei IPv4 mache ich das ja mittels

dhcp-host=00:24:2c:4c:e5:23,frank-netbook,192.168.1.22,12h

dann müsste ich die Clients schonmal nicht mehr manuell einrichten

ich habe da zwar http://comments.gmane.org/gmane.network.dns.dnsmasq.general/6652 gefunden, aber das ID-Feld ist mir nicht ganz klar...möchte es ja gerne mit der MAC-Adresse machen, da ich die für v4 schon von allen clients in der Liste habe

nbkr

Avatar von nbkr

Anmeldungsdatum:
29. Oktober 2007

Beiträge: 1936

Wohnort: Aschaffenburg

Bei IPv6 brauchst du keine IP Adressen zuweisen. Sofern der Router das Präfix verteilt, konfigurieren sich die Clients selbst eine passende IPv6 Adresse - die entspricht in etwas Präfix + Macadresse. Zur Verteilung des Präfix kannst du das Programm "radvd" nutzen.

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

Danke für die Antwort,ich möchte aber gerne in meinem LAN "kurze" und "strukturierte" Adressen haben um auch einfacher auf die Clients zugreifen zu können (u.a. mit vnc). Bei meiner manuellen Konfiguration habe ich Adressen wie fd00:1::21...mit einem öffentlichen Präfix werden die natürlich länger, aber die hintersten 64bit kann ich beeinflussen. Deswegen möchte ungern den Weg mit den aus der MAC generierten Adressen gehen und hoffe,dass es auch irgendwie so geht,wie ich es unter v4 mache.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14388

frank-w schrieb:

... und hoffe,dass es auch irgendwie so geht,wie ich es unter v4 mache.

Lt. manpage sollt es auch so möglich sein. Z. B.:

A single dhcp-host may contain an IPv4 address or an IPv6 address, or both. IPv6 addresses
must be bracketed by square brackets thus: --dhcp-host=laptop,[1234::56] IPv6 addresses
may contain only the host-identifier part: --dhcp-host=laptop,[::56] in which case they
act as wildcards in constructed dhcp ranges, with the appropriate network part inserted.
Note that in IPv6 DHCP, the hardware address may not be available, though it normally is
for direct-connected clients, or clients using DHCP relays which support RFC 6939.

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

Das hatte ich auch gesehen. Nur bei den Beispielen erkenne ich nicht,woran er die clients erkennt. manchmal findet man eine id,steht nur nirgends,wo man die herbekommt bzw. wie sich diese berechnet.

außerdem sind das cli-optionen...ich setze die werte über die conf-datei und die mischkonfiguration von v4 und v6 habe ich auch noch nicht gefunden. Ich hatte die v6-adresse einfach in meine Zeile oben eingefügt (mit komma,direkt nach der v4 und eckigen klammern) hat aber nicht funktioniert. Vielleicht muss ich da aber auch das ipv6-dhcp erst aktivieren...generell wird es (ipb6-stack) geladen laut log

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14388

frank-w schrieb:

Das hatte ich auch gesehen. Nur bei den Beispielen erkenne ich nicht,woran er die clients erkennt. manchmal findet man eine id,steht nur nirgends,wo man die herbekommt bzw. wie sich diese berechnet.

Evtl. über den Namen:

--dhcp-host=laptop,[1234::56]

frank-w schrieb:

außerdem sind das cli-optionen...ich setze die werte über die conf-datei und die mischkonfiguration von v4 und v6 habe ich auch noch nicht gefunden. Ich hatte die v6-adresse einfach in meine Zeile oben eingefügt (mit komma,direkt nach der v4 und eckigen klammern) hat aber nicht funktioniert.

Wenn es keine Möglichkeit gibt, die Werte über die conf-Datei zu setzen, dann kannst Du im Start-Stop-Script auch die cli-Optionen benutzen.

frank-w schrieb:

Vielleicht muss ich da aber auch das ipv6-dhcp erst aktivieren...generell wird es (ipb6-stack) geladen laut log

Evtl. im binary nachschauen. Z. B.:

:~$ strings $(which dnsmasq) | grep -i ipv6
NXDOMAIN-IPv6
NODATA-IPv6
no-IPv6 GNU-getopt DBus no-i18n IDN no-DHCP no-TFTP conntrack ipset auth
attempt to set an IPv6 server address via DBus - no IPv6 support

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

strings $(which dnsmasq) | grep -i ipv6
NXDOMAIN-IPv6
NODATA-IPv6
failed to set IPV6 options on listening socket: %s
IPv6 GNU-getopt DBus I18N DHCP TFTP

nur mit strings auf evtl. vorhandene Optionen oder Fehler zu schließen, erscheint mir sehr fragwürdig, da ja nur die Stringressourcen der Binary ausgelesen werden...(strings - print the strings of printable characters in files.)

zu der log...das steht in der syslog, wenn ich den dienst neu starte:

Dec 28 17:48:47 media dnsmasq[973]: started, version 2.52 cachesize 150
Dec 28 17:48:47 media dnsmasq[973]: compile time options: IPv6 GNU-getopt DBus I18N DHCP TFTP
Dec 28 17:48:47 media dnsmasq-dhcp[973]: DHCP, IP range 192.168.0.100 -- 192.168.0.150, lease time 2d
Dec 28 17:48:47 media dnsmasq-dhcp[973]: DHCP, IP range 192.168.1.100 -- 192.168.1.150, lease time 2d
Dec 28 17:48:47 media dnsmasq[973]: reading /etc/resolv.conf
Dec 28 17:48:47 media dnsmasq[973]: using nameserver 217.237.151.115#53
Dec 28 17:48:47 media dnsmasq[973]: using nameserver 217.237.148.102#53
Dec 28 17:48:47 media dnsmasq[973]: read /etc/hosts - 9 addresses

prinzipiell scheint IPv6 ja vorhanden zu sein. ich habe jetzt mal die "log-dhcp"-option aktiviert... muss man evtl. bei dhcp-range oder dhcp-option etwas ipv6-mäßiges aktivieren? aktuell sieht es so aus:

#dhcp-authoritative
dhcp-range=wlan0,192.168.1.100,192.168.1.150,255.255.255.0,48h
dhcp-option=wlan0,3,192.168.1.1
dhcp-range=eth0,192.168.0.100,192.168.0.150,255.255.255.0,48h
dhcp-option=eth0,3,192.168.0.1

jetzt habe ich das da gefunden: http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2012q3/006306.html

da fehlt mir bei den beiden werten aber das Interface... wenn ich es so mache:

dhcp-range=wlan0,fd00:2::A0, fd00:2::FE, ra-stateless, 48h
#dhcp-sequential-ip
#enable-ra
dhcp-option=wlan0,option6:dns-server,[::]

kommt bei der ersten zeile der Fehler "dnsmasq: only one netid tag allowed" bzw. "dnsmasq: bad dhcp-option" bei der letzten, wenn ich den Dienst neustarten will edit: auch "dhcp-range=interface:wlan0, fd00:2::A0, fd00:2::FE, 120, 4h" wird mit diesem netid-tag-Fehler quittiert

evtl. liegt es an meiner DNSMasq-Version (2.52, die aktuellste für Lucid)...das würde zumindest die Syntaxfehler erklären http://freecode.com/projects/dnsmasq/releases/342328 ("The DHCP subsystem has been expanded to include support for DHCP for IPv6 addresses"). aktuell gibt es 2.63 (vom 17.8.2012). warum das Lucid-Paket noch nicht aktualisiert wurde ist mir ein Rätsel...vermutlich wegen Abhängigkeiten

Antworten |