IPv6 DNS Search-Domain und NTP-Server per DHCP6 verteilen (Fritzbox mit Pihole)

Servus nochmal,

danke für’s Wiederaufsperren des Threads. :slight_smile:

Um noch die Frage “Warum das Ganze?” zu beantworten: Als Vorbereitung für eine interne Domäne der Form zuhause.beispiel.eu die dann mit mit einem Reverse Proxy und Let’s Encrypt-Zertifikaten arbeiten soll. “internal” ist aber im Experimentierstadium erstmal weniger Tipparbeit als “zuhause.beispiel.eu” :slight_smile: .

Hier die Lösung, die ich inzwischen gefunden habe:

Pihole-Einstellungen:

  • dns.domain.name: internal

  • dhcp.ipv6 deaktiviert

  • misc.dnsmasq_lines hat folgende Einträge:

  • # Optionen für alle IPv4-Netze
    dhcp-option=option:ntp-server,10.143.65.12,10.143.65.16
    
    # IPv6 
    ra-param=*,low,0,0
    dhcp-range=::,constructor:*,ra-stateless
    dhcp-option=option6:dns-server,[fd00::12]
    dhcp-option=option6:ntp-server,[fd00::12],[fd00::16]
    dhcp-option=option6:domain-search,internal
    

Fritzbox-Einstellungen:

  • Router Advertisement im LAN aktiv: eingeschaltet
  • Unique Local Addresses (ULAs) immer zuweisen (ULA-Präfix: fd00::/64): eingeschaltet
  • DNSv6-Server auch über Router Advertisement bekanntgeben (RFC 5006): eingeschaltet
  • Lokaler DNSv6-Server: fd00::12 (mein Pihole)
  • DHCPv6-Server in der FRITZ!Box deaktivieren: eingeschaltet,
    Option "das O-Flag in den Router-Advertisement-Nachrichten der FRITZ!Box aktivieren": ausgewählt

Das führt dann auf einem Client zu folgender Konfiguration:

christian@flusi:~$ nmcli -f ip6,dhcp6 con s "Standard DHCP4_IPv6" 
IP6.ADDRESS[1]:                         2003:c1:c72a:db00:677c:ab09:1c4e:e76/64
IP6.ADDRESS[2]:                         fd00::7498:dee9:61b:e6e4/64
IP6.ADDRESS[3]:                         fd00::1bae:ca31:42e4:2c4e/64
IP6.ADDRESS[4]:                         2003:c1:c72a:db00:d4ee:7ee8:bc8f:780d/64
IP6.ADDRESS[5]:                         fe80::c05c:7f6a:5fcf:79bf/64
IP6.GATEWAY:                            fe80::1eed:6fff:fe44:c2c5
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024
IP6.ROUTE[2]:                           dst = 2003:c1:c72a:db00::/64, nh = ::, mt = 100
IP6.ROUTE[3]:                           dst = fd00::/64, nh = ::, mt = 100
IP6.ROUTE[4]:                           dst = fd00::/64, nh = fe80::1eed:6fff:fe44:c2c5, mt = 105
IP6.ROUTE[5]:                           dst = 2003:c1:c72a:db00::/56, nh = fe80::1eed:6fff:fe44:c2c5, mt = 100
IP6.ROUTE[6]:                           dst = ::/0, nh = fe80::1eed:6fff:fe44:c2c5, mt = 100
IP6.DNS[1]:                             fd00::12
IP6.SEARCHES[1]:                        internal
DHCP6.OPTION[1]:                        dhcp6_client_id = 00:04:fe:47:69:5b:41:53:2b:44:9d:ec:66:04:1f:bd:c3:0f
DHCP6.OPTION[2]:                        dhcp6_domain_search = internal
DHCP6.OPTION[3]:                        dhcp6_name_servers = fd00::12
DHCP6.OPTION[4]:                        dhcp6_ntp_servers = fd00::12 fd00::16
DHCP6.OPTION[5]:                        iaid = ef:32:f7:d8

Und der NTP-Server wird vom Linux-Client mit Chrony auch übernommen (Windows ignoriert das tatsächlich…):

christian@flusi:~$ chronyc -n sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 10.143.65.12                  2   6   377    23  -3890ns[ +746ns] +/- 6525us
^+ 10.143.65.16                  2   6   377    23   +102us[ +102us] +/- 6910us
^+ fd00::12                      2   6   377    21    +11us[  +11us] +/- 6568us
^? fd00::16                      0  10     0     -     +0ns[   +0ns] +/-    0ns