anulare
Afişează rezultate pentru 
Caută în schimb 
Ați dorit să scrieți: 

Problemă IPv6: WAN funcționează, dar prefixul delegat LAN nu primește răspuns până la renew

qlf
Explorator

Salut,

Am o problemă cu IPv6 Prefix Delegation pe conexiunea Orange fibra.

Setup-ul meu este așa: ONT-ul Orange este în bridge, iar în spatele lui folosesc routerul meu. IPv4 îl primesc prin DHCP pe WAN, iar IPv6 prin DHCPv6-PD pe WAN6. Routerul primește o adresă IPv6 pe WAN și un prefix delegat /56, din care alocă mai departe IPv6 pe LAN.

Menționez că nu folosesc IPv6 primit de la ONT. Informațiile IPv6 le iau direct prin DHCPv6-PD de la serverul Orange/upstream, nu din RA sau DHCPv6-PD de la ONT.

În mod normal totul funcționează bine. Problema apare în special după restartarea ONT-ului, dar mi s-a întâmplat și aleatoriu în timpul funcționării, fără să repornesc nimic.

Când problema apare, IPv6-ul de pe router continuă să funcționeze. De exemplu, traficul IPv6 sursat din adresa WAN merge. În același timp, pe LAN totul pare configurat corect: prefixul /56 este primit, LAN-ul are subnet din acel prefix, iar clienții primesc adrese IPv6. Totuși, traficul din prefixul LAN nu mai primește răspuns din internet.

Am făcut test cu tcpdump direct pe interfața WAN a routerului. În starea defectă, văd pachetele plecând corect către gateway-ul Orange:

2a02:a58:96be:xx00::1 > 2606:4700:4700::1111 ICMPv6 echo request

Pachetele sunt trimise către gateway-ul Orange, dar nu primesc reply.

Dacă forțez un renew DHCPv6-PD pe router, fără să schimb altceva în configurație, același test începe imediat să primească răspuns:

2606:4700:4700::1111 > 2a02:a58:96be:xx00::1 ICMPv6 echo reply

Din ce văd eu, pachetele din prefixul delegat pleacă din router către Orange, dar ruta de retur pentru prefixul delegat pare să nu mai fie activă până când se face renew DHCPv6-PD.

Vă rog să verificați pe partea de rețea Orange dacă binding-ul sau ruta de retur pentru prefixul meu delegat /56 rămâne blocată, expiră incorect sau nu se reactivează corect după restart ONT sau reconectare.

Pe scurt:

  1. ONT Orange în bridge.
  2. Router propriu în spatele ONT-ului.
  3. IPv4 prin DHCP.
  4. IPv6 prin DHCPv6-PD, direct de la serverul Orange.
  5. Nu folosesc RA/DHCPv6-PD de la ONT pentru IPv6.
  6. IPv6 WAN funcționează.
  7. Prefixul delegat /56 este primit și asignat pe LAN.
  8. Traficul din prefixul LAN pleacă spre gateway-ul Orange.
  9. Răspunsurile nu se întorc.
  10. După DHCPv6-PD renew, răspunsurile apar imediat.

Pare o problemă de DHCPv6-PD binding sau rută de retur pentru prefixul delegat, nu o problemă locală de LAN.

Multumesc.

1 Soluţie acceptată‚

qlf
Explorator

Ok, din păcate problema a revenit astăzi, dar după toate testele mele am reușit să găsesc fix-ul perfect pentru ea în acest script — practic nu mai pică niciodată. Sper că poate ajuta pe cineva care are o problemă similară:

/////////////////////////////////////////////

cat > /etc/hotplug.d/iface/99-fix-orange-pd-renew

/////////////////////////////////////////////

#!/bin/sh

[ "$INTERFACE" = "wan6" ] || exit 0

case "$ACTION" in
    ifup|ifupdate) ;;
    *) exit 0 ;;
esac

WAN_DEV="$(ifstatus wan6 | jsonfilter -e '@.l3_device' 2>/dev/null)"
BRLAN_IP="$(ip -6 addr show dev br-lan scope global | awk '/inet6/ {print $2}' | cut -d/ -f1 | head -n1)"
PID="$(pgrep -f "odhcp6c.*${WAN_DEV}")"

[ -n "$WAN_DEV" ] || exit 0
[ -n "$BRLAN_IP" ] || exit 0
[ -n "$PID" ] || exit 0

ping -6 -I "$BRLAN_IP" -c 2 -W 2 2606:4700:4700::1111 >/dev/null 2>&1 && exit 0

logger -t orange-pd-fix "LAN IPv6 prefix not receiving replies; forcing DHCPv6-PD renew"
kill -USR1 "$PID"

/////////////////////////////////////////////

chmod +x /etc/hotplug.d/iface/99-fix-orange-pd-renew

/////////////////////////////////////////////

Vizualizare soluţie în postul original

44 Răspunsuri 44

Si sa nu uitam de faptul ca pe router ipv6 functioneaza permanent, indiferent de restart ONT, etc.

qlf
Explorator

Update: Am vorbit cu cei de la tehnic, au verificat si nu este vreo problema la ei.

Am facut un mic script care vad ca pe moment isi face treaba. Vad daca va fi bun si in timpul functionarii, fara reboot de ONT.

qlf
Explorator

Update final, sper eu.

Apelul catre Orange a avut efect 😂

Dupa cum am spus in postarea mea finala, Orange mi s-a spus că nu se vede nicio problemă pe partea lor.

