[gelöst] Dnsmasq IPv6 - Keine IP-Verteilung

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
eddi0815
Beiträge: 5
Registriert: 13.09.2017 21:26:01

[gelöst] Dnsmasq IPv6 - Keine IP-Verteilung

Beitrag von eddi0815 » 20.09.2017 18:45:33

Hallo,

ich habe mir für mein lokales Netzwerk einen DHCP-Server mit dnsmasq aufgesetzt. Mit IP4-Adressen funktioniert auch alles einwandfrei. Nun brauche ich aber für eine Netzwerkschnittstelle unbedingt IPv6. Dabei komme ich momentan nicht weiter und benötige eure Hilfe.

Debian: stretch

Zur Konfiguration von eth0 nutze ich systemd-networkd: (Muss hier etwas geändert werden? Laut meinem Wissen wird zusätzlich auch eine IPv6-Adresse vergeben)

Code: Alles auswählen

[Match]
Name=eth0

[Network]
Address=192.168.20.1
Gateway=192.168.20.0
ifconfig:

Code: Alles auswählen

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.20.1  netmask 255.255.255.0  broadcast 192.168.20.255
        inet6 fe80::81:4ff:fe81:9fd6  prefixlen 64  scopeid 0x20<link>
        ether 02:81:04:81:9f:d6  txqueuelen 1000  (Ethernet)
        RX packets 593  bytes 147366 (143.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 181  bytes 16750 (16.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 36

dnsmasq.conf: (Hier habe ich schon einige Konfigurationen ausprobiert)

Code: Alles auswählen

dhcp-authoritative
no-resolv
domain-needed
bogus-priv
bind-interfaces
interface=eth0
#dhcp-range=interface:eth0,192.168.20.50,192.168.20.150,255.255.255.0,12h
#dhcp-option=option6:dns-server,[::]
#dhcp-range=2001:db8:18d::,ra-stateless,ra-names
enable-ra
dhcp-range=fe80::, ra-stateless, ra-names
systemctl status dnsmasq:

Code: Alles auswählen

��● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS serve
r
   Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: 
enabled)
   Active: active (running) since Wed 2017-09-20 16:26:59 UTC; 11min 
ago
  Process: 818 ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf (code=exited
, status=0/SUCCESS)
  Process: 831 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf (code=
exited, status=0/SUCCESS)
  Process: 826 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=0
/SUCCESS)
  Process: 823 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCC
ESS)
 Main PID: 830 (dnsmasq)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/dnsmasq.service
           ��└��─830 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -7 /etc/
dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service

Sep 20 16:35:26 spc dnsmasq-dhcp[830]: RTR-SOLICIT(eth0)
Sep 20 16:36:03 spc dnsmasq-dhcp[830]: RTR-SOLICIT(eth0)
Sep 20 16:36:07 spc dnsmasq-dhcp[830]: RTR-SOLICIT(eth0)
Wenn ich die Netzwerkkarten verbinde, kommt periodisch immer RTR-SOLICIT. Wenn ich das richtig verstehe ist das die "Router Solicitation" und kommt von den Clients. Darauf hin sollte der Router mit "Router Advertisement" antworten. Ist das korrekt? Und wenn ja, warum tut er dies nicht? In der dnsmasq.conf ist "enable ra" doch aktiviert.

Ich hoffe ich könnt mir weiter helfen.

Viele Grüße,
eddi0815
Zuletzt geändert von eddi0815 am 21.09.2017 15:09:44, insgesamt 1-mal geändert.

wanne
Moderator
Beiträge: 5399
Registriert: 24.05.2010 12:39:42

Re: Dnsmasq IPv6 - Keine IP-Verteilung

Beitrag von wanne » 20.09.2017 19:11:51

DHCPv6 ist was für große infrastrukturen und auf den meisten Clients abgeschaltet.
IPv6-Vergabe im Privaten Bereich macht man typischerweise nur mit SLAAC nicht mit DHCP.
Ich würde dafür den Debianradvd. nehmen. Der ist super einfach zu konfigurieren und macht seinen Job.
dnsmasq kann das aber natürlich auch. Hier hat jemand ein Besipiel: https://hveem.no/using-dnsmasq-for-dhcpv6
Zur Konfiguration von eth0 nutze ich systemd-networkd: (Muss hier etwas geändert werden? Laut meinem Wissen wird zusätzlich auch eine IPv6-Adresse vergeben)
Ja, da muss eine rein. Die frage ist, wie du die bekommst. Wie geht das Ding denn ans Internet? Das wäre ganz wichtig wegen Gateway und so.
192.168.20.0 ist zwar heute nutzbar aber aus Kompatibilitätsgründen lässt man sowas normalerweise.
Auch die Zeile dürfte so nicht funktionieren: Address=192.168.20.1 Das müsste eher Address=192.168.20.1/24 oder so heißen.

Daneben ist fe80:: kein gülteiger Adressbereich (Link Local). Genausowenig 2001:db8:18d:: (Für Dokumentationszwecke)


Eine Passende config müsste irgendwie so aussehen:
Networkd:

Code: Alles auswählen

[Match]
Name=bon0.2001

[Network]
Address=2002:9002:1903:b0df::1/64
Address=144.2.25.30/28
IPForward=yes
radvd:

Code: Alles auswählen

interface ens785.2001
{
  AdvSendAdvert on;
  RDNSS 2001:4860:4860::8888 { };
  prefix 2002:9002:1903:b0df::/64
  {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
  };
};
rot: Moderator wanne spricht, default: User wanne spricht.

eddi0815
Beiträge: 5
Registriert: 13.09.2017 21:26:01

Re: Dnsmasq IPv6 - Keine IP-Verteilung

Beitrag von eddi0815 » 21.09.2017 15:09:28

Danke.
Ich konnte es mit folgenden Configs lösen:
networkd:

Code: Alles auswählen

[Match]
Name=eth0

[Network]
Address=2002:9002:1903:b0df::1/64
dnsmasq.conf:

Code: Alles auswählen

dhcp-authoritative
no-resolv
domain-needed
bogus-priv
bind-interfaces
interface=eth0
enable-ra

# SLAAC only (but DHCPv6 for DNS)
#dhcp-range=::, constructor:eth0, ra-names, ra-stateless, 64, 12h

# DHCPv6 only (but RA for route)
dhcp-range=::1, ::FFFF:FFFF, constructor:eth0, 64, 12h

# SLAAC & DHCPv6
#dhcp-range=::1, ::FFFF:FFFF, constructor:eth0, ra-names, 64, 12h

wanne
Moderator
Beiträge: 5399
Registriert: 24.05.2010 12:39:42

Re: [gelöst] Dnsmasq IPv6 - Keine IP-Verteilung

Beitrag von wanne » 23.09.2017 03:00:52

Das Beispiel von mir war passend für LinkedIn. Du solltest dir nicht unbedingt eine für LinkedIn reservierte Adresse nutzen.
Wenn du ein Privates Netz abseits vom Internet hast, solltest du Private Adressen verwenden.
Hier ein Generator für ULAs:
http://simpledns.com/private-ipv6.aspx
Nimm dir ein mit dem generiertes Netz statt 2002:9002:1903:b0df::

Und wie gesagt DHCP für private IPv6 ist ziemlich strage. Das werden dir viele Consumer-Geräte nicht mitmachen. Nutze SLAAC.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten