Anfang 2026 begann ich mit Anthropic zu chatten, weil sich meine FRITZ!Box 7530 vermutlich bei einem Kaltstart und vermutlich schlechterer Retry-Logik als das originale FRITZ!OS erst nach einem erneuten Neustart einwählen würde.
Fehler die immer wieder auftauchten sind:
ff:ff:ff:ff:ff:ff is a broadcast MAC)/etc/config/network
In der Datei gibt es mehrere config device Blöcke mit zugehörigen option Definitionen. Inwiefern diese Einfluss nehmen können auf den pppoe Verbindungsaufbau bin ich mir bis heute nicht im Klaren.
Der nächste Block (config device) ist definiert vom option type bridge und gibt die Internetverbindung an die LAN Ports 2 bis 4 weiter (list ports lan#).
Ein config interface 'lan' wird als management Zugang eingestellt über option proto 'static' und option ipaddr '192.168.1.1' (option netmask '255.255.255.0').
Das config interface 'wan' ist auf jeden Fall wichtig für die Authentifizierung da diese von netifd gelesen werden:
option device 'lan1'
option proto 'pppoe'
option username 'N#11@kunden.sachsen-gigabit.de'
option password 'secret'
option ipv6 '0'
option keepalive '9 3'
option padi_attempts '5'
option padi_timeout '5'
option pppd_options 'noipv6 debug dump lcp-echo-interval 5 lcp-echo-failure 3'
Für mein Home Lab brauche ich zwingend IPV6 (wichtig wegen CGNAT und/oder Dual Stack Lite)
config interface 'wan6'
option device '@wan'
option proto 'dhcpv6'
option reqaddress 'try'
option reqprefix '56'
option norelease '1'
option release '0'
(letztere zwei sind wahrscheinlich exakt dasselbe)
/etc/ppp/options - IPV6 zunächst deaktivieren mit noipv6 (sollte das gleiche sein wie pppd_options noipv6 im interface wan.
Andere Grundeinstellungen wie
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd33:82d4:af6f::/48'
option packet_steering '1'
Andere Optionen bei denen ich unsicherer bin sind:
option ipv6 'auto'
option dhcpv6_pd '1'
option dhcpv6_strict '0'
option ip6assign '60'
option defaultroute '0'
option peerdns '0'
list dns <DNS Server des Internetanbieters>
um den Verbindungsaufbau / Authentifizierung besser manuell zu steuern.
Für die manuelle Steuerung (nach einem Neustart)
ifup wan (ifdown, ifstatus) um netifd anzustoßen und WAN-Ergebnis zu sehen.pppoe-discovery -I "$IFACE" -D /tmp/pppoe-discovery.log, pppd call wan debug dump, pppdump -i ppp0 > /tmp/ppp-traffic.dump für das debugging in /var/log/messages/etc/ppp/ip-up.d/ und /etc/ppp/ip-down.d/Unbestätigt:
Zum Beispiel kann es wichtig sein, dass der LAN1 Port (der als WAN fungieren soll) die richtige macaddr besitzt, wenn der Internetanbieter einen anderen Router bereitgestellt hat.
Claude (Anfang 2026):
wan6 uses DHCPv6, not PPPoEThe solution: Keep noipv6 in pppd options, but enable IPv6 differently.
Connection/Retry related:
persist - Keep retrying after connection dropsholdoff N - Wait N seconds before retrying (default 30)maxfail N - Stop after N failed attempts (you have maxfail 0 = infinite)connect-delay N - Max time (ms) to wait after connect script finishesidle N - Disconnect after N seconds of inactivitydemand - Dial on demand (you already have this disabled)Debugging:
debug - Increase debugging ✓ (you have this)kdebug N - Kernel driver debug levellogfile FILE - Log to file ✓ (you have this)dump - Print option values after parsingdryrun - Stop after parsing options (useful for testing)LCP/Link control (relevant for timeouts):
lcp-echo-interval N - Seconds between keepalive pings (you use keepalive 9 3)lcp-echo-failure N - Fail after N consecutive echo failureslcp-restart N - Timeout between LCP retransmissionslcp-max-configure N - Max LCP configure attemptspassive - Wait for LCP packets from peer instead of initiatingFor PADO timeout specifically, try adding to /etc/ppp/options:
persist
holdoff 5
lcp-restart 3
lcp-max-configure 10
FRITZ!Box likely uses different defaults than pppd. The issue might be:
Try these in /etc/ppp/options to mimic FRITZ!Box behavior:
# More aggressive discovery
padi_attempts 10
padi_timeout 5
# Simpler LCP negotiation
default-asyncmap
default-mru
nomagic
# Less aggressive about features
noaccomp
nopcomp
nocrtscts
# Better retry behavior
holdoff 3
persist
lcp-restart 2
Also, try reducing MTU - add to /etc/ppp/options:
mtu 1492
(PPPoE overhead is 8 bytes, so 1492 instead of standard 1500)
Most importantly: when does the PADO timeout happen?
Your ISP has TWO servers (01 and 02), and pppd is receiving PADO responses from both. It's trying to connect to Server-01 which succeeds, but you're getting responses from both.
The real problem: Look at the end:
Script /lib/netifd/ppp-up finished (pid 3214), status = 0x1
Status 0x1 means the script exited with error code 1. That's why the connection fails after negotiation completes!
Check what /lib/netifd/ppp-up does:
This script is responsible for setting up the interface after PPP negotiation succeeds. If it's failing, the connection gets torn down even though pppd negotiated everything correctly.
Can you show me the contents of /lib/netifd/ppp-up? That's likely where your real issue is.
Mehr komplexere Netzwerk Architektur, die ich noch nicht verstanden habe (könnten mehr Probleme verursachen als lösen):
Claude (Anfang 2026), ich begreife es selber nicht mehr:
In /etc/ppp/options
ipv6cp-use-ipaddr
100.64.1.221 → IPv6 identifier based on thatholdoff 5
passive
passive waits to receive one firstIn /etc/config/network (wan6 interface)
norelease '1'
release '0'
norelease '1' - they do the same thingiapd_length '56'
/56 means you get 256 /64 subnets for your LAN devicesdhcpv6_pd '1'
dhcpv6_strict '0'
Recommended clean config for your wan6:
config interface 'wan6'
option device '@wan'
option proto 'dhcpv6'
option reqprefix '56'
option norelease '1'
option dhcpv6_pd '1'
option dhcpv6_strict '0'
Remove: option release '0' and option reqaddress 'try' (redundant/not needed for PD)
The real question: Does enabling any IPv6 negotiation in pppd (like ipv6cp-use-ipaddr) cause your timeouts, or only full IPv6CP?
Try testing with just that one option and see if it connects without timing out.
ISP is providing an IPv6 gateway for Router Advertisement (RA)**
Prefix delegation (what wan6 requests) = DHCPv6-PD
Your ISP provides both, but pppd with noipv6 doesn't negotiate the RA part.
To get the IPv6 gateway without enabling IPv6CP:
Try adding this to /etc/ppp/options to be more selective about IPv6CP (instead of noipv6) - this enables IPv6CP but uses a simpler negotiation method.:
ipv6 fd00::1,fd00::2
ipv6cp-use-ipaddr
wan verbindet und deligiert wan6.
Claude (Anfang 2026) vermutet: IPv6CP disabled at PPP level, but DHCPv6-PD working above it.
root@OpenWrt:~# ip link show pppoe-wan
12: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 3
link/ppp
ifstatus wan6
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"dynamic": false,
"uptime": 46,
"l3_device": "pppoe-wan",
"proto": "dhcpv6",
"device": "pppoe-wan",
"updated": [
"addresses",
"routes",
"prefixes",
"data"
],
"metric": 0,
"dns_metric": 0,
"delegation": true,
"ipv4-address": [
],
"ipv6-address": [
{
"address": "2a00:fda0:287:5987:e1df:d019:253d:c364",
"mask": 64,
"preferred": 604751,
"valid": 2591951
}
],
"ipv6-prefix": [
{
"address": "2a00:fda0:2a2:4800::",
"mask": 56,
"preferred": 86354,
"valid": 86354,
"class": "wan6",
"assigned": {
"lan": {
"address": "2a00:fda0:2a2:4800::",
"mask": 60
}
}
}
],
"ipv6-prefix-assignment": [
],
"route": [
{
"target": "::",
"mask": 0,
"nexthop": "fe80::2cc:34ff:fee1:1ffd",
"metric": 512,
"valid": 1751,
"source": "2a00:fda0:2a2:4800::/56"
},
{
"target": "::",
"mask": 0,
"nexthop": "fe80::2cc:34ff:fee1:1ffd",
"metric": 512,
"valid": 1751,
"source": "2a00:fda0:287:5987:e1df:d019:253d:c364/64"
}
],
"dns-server": [
"2a00:fda0::1:53",
"2a02:2878:0:9::1337:53"
],
"dns-search": [
],
"neighbors": [
],
"inactive": {
"ipv4-address": [
],
"ipv6-address": [
],
"route": [
],
"dns-server": [
],
"dns-search": [
],
"neighbors": [
]
},
"data": {
"passthru": "001700202a00fda00000000000000000000100532a022878000000090000000013370053"
}
}
root@OpenWrt:~# ip -6 addr show br-lan
7: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet6 2a00:fda0:2a2:4800::1/60 scope global dynamic noprefixroute
valid_lft 86210sec preferred_lft 86210sec
inet6 fd33:82d4:af6f::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::1eed:6fff:fed6:a4cf/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
root@OpenWrt:~# ip -6 route show
default from 2a00:fda0:287:5987::/64 via fe80::2cc:34ff:fee1:1ffd dev pppoe-wan proto static metric 512 pref medium
default from 2a00:fda0:2a2:4800::/56 via fe80::2cc:34ff:fee1:1ffd dev pppoe-wan proto static metric 512 pref medium
unreachable 2a00:fda0:287:5987::/64 dev lo proto static metric 2147483647 pref medium
2a00:fda0:2a2:4800::/64 dev br-lan proto static metric 1024 pref medium
unreachable 2a00:fda0:2a2:4800::/56 dev lo proto static metric 2147483647 pref medium
fd33:82d4:af6f::/64 dev br-lan proto static metric 1024 pref medium
unreachable fd33:82d4:af6f::/48 dev lo proto static metric 2147483647 pref medium
fe80::2cc:34ff:fee1:1ffd dev pppoe-wan proto kernel metric 256 pref medium
fe80::e1df:d019:253d:c364 dev pppoe-wan proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev br-lan proto kernel metric 256 pref medium
fe80::/64 dev lan1 proto kernel metric 256 pref medium
Claude (Anfang 2026):
Before (with CGNAT only):
Now (with IPv6):
But WireGuard still provides security value:
Network segmentation - Isolate your hosted service from your home network
WireGuard interface → Service only
Regular IPv6 → Rest of home network untouched
Encryption end-to-end - Even with public IPv6, traffic is encrypted
Practical recommendation for home hosting:
Keep it simple:
What would you be hosting? That determines if WireGuard is worth the complexity.
WireGuard vs dynamic DNS:
You're right that WireGuard eliminates the dynamic DNS problem, but for different reasons:
| Method | Advantage |
|---|---|
| IPv6 Direct + Dynamic DNS | Simple, native IPv6, but need DDNS service if prefix changes |
| WireGuard | Static endpoint (your WireGuard server IP), clients always know where to connect |
With WireGuard: Your WireGuard server gets a stable IPv6 (or IPv4), and that address is hardcoded in client configs. Even if the underlying network changes, WireGuard endpoint stays the same.
Recommendation:
Does your ISP documentation mention how often they re-delegate prefixes? That determines if you need DDNS at all.
ipv6-address (WAN6): valid: 2591745 seconds ≈ 30 days
ipv6-prefix (delegated): valid: 84712 seconds ≈ 23.5 hours
route (default): valid: 1545 seconds ≈ 25 minutes
What this means:
This is the problem: Even though prefixes can be stable, your ISP renews them every 24 hours and could assign a different /56.
So yes, you might need dynamic DNS if:
Options:
# Run daily to see if prefix changes
ip -6 addr show wan6
If the prefix stays the same across renewals, you don't need DDNS. If it changes, you need either DDNS or WireGuard.