Totuși, după ce am resetat atât ONT-ul, problema a dispărut complet... Am testat din nou restartarea ONT-ului, iar acum IPv6 continuă să funcționeze normal și pe LAN. Nu mai rămâne blocat prefixul delegat și nu mai este nevoie să forțez DHCPv6-PD renew manual.

Deci, în cazul meu, se pare că problema era totuși legată de starea ONT/Orange/upstream, nu de rutele locale OpenWrt. Routerul primea prefixul, LAN-ul era configurat corect, pachetele plecau pe WAN, dar returul nu funcționa până la renew. După apelul cu Orange si mai apoi resetarea ONT-ului, aceeași configurație funcționează corect inclusiv după restart ONT.

Momentan las totul așa și mai monitorizez. Dacă reapare, revin cu loguri noi, dar deocamdată pare rezolvat.

Asa ceva 😂😂

@qlf, mă bucur că ai rezolvat și mulțumim pentru feedback! Poți marca răspunsul tău ca soluție pentru a fi de ajutor și altor membri sau vizitatori.

Respectă și vei fi respectat(ă), tratează toți membrii așa cum ai vrea și tu să fii tratat(ă).

qlf
Explorator

Ok, din păcate problema a revenit astăzi, dar după toate testele mele am reușit să găsesc fix-ul perfect pentru ea în acest script — practic nu mai pică niciodată. Sper că poate ajuta pe cineva care are o problemă similară:

/////////////////////////////////////////////

cat > /etc/hotplug.d/iface/99-fix-orange-pd-renew

/////////////////////////////////////////////

#!/bin/sh

[ "$INTERFACE" = "wan6" ] || exit 0

case "$ACTION" in
    ifup|ifupdate) ;;
    *) exit 0 ;;
esac

WAN_DEV="$(ifstatus wan6 | jsonfilter -e '@.l3_device' 2>/dev/null)"
BRLAN_IP="$(ip -6 addr show dev br-lan scope global | awk '/inet6/ {print $2}' | cut -d/ -f1 | head -n1)"
PID="$(pgrep -f "odhcp6c.*${WAN_DEV}")"

[ -n "$WAN_DEV" ] || exit 0
[ -n "$BRLAN_IP" ] || exit 0
[ -n "$PID" ] || exit 0

ping -6 -I "$BRLAN_IP" -c 2 -W 2 2606:4700:4700::1111 >/dev/null 2>&1 && exit 0

logger -t orange-pd-fix "LAN IPv6 prefix not receiving replies; forcing DHCPv6-PD renew"
kill -USR1 "$PID"

/////////////////////////////////////////////

chmod +x /etc/hotplug.d/iface/99-fix-orange-pd-renew

/////////////////////////////////////////////

Viper
Cunoscător certificat

Era de așteptat, eu bănuiesc cu totul altceva dar neștiind ce mai ai prin rețea nu-mi dau cu presupusul.

Spor.

Doar ONT si dupa el Flint 3. Nu am IP fix, folosesc AdGuard Home, custom DNS, si cam asta este.

qlf
Explorator

Ok, am găsit ceva foarte interesant.

wan6 este setat pe Request IPv6-address: try, deci cerea atât o adresă WAN /128 de tip IA_NA, cât și prefixul delegat /56 de tip IA_PD. După un reboot al ONT-ului, prefixul rămânea vizibil local, dar IPv6 pe LAN nu mai funcționa până când făceam manual un DHCPv6 renew.

După ce am schimbat Request IPv6-address pe disabled, routerul cere doar prefixul delegat /56, iar IPv6 își revine corect după reboot ONT, fără niciun renew manual. Deci practic fără script, fără nimic. De ce ar cauza adresa /128 problema asta?

Viper
Cunoscător certificat

Nu ar trebui să cauzeze probleme, e perfect normal să primești și o adresă din afara prefixului alocat.

Ceva e ciudat cu firmware-ul de pe acel router.

Să nu fie vorba de ceva bug pe hardware offload, la altceva nu pot să mă gândesc.

Le-am dat un mesaj celor de la glinet. Sper sa rezolve.

Viper
Cunoscător certificat

Am văzut că te distrezi și pe forum la ei.

Îmi scapă o chestie, primești același prefix de fiecare dată sau se schimbă?

Este acelasi de fiecare data.

Viper
Cunoscător certificat

Ok, când te plictisești și vrei să mai faci teste poți să faci o captură cu wireshark pe un client, cu filtru de afișare doar pe ICMPv6 - RA și DHCPv6

"icmpv6.type == 134 || dhcpv6"

Poate vezi ceva suspect la repornirea ONT-ului.

Am comparat ambele cazuri cu Wireshark pe un client din LAN.

Cu Request IPv6-address: disabled, după reboot ONT, routerul anunță normal prefixul delegat și IPv6 pe LAN funcționează. Cu Request IPv6-address: try, routerul anunță în continuare același prefix normal pe LAN, dar traficul IPv6 din LAN nu mai primește răspunsuri, asta pana fac un renew de dhcpv6.

Deci problema nu este în RA-ul de pe LAN sau în anunțarea prefixului; problema pare să fie în starea DHCPv6 de pe wan6 atunci când sunt cerute împreună IA_NA /128 și IA_PD /56.

O sa ma limitez pe moment doar la PD.

Plus ca am dezactivat accelerarea hw, tin minte, si nu a rezolvat problema. Ideea e ca au ceva bug. Pe moment o sa tin dezactivata adresa pe router.