OPNsense Forum

International Forums => German - Deutsch => Topic started by: tom.goes.open on June 23, 2018, 09:44:17 am

Title: IPv6-Probleme nach Verbindungsabruch
Post by: tom.goes.open on June 23, 2018, 09:44:17 am
Hallo zusammen,

das ist mein erster Beitrag hier im Forum - bisher konnte ich in meiner langen Zeit mit p*- und OPNsense immer alle Probleme lösen, nur die IPv6-Geschichte ist für mich absolut neu und bereitet mir etwas Schwierigkeiten.

Hintergrund:
Seit einigen Wochen liegt bei mir nun VDSL 100/40 bei der Telekom an. Die IPv6-Konfiguration hat soweit auch geklappt, nur kommt es hin und wieder zu kurzen Leitungsunterbrechungen. Meine Recherchen haben ergeben, dass das wohl bei Vectoring häufiger auftritt. Bei mir passiert es ca. alle zwei Wochen, und während nach dem Resync des Modems und der Neueinwahl durch OPNsense IPv4-seitig alles wieder ans Laufen kommt, werden wohl keine neuen IPv6-Adressen verteilt. Vielmehr "kleben" die alten Adressen (vor dem Verbindungsabbruch verteilt) an den Clients.

Im Dashboard ist der dhcpdv6 in diesem Moment rot und lässt sich nicht manuell starten. Erst wenn ich unter "Interfaces" - "Overview" bei WAN einen Disconnect ausführe und automatisch sofort wieder eine neue Verbindung hergestellt wird, klappt es auch wieder mit IPv6.

Vermutlich ist es daher kein großes Problem. Muss ich evtl. noch irgendwas an der Config drehen?

Danke schonmals im Voraus.

VG
Tom

So ist mein aktueller Stand:

WAN
Code: [Select]
IPv6 Configuration Type: DHCPv6
Configuration Mode: Basic
[X] Request only an IPv6 prefix
Prefix delegation size: 56
[X] Send IPv6 prefix hint
[X] Directly send SOLICIT
[ ] Prevent release
[ ] Enable debug
[X] Use IPv4 connectivity
Use VLAN priority: Disabled

LAN
Code: [Select]
IPv6 Configuration Type: Track Interface
IPv6 Interface: WAN
IPv6 Prefix ID: 0

Sonstige Dienste:

Hardware:

Logs während Ausfall:

Mehrfach, im Sekundentakt mit unterschiedlichen Werten:
Quote
Jun 22 23:42:56    kernel: 00:1::53,18196,53,36
Dann geht es los (IP-Adressen gekürzt  ;) ):
Quote
Jun 22 23:44:04    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jun 22 23:44:04    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80::---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 22 23:44:09    opnsense: /usr/local/etc/rc.newwanip: IP renewal is starting on 'pppoe0'
Jun 22 23:44:09    opnsense: /usr/local/etc/rc.newwanip: On (IP address: 87.---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 22 23:44:10    opnsense: /usr/local/etc/rc.newwanip: Accept router advertisements on interface pppoe0
Jun 22 23:44:11    opnsense: /usr/local/etc/rc.newwanip: ROUTING: entering configure using 'wan'
Jun 22 23:44:11    opnsense: /usr/local/etc/rc.newwanip: ROUTING: no IPv4 default gateway set, assuming wan
Jun 22 23:44:11    opnsense: /usr/local/etc/rc.newwanip: ROUTING: no IPv6 default gateway set, assuming wan
Jun 22 23:44:11    opnsense: /usr/local/etc/rc.newwanip: ROUTING: setting IPv4 default route to 62.---
Jun 22 23:44:11    opnsense: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway '62.---'
Jun 22 23:44:11    opnsense: /usr/local/etc/rc.newwanip: ROUTING: setting IPv6 default route to fe80::---
Jun 22 23:44:11    opnsense: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway 'fe80::---%pppoe0'
Jun 22 23:44:14    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jun 22 23:44:14    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80::---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 22 23:44:18    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jun 22 23:44:18    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80::---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 22 23:44:20    opnsense: /usr/local/etc/rc.newwanip: Resyncing OpenVPN instances for interface WAN.
Jun 22 23:44:33    opnsense: /usr/local/etc/rc.newwanip: Dynamic DNS: updating cache file /var/cache/dyndns_wan_---_0.cache: 87---
Jun 22 23:44:33    opnsense: /usr/local/etc/rc.newwanip:
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: Accept router advertisements on interface pppoe0
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: entering configure using 'wan'
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: no IPv4 default gateway set, assuming wan
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: no IPv6 default gateway set, assuming wan
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: setting IPv4 default route to 62.---
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: creating /tmp/pppoe0_defaultgw using '62.---'
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: The command '/sbin/route add -'inet' default '62---' returned exit code '1', the output was 'route: writing to routing socket: Network is unreachable add net default: gateway 62.---fib 0: Network is unreachable'
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: setting IPv6 default route to fe80::---
Jun 22 23:50:36    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: keeping current default gateway 'fe80::---%pppoe0'
Jun 22 23:50:40    kernel: ng0: changing name to 'pppoe0'
Jun 22 23:50:44    opnsense: /usr/local/etc/rc.dyndns: Aborted IPv4 detection: no address for pppoe0
Jun 22 23:50:44    opnsense: /usr/local/etc/rc.dyndns: Dynamic DNS (rou---) There was an error trying to determine the public IP for interface - wan(pppoe0). Probably interface is not a WAN interface.
Jun 22 23:50:45    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jun 22 23:50:45    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80::---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 22 23:50:46    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jun 22 23:50:46    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80::---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 22 23:50:47    opnsense: /usr/local/etc/rc.newwanipv6: The command '/sbin/ifconfig pppoe0 inet6 fe80::--- delete' returned exit code '1', the output was 'ifconfig: ioctl (SIOCDIFADDR): Can't assign requested address'
Jun 22 23:50:47    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: entering configure using 'wan'
Jun 22 23:50:47    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv4 default gateway set, assuming wan
Jun 22 23:50:47    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv6 default gateway set, assuming wan
Jun 22 23:50:47    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: skipping IPv4 default route
Jun 22 23:50:47    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: setting IPv6 default route to fe80:---
Jun 22 23:50:47    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: keeping current default gateway 'fe80::--%pppoe0'
Jun 22 23:50:48    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: entering configure using 'wan'
Jun 22 23:50:48    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv4 default gateway set, assuming wan
Jun 22 23:50:48    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv6 default gateway set, assuming wan
Jun 22 23:50:48    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: skipping IPv4 default route
Jun 22 23:50:48    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: setting IPv6 default route to fe80::---
Jun 22 23:50:48    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: keeping current default gateway 'fe80::---%pppoe0'
Jun 22 23:50:55    opnsense: /usr/local/etc/rc.newwanipv6: Resyncing OpenVPN instances for interface WAN.
Jun 22 23:51:02    opnsense: /usr/local/etc/rc.newwanipv6: Resyncing OpenVPN instances for interface WAN.
Jun 22 23:51:12    opnsense: /usr/local/etc/rc.newwanipv6: Aborted IPv4 detection: no address for pppoe0
Jun 22 23:51:12    opnsense: /usr/local/etc/rc.newwanipv6: Dynamic DNS (rou---) There was an error trying to determine the public IP for interface - wan(pppoe0). Probably interface is not a WAN interface.
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: tom.goes.open on July 01, 2018, 08:43:57 am
Hallo,

gestern abend war es wieder soweit, kurzzeitiger Verbindungsabbruch, Neuaufbau und anschließend kein IPv6 mehr/dhcpdv6 rot.

Log gestern:
Quote
Jun 30 21:52:29    opnsense: /usr/local/etc/rc.newwanip:
Jun 30 21:52:29    opnsense: /usr/local/etc/rc.newwanip: Dynamic DNS: updating cache file /var/cache/dyndns---: 87---
Jun 30 21:52:17    opnsense: /usr/local/etc/rc.newwanip: Interface '' is disabled or empty, nothing to do.
Jun 30 21:52:17    opnsense: /usr/local/etc/rc.newwanip: IP renewal is starting on 'ovpns1'
Jun 30 21:52:16    kernel: ovpns1: link state changed to UP
Jun 30 21:52:08    kernel: ovpns1: link state changed to DOWN
Jun 30 21:52:07    opnsense: /usr/local/etc/rc.newwanip: Resyncing OpenVPN instances for interface WAN.
Jun 30 21:52:04    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 30 21:52:04    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jun 30 21:52:00    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 30 21:52:00    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jun 30 21:51:58    opnsense: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway 'fe80---%pppoe0'
Jun 30 21:51:58    opnsense: /usr/local/etc/rc.newwanip: ROUTING: setting IPv6 default route to fe80---
Jun 30 21:51:58    opnsense: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway '62---'
Jun 30 21:51:57    opnsense: /usr/local/etc/rc.newwanip: ROUTING: setting IPv4 default route to 62---
Jun 30 21:51:57    opnsense: /usr/local/etc/rc.newwanip: ROUTING: no IPv6 default gateway set, assuming wan
Jun 30 21:51:57    opnsense: /usr/local/etc/rc.newwanip: ROUTING: no IPv4 default gateway set, assuming wan
Jun 30 21:51:57    opnsense: /usr/local/etc/rc.newwanip: ROUTING: entering configure using 'wan'
Jun 30 21:51:57    opnsense: /usr/local/etc/rc.newwanip: Accept router advertisements on interface pppoe0
Jun 30 21:51:56    opnsense: /usr/local/etc/rc.newwanip: On (IP address: 87---) (interface: WAN[wan]) (real interface: pppoe0).
Jun 30 21:51:56    opnsense: /usr/local/etc/rc.newwanip: IP renewal is starting on 'pppoe0'

Heute gleich manuell neu verbunden, da bekomme ich deutlich mehr Logeinträge:
Quote
Jul 1 08:33:43    opnsense: /usr/local/etc/rc.newwanip:
Jul 1 08:33:43    opnsense: /usr/local/etc/rc.newwanip: Dynamic DNS: updating cache file /var/cache/dyndns_---_0.cache: 87---
Jul 1 08:33:31    opnsense: /usr/local/etc/rc.newwanip: Resyncing OpenVPN instances for interface WAN.
Jul 1 08:33:26    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80---) (interface: WAN[wan]) (real interface: pppoe0).
Jul 1 08:33:26    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jul 1 08:33:22    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80---) (interface: WAN[wan]) (real interface: pppoe0).
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway 'fe80---%pppoe0'
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: ROUTING: setting IPv6 default route to fe80---
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: ROUTING: keeping current default gateway '62---'
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: ROUTING: setting IPv4 default route to 62---
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: ROUTING: no IPv6 default gateway set, assuming wan
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: ROUTING: no IPv4 default gateway set, assuming wan
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: ROUTING: entering configure using 'wan'
Jul 1 08:33:21    opnsense: /usr/local/etc/rc.newwanip: Accept router advertisements on interface pppoe0
Jul 1 08:33:19    opnsense: /usr/local/etc/rc.newwanip: On (IP address: 87---) (interface: WAN[wan]) (real interface: pppoe0).
Jul 1 08:33:19    opnsense: /usr/local/etc/rc.newwanip: IP renewal is starting on 'pppoe0'
Jul 1 08:33:15    opnsense: /usr/local/etc/rc.newwanipv6: Dynamic DNS (r--- There was an error trying to determine the public IP for interface - wan(pppoe0). Probably interface is not a WAN interface.
Jul 1 08:33:15    opnsense: /usr/local/etc/rc.newwanipv6: Aborted IPv4 detection: no address for pppoe0
Jul 1 08:33:08    opnsense: /usr/local/etc/rc.newwanipv6: Dynamic DNS (r---) There was an error trying to determine the public IP for interface - wan(pppoe0). Probably interface is not a WAN interface.
Jul 1 08:33:08    opnsense: /usr/local/etc/rc.newwanipv6: Aborted IPv4 detection: no address for pppoe0
Jul 1 08:32:59    opnsense: /usr/local/etc/rc.newwanip: Interface '' is disabled or empty, nothing to do.
Jul 1 08:32:58    opnsense: /usr/local/etc/rc.newwanip: IP renewal is starting on 'ovpns1'
Jul 1 08:32:58    kernel: ovpns1: link state changed to UP
Jul 1 08:32:50    opnsense: /usr/local/etc/rc.newwanipv6: Resyncing OpenVPN instances for interface WAN.
Jul 1 08:32:43    kernel: ovpns1: link state changed to DOWN
Jul 1 08:32:43    opnsense: /usr/local/etc/rc.newwanipv6: Resyncing OpenVPN instances for interface WAN.
Jul 1 08:32:37    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: keeping current default gateway 'fe80---%pppoe0'
Jul 1 08:32:37    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: setting IPv6 default route to fe80---
Jul 1 08:32:37    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: skipping IPv4 default route
Jul 1 08:32:37    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv6 default gateway set, assuming wan
Jul 1 08:32:37    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv4 default gateway set, assuming wan
Jul 1 08:32:37    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: entering configure using 'wan'
Jul 1 08:32:35    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: keeping current default gateway 'fe80---%pppoe0'
Jul 1 08:32:35    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: setting IPv6 default route to fe80---
Jul 1 08:32:35    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: skipping IPv4 default route
Jul 1 08:32:35    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv6 default gateway set, assuming wan
Jul 1 08:32:35    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: no IPv4 default gateway set, assuming wan
Jul 1 08:32:35    opnsense: /usr/local/etc/rc.newwanipv6: ROUTING: entering configure using 'wan'
Jul 1 08:32:35    opnsense: /usr/local/etc/rc.newwanipv6: The command '/sbin/ifconfig pppoe0 inet6 fe80---- delete' returned exit code '1', the output was 'ifconfig: ioctl (SIOCDIFADDR): Can't assign requested address'
Jul 1 08:32:34    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80:---) (interface: WAN[wan]) (real interface: pppoe0).
Jul 1 08:32:34    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jul 1 08:32:33    opnsense: /usr/local/etc/rc.newwanipv6: On (IP address: fe80:---) (interface: WAN[wan]) (real interface: pppoe0).
Jul 1 08:32:33    opnsense: /usr/local/etc/rc.newwanipv6: IP renewal is starting on 'pppoe0'
Jul 1 08:32:32    opnsense: /usr/local/etc/rc.dyndns: Dynamic DNS (r---) There was an error trying to determine the public IP for interface - wan(pppoe0). Probably interface is not a WAN interface.
Jul 1 08:32:32    opnsense: /usr/local/etc/rc.dyndns: Aborted IPv4 detection: no address for pppoe0
Jul 1 08:32:28    kernel: ng0: changing name to 'pppoe0'
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: keeping current default gateway 'fe80---d%pppoe0'
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: setting IPv6 default route to fe80---
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: The command '/sbin/route add -'inet' default '62---'' returned exit code '1', the output was 'route: writing to routing socket: Network is unreachable add net default: gateway 62--- fib 0: Network is unreachable'
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: creating /tmp/pppoe0_defaultgw using '62---'
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: removing /tmp/pppoe0_defaultgw
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: setting IPv4 default route to 62---
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: no IPv6 default gateway set, assuming wan
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: no IPv4 default gateway set, assuming wan
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: ROUTING: entering configure using 'wan'
Jul 1 08:32:24    opnsense: /usr/local/etc/rc.configure_interface: Accept router advertisements on interface pppoe0

