dhcpd6 Probleme nach Interface Reset

Started by RadicalEd, September 26, 2020, 12:40:31 PM

Previous topic - Next topic
Hallo,

ich nutze die OPNSense erfolgreich an einem Telekom/1&1 V-DSL Anschluss. Die OPNSense bezieht auch das IPv6 Subnetz und vergibt die IP Adressen an die internen Clients. Aufgrund der Zwangstrennung habe ich einen Cron Job angelegt der in der Nacht via "Periodic interface reset" das Interface zurück setzt und somit der klassischen Zwangstrennung entgegenwirkt.
Jedoch scheint mit diesem Interface Reset der Dhcpd6 ein Problem zu haben. Denn jeden Morgen befindet sich dieser im "gestoppt" Zustand und kann nicht mehr gestartet werden. Nach meinem Stand, bitte korrigieren wenn falsch, ist der dhcpd6 auch kein eigenständiger Daemon sondern ein Teil von dhcpd. Jedenfalls führt auch ein Neustart des dhcpd zu keiner Besserung des Problems.
Die Clients erhalten in diesem Zustand auch keine IPv6 Adresse außer der fe80.

Das Problem kann man mit einem Neustart der OPNSense lösen oder alternativ für das WAN Interface über die GUI manuell einen Disconnect und Connect auszuführen.
Anschließend läuft der dhcpd6 Dienst wieder vollständig und die Clients erhalten eine IPv6 Adresse.

Für mich stellt sich daher die Frage, wie man dieses Problem Lösen könnte? Eine Option wäre es auf den Interface Reset zu verzichten und dafür ein Disconnect und Connect auszuführen. Wie aber kann ich dies via Cronjob auslösen? Ich bin hier leider nicht sehr BSD affin und bin schon daran gescheitert mir via "ps -ef" alle Prozesse der Firewall anzeigen zu lassen (Was ist hier eigentlich das korrekte Kommando?).

In der dhcpd.log finden sich keine auffälligen Einträge. Man sieht lediglich das er schlichtweg keine IPv6 Adressen mehr vergibt nachdem der dhcpd, anscheinend mit dem Interface Reset, Neustartet.

Sep 26 05:13:00 home dhcpd[93351]: Internet Systems Consortium DHCP Server 4.4.2
Sep 26 05:13:00 home dhcpd[93351]: Copyright 2004-2020 Internet Systems Consortium.
Sep 26 05:13:00 home dhcpd[93351]: All rights reserved.
Sep 26 05:13:00 home dhcpd[93351]: For info, please visit https://www.isc.org/software/dhcp/
Sep 26 05:13:00 home dhcpd[93351]: Config file: /etc/dhcpd.conf
Sep 26 05:13:00 home dhcpd[93351]: Database file: /var/db/dhcpd.leases
Sep 26 05:13:00 home dhcpd[93351]: PID file: /var/run/dhcpd.pid
Sep 26 05:13:00 home dhcpd[93351]: Internet Systems Consortium DHCP Server 4.4.2
Sep 26 05:13:00 home dhcpd[93351]: Copyright 2004-2020 Internet Systems Consortium.
Sep 26 05:13:00 home dhcpd[93351]: All rights reserved.
Sep 26 05:13:00 home dhcpd[93351]: For info, please visit https://www.isc.org/software/dhcp/
Sep 26 05:13:00 home dhcpd[93351]: Wrote 0 deleted host decls to leases file.
Sep 26 05:13:00 home dhcpd[93351]: Wrote 0 new dynamic host decls to leases file.
Sep 26 05:13:00 home dhcpd[93351]: Wrote 22 leases to leases file.
Sep 26 05:13:00 home dhcpd[93351]: Listening on BPF/re0/00:01:2e:95:fe:56/192.168.128.0/24
Sep 26 05:13:00 home dhcpd[93351]: Sending on   BPF/re0/00:01:2e:95:fe:56/192.168.128.0/24
Sep 26 05:13:00 home dhcpd[93351]: Sending on   Socket/fallback/fallback-net
Sep 26 05:13:00 home dhcpd[93351]: Server starting service.
Sep 26 05:13:00 home dhcpd[20355]: Internet Systems Consortium DHCP Server 4.4.2
Sep 26 05:13:00 home dhcpd[20355]: Copyright 2004-2020 Internet Systems Consortium.
Sep 26 05:13:00 home dhcpd[20355]: All rights reserved.
Sep 26 05:13:00 home dhcpd[20355]: For info, please visit https://www.isc.org/software/dhcp/
Sep 26 05:13:00 home dhcpd[20355]: Config file: /etc/dhcpdv6.conf
Sep 26 05:13:00 home dhcpd[20355]: Database file: /var/db/dhcpd6.leases
Sep 26 05:13:00 home dhcpd[20355]: PID file: /var/run/dhcpdv6.pid
Sep 26 05:13:00 home dhcpd[20355]: Internet Systems Consortium DHCP Server 4.4.2
Sep 26 05:13:00 home dhcpd[20355]: Copyright 2004-2020 Internet Systems Consortium.
Sep 26 05:13:00 home dhcpd[20355]: All rights reserved.
Sep 26 05:13:00 home dhcpd[20355]: For info, please visit https://www.isc.org/software/dhcp/
Sep 26 05:13:00 home dhcpd[20355]: Wrote 2 NA, 0 TA, 0 PD leases to lease file.
Sep 26 05:13:00 home dhcpd[20355]: Bound to *:547
Sep 26 05:13:00 home dhcpd[20355]: Listening on Socket/7/re0/2003:d3:5f1d:e900::/56
Sep 26 05:13:00 home dhcpd[20355]: Sending on   Socket/7/re0/2003:d3:5f1d:e900::/56
Sep 26 05:13:00 home dhcpd[20355]: Server starting service.
Sep 26 05:13:04 home dhcpd[53622]: Internet Systems Consortium DHCP Server 4.4.2
Sep 26 05:13:04 home dhcpd[53622]: Copyright 2004-2020 Internet Systems Consortium.
Sep 26 05:13:04 home dhcpd[53622]: All rights reserved.
Sep 26 05:13:04 home dhcpd[53622]: For info, please visit https://www.isc.org/software/dhcp/
Sep 26 05:13:04 home dhcpd[53622]: Config file: /etc/dhcpdv6.conf
Sep 26 05:13:04 home dhcpd[53622]: Database file: /var/db/dhcpd6.leases
Sep 26 05:13:04 home dhcpd[53622]: PID file: /var/run/dhcpdv6.pid
Sep 26 05:13:04 home dhcpd[53622]: Internet Systems Consortium DHCP Server 4.4.2
Sep 26 05:13:04 home dhcpd[53622]: Copyright 2004-2020 Internet Systems Consortium.
Sep 26 05:13:04 home dhcpd[53622]: All rights reserved.
Sep 26 05:13:04 home dhcpd[53622]: For info, please visit https://www.isc.org/software/dhcp/
Sep 26 05:13:04 home dhcpd[53622]: Wrote 2 NA, 0 TA, 0 PD leases to lease file.
Sep 26 05:13:04 home dhcpd[53622]: Bound to *:547
Sep 26 05:13:04 home dhcpd[53622]: Listening on Socket/7/re0/2003:d3:5f1d:e900::/56
Sep 26 05:13:04 home dhcpd[53622]: Sending on   Socket/7/re0/2003:d3:5f1d:e900::/56
Sep 26 05:13:04 home dhcpd[53622]: Server starting service.


Einzig Interessant ist das der dhcpd anscheinend zwei mal Neustartet.

In der system.log finden sich folgende Einträge:


Sep 26 05:13:00 home ppp-linkdown[68373]: Removing stale PPPoE gateway fe80::6664:9bff:fe61:3aed%pppoe1 on inet6
Sep 26 05:13:00 home opnsense[4718]: /usr/local/etc/rc.configure_interface: ROUTING: entering configure using 'opt1'
Sep 26 05:13:00 home opnsense[4718]: /usr/local/etc/rc.configure_interface: ROUTING: IPv6 default gateway set to opt1
Sep 26 05:13:00 home opnsense[4718]: /usr/local/etc/rc.configure_interface: ROUTING: skipping IPv6 default route
Sep 26 05:13:00 home opnsense[4718]: plugins_configure ipsec (1,opt1)
Sep 26 05:13:00 home opnsense[4718]: plugins_configure ipsec (execute task : ipsec_configure_do(1,opt1))
Sep 26 05:13:00 home opnsense[4718]: plugins_configure dhcp (1)
Sep 26 05:13:00 home opnsense[4718]: plugins_configure dhcp (execute task : dhcpd_dhcp_configure(1))
Sep 26 05:13:00 home opnsense[4718]: plugins_configure dns (1)
Sep 26 05:13:00 home opnsense[4718]: plugins_configure dns (execute task : dnsmasq_configure_do(1))
Sep 26 05:13:00 home opnsense[4718]: plugins_configure dns (execute task : unbound_configure_do(1))
Sep 26 05:13:03 home kernel: ng0: changing name to 'pppoe1'
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: IPv4 renewal is starting on 'pppoe1'
Sep 26 05:13:04 home kernel: nd6_dad_timer: called with non-tentative address fe80:7::201:2eff:fe95:fe56(pppoe1)
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: On (IP address: 217.251.199.XX) (interface: WAN[opt1]) (real interface: pppoe1).
Sep 26 05:13:04 home opnsense[22178]: /usr/local/etc/rc.newwanipv6: IPv6 renewal is starting on 'pppoe1'
Sep 26 05:13:04 home opnsense[11157]: plugins_configure hosts ()
Sep 26 05:13:04 home opnsense[11157]: plugins_configure hosts (execute task : dnsmasq_hosts_generate())
Sep 26 05:13:04 home opnsense[22178]: /usr/local/etc/rc.newwanipv6: On (IP address: fe80::201:2eff:fe95:fe56) (interface: WAN[opt1]) (real interface: pppoe1).
Sep 26 05:13:04 home opnsense[22178]: plugins_configure dhcp (,inet6)
Sep 26 05:13:04 home opnsense[22178]: plugins_configure dhcp (execute task : dhcpd_dhcp_configure(,inet6))
Sep 26 05:13:04 home opnsense[11157]: plugins_configure hosts (execute task : unbound_hosts_generate())
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: Accept router advertisements on interface pppoe1
Sep 26 05:13:04 home dhcp6c[9369]: RTSOLD script - Sending SIGHUP to dhcp6c
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: ROUTING: entering configure using 'opt1'
Sep 26 05:13:04 home opnsense[22178]: plugins_configure hosts ()
Sep 26 05:13:04 home opnsense[22178]: plugins_configure hosts (execute task : dnsmasq_hosts_generate())
Sep 26 05:13:04 home opnsense[22178]: plugins_configure hosts (execute task : unbound_hosts_generate())
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: ROUTING: IPv4 default gateway set to opt1
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: ROUTING: setting IPv4 default route to 62.155.243.64
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway '62.155.243.64'
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: ROUTING: IPv6 default gateway set to opt1
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: ROUTING: setting IPv6 default route to fe80::6664:9bff:fe61:3aed
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway 'fe80::6664:9bff:fe61:3aed%pppoe1'
Sep 26 05:13:04 home opnsense[11157]: plugins_configure monitor ()
Sep 26 05:13:04 home opnsense[11157]: plugins_configure monitor (execute task : dpinger_configure_do())
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: The WAN_DHCP6 monitor address is empty, skipping.
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: The WAN_PPPOE monitor address is empty, skipping.
Sep 26 05:13:04 home opnsense[11157]: plugins_configure vpn (,opt1)
Sep 26 05:13:04 home kernel: pflog0: promiscuous mode disabled
Sep 26 05:13:04 home kernel: pflog0: promiscuous mode enabled
Sep 26 05:13:04 home opnsense[11157]: plugins_configure vpn (execute task : ipsec_configure_do(,opt1))
Sep 26 05:13:04 home opnsense[11157]: plugins_configure vpn (execute task : openvpn_configure_do(,opt1))
Sep 26 05:13:04 home opnsense[11157]: /usr/local/etc/rc.newwanip: Resyncing OpenVPN instances for interface WAN.
Sep 26 05:13:04 home kernel: ovpns1: link state changed to DOWN
Sep 26 05:13:05 home kernel: pflog0: promiscuous mode disabled
Sep 26 05:13:05 home kernel: pflog0: promiscuous mode enabled
Sep 26 05:13:05 home kernel: ovpns1: link state changed to UP
Sep 26 05:13:05 home opnsense[11157]: /usr/local/etc/rc.newwanip: OpenVPN server 1 instance started on PID 26332.
Sep 26 05:13:05 home opnsense[82934]: /usr/local/etc/rc.newwanip: IPv4 renewal is starting on 'ovpns1'
Sep 26 05:13:05 home opnsense[82934]: /usr/local/etc/rc.newwanip: Interface '' is disabled or empty, nothing to do.
Sep 26 05:13:05 home kernel: pflog0: promiscuous mode disabled
Sep 26 05:13:05 home opnsense[11157]: plugins_configure newwanip (,opt1)
Sep 26 05:13:05 home kernel: pflog0: promiscuous mode enabled
Sep 26 05:13:05 home opnsense[11157]: plugins_configure newwanip (execute task : dyndns_configure_do(,opt1))
Sep 26 05:13:07 home dhcp6c[43546]: dhcp6c RELEASE on pppoe1 - running newipv6
Sep 26 05:13:07 home opnsense[59755]: /usr/local/etc/rc.newwanipv6: IPv6 renewal is starting on 'pppoe1'
Sep 26 05:13:07 home opnsense[59755]: /usr/local/etc/rc.newwanipv6: On (IP address: fe80::201:2eff:fe95:fe56) (interface: WAN[opt1]) (real interface: pppoe1).
Sep 26 05:13:07 home opnsense[59755]: plugins_configure dhcp (,inet6)
Sep 26 05:13:07 home opnsense[59755]: plugins_configure dhcp (execute task : dhcpd_dhcp_configure(,inet6))
Sep 26 05:13:07 home opnsense[59755]: /usr/local/etc/rc.newwanipv6: Warning! dhcpd_radvd_configure(auto) found no suitable IPv6 address on re0
Sep 26 05:13:08 home opnsense[59755]: plugins_configure hosts ()
Sep 26 05:13:08 home opnsense[59755]: plugins_configure hosts (execute task : dnsmasq_hosts_generate())
Sep 26 05:13:08 home opnsense[59755]: plugins_configure hosts (execute task : unbound_hosts_generate())
Sep 26 05:13:10 home opnsense[30665]: /usr/local/etc/rc.dyndns: Dynamic DNS: updating cache file /var/cache/dyndns_opt1_XXX.duckdns.org_0.cache: 217.251.199.XX
Sep 26 05:13:10 home opnsense[30665]: /usr/local/etc/rc.dyndns: Dynamic DNS: (Success) IP Address Updated Successfully!
Sep 26 05:13:11 home opnsense[11157]: /usr/local/etc/rc.newwanip: Dynamic DNS: updating cache file /var/cache/dyndns_opt1_XXXX.duckdns.org_0.cache: 217.251.199.XX
Sep 26 05:13:11 home opnsense[11157]: /usr/local/etc/rc.newwanip: Dynamic DNS: (Success) IP Address Updated Successfully!
Sep 26 05:13:12 home opnsense[11157]: plugins_configure newwanip (execute task : ntpd_configure_defer())
Sep 26 05:13:12 home opnsense[11157]: plugins_configure newwanip (execute task : opendns_configure_do())
Sep 26 05:13:12 home opnsense[11157]: plugins_configure newwanip (execute task : openssh_configure_do(,opt1))
Sep 26 05:13:12 home opnsense[11157]: plugins_configure newwanip (execute task : unbound_configure_do(,opt1))
Sep 26 05:13:12 home opnsense[11157]: plugins_configure newwanip (execute task : vxlan_configure_interface())
Sep 26 05:13:12 home opnsense[11157]: plugins_configure newwanip (execute task : webgui_configure_do(,opt1))