Kann es sein, dass beim automatischen Neuaufbau irgendetwas ausgelassen wird und/oder die Reihenfolge nicht stimmt?

Leider bin ich immer noch ratlos...

VG
Tom
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: mschaeffler on November 30, 2018, 03:14:32 pm
Hallo,

auch bei mir tritt dieses Problem auf
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: karl047 on November 30, 2018, 03:46:44 pm
wie hast du dein WAN eingestellt? PPPOE oder direkt verbunden mit irgendwelchen Router?
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: Roger2k on December 01, 2018, 08:46:14 am
Ich habe auch einen VDSL100 Anschluss bei der Telekom und die selben IPv6 Einstellungen wie du, aber meine Clients können nicht per IPv6 in Internet. Bei mir lässt sich der DHCPv6 nicht starten, hast du vielleicht einen Tipp für mich? Die OPNsense selbst kann per IPv6 z.B six.heise.de erreichen.
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: mschaeffler on December 07, 2018, 07:07:41 pm
mein setup ist
- dsl-modem  (Vigor 130)
- PPPoE auf Opnsense
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: mschaeffler on January 03, 2019, 12:46:29 pm
the issue happens at every disconnection of the DSL line.
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on January 06, 2019, 09:18:07 pm
Ist etwas ungünstig da die OPNsense vermutlich direkt hinter dem Modem hängt und dann nicht mitbekommt dass die Leitung kurz weg war... Klingt in etwa wie das hier in IPv4:

https://github.com/opnsense/core/issues/2244
https://github.com/opnsense/core/issues/2517

Am besten wäre es natürlich wenn der IPv6 Präfix nicht verschoben würde. ;)

Dazu verkompliziert IPv6 link-local zum Router das Testen der Verfügbarkeit von IPv6 da die link-local gleich bleibt.

Am besten wäre ein periodischer WAN-Restart um das zumindest meistens abzufangen:

System: Settings: Cron: Kommando "periodic interface reset" mit Parameter "wan".


Grüsse
Franco
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: thomas_4fdua8 on February 28, 2021, 10:24:27 am
Hallo zusammen,

hier habe ein ähnliches Problem beobachtet (und gelöst): Ich betreibe OPNsense hinter einer FritzBox. Jedes mal, wenn sich die FritzBox nach der Zwangstrennung neu verbindet, bekommt sie einen neuen IPv6 Addressbereich, von dem OPNsense leider nichts mitbekommt.

Meine Lösung ist, die Gateways mit einem Cron-Script zu beobachten. Sobald WAN IPv4 up und WAN IPv6 down ist, wir einfach das WAN interface neu gestartet:

Code: [Select]
#!/bin/sh

##################################################
# This script checks if the WAN4 interface is up #
# and the WAN6 interface is down.                #
# In this case the WAN interface is restartet.   #
##################################################

# Put script in /usr/local/sbin/check_gatewayv6.sh
# Add action in /usr/local/opnsense/service/conf/actions.d/actions_check_gatewayv6.conf
# Add cron job under System -> Settings -> Cron

# Current time
curtime=$(date +%s)
# Bootime in seconds
uptime=$(sysctl kern.boottime | awk -F'sec = ' '{print $2}' | awk -F',' '{print $1}')
# Uptime in seconds
uptime=$(($curtime - $uptime))
# If uptime > 120 seconds:
if [ $uptime -gt 120 ]; then

        wan4status=$(pluginctl -r return_gateways_status | python3 -c 'import json, sys; print(json.loads(sys.stdin.read())["dpinger"]["WAN_DHCP"]["status"]);')
        #echo "WAN4 Status is: $wan4status"
        if [ "$wan4status" != "down" ]; then
                #echo "WAN4 is not down"
               
                wan6status=$(pluginctl -r return_gateways_status | python3 -c 'import json, sys; print(json.loads(sys.stdin.read())["dpinger"]["WAN_DHCP6"]["status"]);')
                #echo "WAN6 Status is: $wan6status"
                if [ "$wan6status" == "down" ]; then
                        #echo "WAN6 is down"
                       
                        /usr/local/etc/rc.configure_interface wan
                        sleep 2
                        /usr/local/sbin/pluginctl -s dpinger restart
                fi
        fi
fi

Bisher scheint alles wie gewünscht zu funktionieren.
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: guest28623 on April 12, 2021, 10:19:55 pm
Bisher scheint alles wie gewünscht zu funktionieren.

Ich habe dasselbe Problem, und bisher habe ich nur diesen Post gefunden.
Mit dem Skript hatte ich einige Fehler.

Ist das noch aktuell bzw. wie muss es eingerichtet werden?
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: schnipp on April 13, 2021, 07:45:06 pm
Ich bin erst jetzt auf diesen Thread aufmerksam geworden. Ich beobachte dieses Problem bei mir schon seit einiger Zeit und möchte es auch schon seit geraumer Zeit näher untersuchen. Allerdings hatte eine genauere Betrachtung bei mir bisher nicht die hohe Priorität, da meine VDSL-Leitung relativ stabil läuft.

In der Tat ist es so, dass bei der PPPoE-Neueinwahl meiner Opnsense die bisherigen IPV6-Adressen weiterhin an der Schnittstelle hängen und durch die Vergabe eines neuen IPv6-Präfix ungültig geworden sind. Nunmehr erhält die Schnittstelle IPv6-Adressen mit dem neuen Präfix. Da nunmehr mehrere Präfixe an der Schnittstelle hängen, werden alle Pakete mit dem alten Präfix als Absenderadresse vom ISP geblockt. Folglich laufen viele IPv6-basierten Anfragen ins Leere.

Warum ich hierzu noch keine Diskussion gestartet habe, liegt daran, dass ich an der Schnittstelle mehrere IPv6-Adressen habe. Ich experimentiere nämlich mit IPv6 Privacy Extensions (RFC 4941). Diese Option ist meines Erachtens noch nicht offiziell von der Opnsense unterstützt, obwohl ich es schon seit über einem Jahr erfolgreich im Probebetrieb habe. Vor Eröffnung einer Diskussion wollte ich prüfen, ob die mehrfach an der Schnittstelle haftenden IPv6-Präfixe einen Seiteneffekt meiner Experimente sind. Offensichtlich hat sich dieser Vorabtest jetzt erübrigt.

Dann führen wir die Diskussion doch hier fort, was mich vorab jedoch zu folgender Frage führt:


Das Problem dürfte sich nach genauerer Analyse eigentlich relativ einfach lösen lassen, indem vor der Neueinwahl alte IPv6-Adressen restlos von der Schnittstelle entfernt werden (entweder über das automatisch aufgerufen Skript ppp-linkdown.sh oder ppp-linkup.sh).  Ich schaue mir das mal genauer an. :)
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: schnipp on April 17, 2021, 02:19:47 pm
Ich habe ein Github-Ticket (https://github.com/opnsense/core/issues/4929) mit einem Korrekturvorschlag aufgemacht. Erste Tests sehen vielversprechend aus.  :)

Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: glasi on April 25, 2021, 12:46:20 pm
Ich kann das Problem bei mir reproduzieren.

Wie schnipp ausgeführt hat, bleiben die bisherigen (ungültigen) IPV6-Adressen weiterhin an der Schnittstelle hängen und führen zu Problemen.

Bei einer Neueinwahl sollten daher wie vorgeschlagen alte IPv6-Adressen restlos von der Schnittstelle entfernt werden.

Den Code-Vorschlag aus dem Github-Ticket kann ich soweit nachvollziehen. Damit würde es funktionieren. Evtl. hat jemand noch einen eleganteren Vorschlag, damit man nicht in einer Schleife alle IP-Adressen nacheinander durchlaufen muss...
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on July 13, 2021, 02:09:58 pm
Mittlerweile gibt es hierfür einen Test-Patch: https://github.com/opnsense/core/commit/11b5fe6e9c

Wer das Setup hat bitte test mit:

# opnsense-patch 11b5fe6e9c


Grüsse
Franco
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: schnipp on July 15, 2021, 06:17:59 pm
Mittlerweile gibt es hierfür einen Test-Patch: https://github.com/opnsense/core/commit/11b5fe6e9c

Wer das Setup hat bitte test mit:

# opnsense-patch 11b5fe6e9c

Ich kann kommenden Sonntag testen. Derzeit bin ich noch auf Version 21.1.7_1 mit den Patches (132ac6b05, b563c28, f7d7fd6).

Ist es ausreichend, auf Version 21.1.8_1 zu aktualisieren und danach den Patch anzuwenden?
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on July 15, 2021, 07:47:16 pm
Ja, sollte so passen. Merci!


Grüsse
Franco
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: glasi on July 15, 2021, 07:52:17 pm
Mal eben kurz getestet auf OPNsense 21.1.7_1.

Sieht gut aus. Die alten (ungültigen) IPv6-Adressen wurden restlos von der Schnittstelle entfernt.
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on July 15, 2021, 08:05:11 pm
Huch, die sollten doch aber mit dem letzten Patch nur noch als deprecated markiert werden?

Komplettes Entfernen hat leider Seiteneffekte die wir vermeiden wollen.


Grüsse
Franco
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: glasi on July 15, 2021, 08:22:08 pm
Lass mich kurz noch was testen...
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: glasi on July 15, 2021, 08:46:39 pm
Ok, mein erster Test war natürlich Müll. Netzwerkkabel vom Glasfasermodem abziehen war zu einfach gedacht. Da verschwindet ja das ganze pppoe0-Interface.

Mal schnell das ganze über den Switch geleitet, so dass das pppoe0-Interface nicht verloren geht, wenn ich das Netzwerkkabel ziehe.

Und ja, die alten Adressen werden nun als deprecated markiert. Funktioniert also wie gedacht.

Sorry für die Verwirrung.

Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: schnipp on July 18, 2021, 10:20:03 pm
Ich habe die Befürchtung, dass das das alleinige Markieren von IPv6-Adressen nicht zum Erfolg führen wird.

Ich habe auf Version 21.1.8_1 aktualisiert und den Patch eingespielt. Die IPv6-Adressen werden wie hier diskutiert als "deprecated" markiert. Jedoch funktioniert das Internet nach dem Verbindungsab- und aufbau nicht mehr, da diverse Dienste (u.a. DNS) weiterhin die als "deprecated" markierten Adressen verwenden, welche der ISP als nicht mehr gültig anssieht.

Sind denn noch weitere Änderungen eingeflossen?
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on July 19, 2021, 10:33:04 am
> da diverse Dienste (u.a. DNS) weiterhin die als "deprecated" markierten Adressen verwenden

Das klingt seltsam. Welche Dienste sind das denn... die von der OPNsense gesteuert werden?


Grüsse
Franco
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: schnipp on July 19, 2021, 04:48:20 pm
> da diverse Dienste (u.a. DNS) weiterhin die als "deprecated" markierten Adressen verwenden

Das klingt seltsam. Welche Dienste sind das denn... die von der OPNsense gesteuert werden?

Ich hatte bisher nur einen kurzen Test gemacht, dabei sind mir die DNS-Anfragen (Unbound) aufgefallen.

Für mich ist das Verhalten jedoch keineswegs seltsam. Als „deprecated“ markierte Adressen sind nicht automatisch ungültig. Sie sind für Anwendungen lediglich ein Hinweis, diese nicht mehr für neue Verbindungen zu verwenden. Auch werden diese Adressen bei der automatischen Quelladressierung möglichst nicht mehr verwendet. Bereits bestehende Sockets verwenden allerdings weiterhin ihre mittlerweile als „veraltet“ markierten Adressen. Applikationen, welche veraltete Quelladressen explizit bei der Erstellung neuer Sockets angeben, werden diese vermutlich auch zugewiesen bekommen.

Daher bin ich der Überzeugung, dass alle Adressen mit einen ungültigen IPv6-Präfix weiterhin von der Schnittstelle entfernt werden müssen.

Komplettes Entfernen hat leider Seiteneffekte die wir vermeiden wollen.

Welche Seiteneffekte hattest Du denn beim Entfernen der Adressen beobachtet?
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on July 20, 2021, 09:21:11 am
Na ja, der Seiteneffekt, dass die statische Konfiguration so gelöscht wird wenn wir nicht auf autoconf gehen. Einen Patch minimalinvasiv zu gestalten sollte schon die normale Herangehensweise sein.

Abgesehen davon war es gut zu wissen, dass deprecated nicht reicht und die Sockets offen bleiben. Es bedeutet ja letztlich dass der ISP seine eigene Zusage vergisst und die vorherige IP nicht weiter durchreicht. Ob das jetzt RFC-konform ist mag ich nicht beurteilen. ;)

Und die eine Zeile zu ändern ist jetzt auch kein Akt mit dem Wissen und Vorbereitung die wir haben.


Grüsse
Franco
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on July 20, 2021, 09:29:40 am
PS: https://github.com/opnsense/core/commit/dac9a74479a5
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: schnipp on July 22, 2021, 04:24:23 pm
Na ja, der Seiteneffekt, dass die statische Konfiguration so gelöscht wird wenn wir nicht auf autoconf gehen. Einen Patch minimalinvasiv zu gestalten sollte schon die normale Herangehensweise sein.

Das ist in der Tat ein Problem, sofern man eine statische Konfiguration verwendet. Daran hatte ich nicht gedacht. Vermutlich wird man es nur durch Implementierung eines endlichen Zustandsautomaten für die Einwahlverbindungen sauber hinbekommen, welcher die unterschiedlichen Szenarien berücksichtigt. Der Umbau wäre vermutlich erst einmal aufwendig.

Abgesehen davon war es gut zu wissen, dass deprecated nicht reicht und die Sockets offen bleiben. Es bedeutet ja letztlich dass der ISP seine eigene Zusage vergisst und die vorherige IP nicht weiter durchreicht. Ob das jetzt RFC-konform ist mag ich nicht beurteilen. ;)

Die Problematik mit dem dynamischen IPv6-Präfix setzt sich im Prinzip analog der Problematik mit der dynamischen IPv4-Adresse fort. Wobei die Probleme bei letzterem auf der NAT-Tabelle liegen, was wir vor längerer Zeit mit der Option "Dynamic State Reset" (Firewall -> Settings -> Advanced) gelöst hatten.

Und die eine Zeile zu ändern ist jetzt auch kein Akt mit dem Wissen und Vorbereitung die wir haben.

Für den neuen Test müsste ich den alten Patch deinstallieren und danach den neuen installieren?
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: franco on July 22, 2021, 04:56:04 pm
Für den neuen Test müsste ich den alten Patch deinstallieren und danach den neuen installieren?

Ja, genau :)

Oder:

# opnsense-revert opnsense
# opnsense-patch dac9a7447


Grüsse
Franco
Title: Re: IPv6-Probleme nach Verbindungsabruch
Post by: schnipp on July 24, 2021, 06:39:36 pm
Mit dem neuen Patch funktioniert es wieder :)

Wäre denn der Vorschlag, zukünftig einem Zustandsautomaten zu implementieren, eine Idee?

Viele Grüße,
Schnipp