Und ich muss mir noch eine Frage als OPNSense Neuling erlauben: Die Logdateien machen mich gerade etwas stutzig. Wenn ich diese mit cat oder vi öffne, dann sind teilweise ältere Einträge am Ende der Datei. Bei der System Log hatte ich z.B. folgenden Tagesablauf:

16-26 September
11-31 August
01-16 September

Sprich die Logeinträge vom 26. September waren irgendwo in der Mitte der Datei.

Welches Interface wird zurückgesetzt? WAN?

Ich bin noch relativ neu im OPNsense Bereich, aber wenn du mal guckst, es gibt folgende Datei:

/var/etc/dhcp6c_wan_script.sh
Vielleicht hilft es diese über einen Cronjob anzustoßen?

Ich verwende im Moment kein IPv6 mehr, aber vielleicht hilft dir das weiter.

Desweiteren haben die Herrschaften in dem Forum ähnliche Probleme wie du. https://forum.netgate.com/topic/115578/nach-periodic-reset-keine-neu-ipv6-adresse
Vielleicht kann dir das ebenfalls bei deinem Problem helfen.

Das mit den Zeitsprüngen im Log kann ich mir auch nicht erklären. Das scheint nicht immer so zu sein. Eventuell hängt sich das beim wieder öffnen auf. Beim 1. öffnen des Logs hatte ich das Problem nicht. Mir kommt es aber so vor, dass die editoren auf OPNSense nicht sauber laufen. Wenn ich über ssh "vi" verwende, geht das besser als über die konsole.

Vergiss das wan_script von mir...
probier das mal:

als Cron
service dhcp6c restart

Moin,

danke für die Idee. Aber "service dhcp6c restart" bzw. service dhcp6c onerestart" funktioniert nicht. Es kommt hier die Meldung "/usr/local/etc/rc.d/dhcp6c: WARNING: /usr/local/etc/dhcp6c.conf is not readable."
Und die Datei ist wirklich nicht existent.

Wegen der Sortierung der Logdateien: Es heißt also das du die gleichen Probleme hier hast? Das beruhigt mich ja schon etwas :)

Gleiches Problem tritt bei mir auch an 2 Standorten auf. Nach einem Neustart läuft DHCP6C problemlos und verteilt in allen VLANs Adressen gemäß PD.

Irgendwann ist DHCPD6 plötzlich beendet, es gibt auch keine IPv6 Adressen mehr auf den internen Interfaces und DHCPD6 lässt sich nicht mehr starten.

Einzig ein disconnect/reconnect via GUI (oder halt n Neustart) beheben das Problem.

Ich glaube die externe IPV6 bzw. der delegierte Prefix läuft ab und die OPNsense fordert keine neue an. Dann verlieren durch den Ablauf die internen Interfaces der Firewall ihre IPV6 Adressen weshalb sich der DHCPD6 weigert zu starten.

Ist aber ohne groß nachgeschaut zu haben bis jetzt nur eine Theorie.

Hallo zusammen

Hier was Neues?

Mein Workaround ist seit ein paar Monaten ein doppelter Reconnect nachts - Intervall 5 min.

Das funktioniert soweit. Bei einem kürzeren Intervall hatte ich Probleme mit den openVPN Servern, die zum Neustart wohl etwas Zeit brauchen und sonst nicht richtig beendet werden.

Grüße,
Bernd
IPU451, 16GB RAM, 120GB SSD:
OPNsense 22.7.11_1-amd64
FreeBSD 13.1-RELEASE-p5
OpenSSL 1.1.1s 1 Nov 2022

IPU441, 8GB RAM, 120GB SSD:
OPNsense 23.1.1_2-amd64
FreeBSD 13.1-RELEASE-p6
OpenSSL 1.1.1t 7 Feb 2023

Hi,

leider nein. Ich hatte versucht die Thematik auch im englischen Bereich zu platzieren, aber auch hier hab es keine wirkliche Lösung:

https://forum.opnsense.org/index.php?topic=19353.msg90173

Momentan bin ich dazu übergegangen, dass ich manuelle Einstellungen für den DHCPv6 Bereich verwende und im Router Advertisements die Funktion Stateless nutze. Weiterhin startet die Box jeden Abend komplett neu.

Eine Idee wäre es noch einen offiziellen Bug zu schreiben, aktuell fehlt mir hier aber die Kompetenz in BSD um den Entwicklern mit fundierten Informationen bei der Problemsuche zu unterstützen.