opnsense / core

OPNsense GUI, API and systems backend
https://opnsense.org/
BSD 2-Clause "Simplified" License
3.36k stars 754 forks source link

Router advertisements not working on reboot, requires manual restart #6850

Closed Altycoder closed 1 year ago

Altycoder commented 1 year ago

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Describe the bug

On rebooting opnsense, router advertisement daemon is not working, devices do not set up IP address, gateway, dns etc etc. Manually restarting router advertisement daemon fixes the problem immediately.

To Reproduce

Reboot opnsense

Expected behavior

Router advertisements should work on reboot and not require manual intervention.

Describe alternatives you considered

n/a

If applicable, information from log files supporting your claim.

I can see the following in general log, can do further diagnosis with guidance:

/usr/local/etc/rc.newwanipv6: Failed to detect IP for interface wan

<7>cannot forward src fe80:<redacted>, dst 2a00:11c0:8:4::9, nxt 6, rcvif igc1, outif pppoe0

<7>cannot forward src fe80:<redacted>, dst 2a07:a8c1::88:2c79, nxt 6, rcvif igc1, outif pppoe0

<7>cannot forward src fe80:<redacted>, dst 2a07:a8c0::a3:ca67, nxt 17, rcvif igc1, outif pppoe0

<118>Cannot 'stop' dhcrelay6. Set dhcrelay6_enable to YES in /etc/rc.conf or use 'onestop' instead of 'stop'.

Additional context

I am on BT FTTP 900/110 with pppoe and my ISP delegates me a /56 prefix, I use DHCPv6 on WAN to retrieve this. On LAN side I have 2x VLANs, my main LAN has a /64 and my IOT VLAN has ipv6 disabled (ipv4 only).

I use unmanaged (SLAAC) router advertisements to pass out ipv6 details to clients on my LAN which works fine post manually restarting radvd. I've also tried assisted and have the same problem. I do not use DHCPv6 on LAN.

Environment

OPNsense 23.7.3-amd64 Mini PC with N100 cpu, Intel i226 network adapters, 8GB RAM and 128 m.2 SSD storage.

Altycoder commented 1 year ago

After reboot this is my radvd.conf (no prefix):

# Automatically generated, do not edit
# Generated RADVD config for manual assignment on lan
interface igc1 {
        AdvSendAdvert on;
        MinRtrAdvInterval 200;
        MaxRtrAdvInterval 600;
        AdvLinkMTU 1500;
        AdvDefaultPreference medium;
        RDNSS 2a07<redacted> 2a07<redacted> {
        };
        DNSSL home.arpa {
        };
};
# Generated RADVD config for manual assignment on opt1
interface vlan01 {
        AdvSendAdvert on;
        MinRtrAdvInterval 200;
        MaxRtrAdvInterval 600;
        AdvLinkMTU 1500;
        AdvDefaultPreference medium;
        RDNSS 2620:fe::fe 2606:4700:4700::1112 {
        };
        DNSSL home.arpa {
        };
};

After manually restarting RA:

# Automatically generated, do not edit
# Generated RADVD config for manual assignment on lan
interface igc1 {
        AdvSendAdvert on;
        MinRtrAdvInterval 200;
        MaxRtrAdvInterval 600;
        AdvLinkMTU 1492;
        AdvDefaultPreference medium;
        prefix 2a00:<redacted>::/64 {
                DeprecatePrefix on;
                AdvOnLink on;
                AdvAutonomous on;
        };
        RDNSS 2a07:<redacted> {
        };
        DNSSL home.arpa {
        };
};
# Generated RADVD config for manual assignment on opt1
interface vlan01 {
        AdvSendAdvert on;
        MinRtrAdvInterval 200;
        MaxRtrAdvInterval 600;
        AdvLinkMTU 1492;
        AdvDefaultPreference medium;
        prefix 2a00:<redacted>/64 {
                DeprecatePrefix on;
                AdvOnLink on;
                AdvAutonomous on;
        };
        RDNSS 2620:fe::fe 2606:4700:4700::1112 {
        };
        DNSSL home.arpa {
        };
};
Altycoder commented 1 year ago

Possibly related to: https://github.com/opnsense/core/issues/6637

Altycoder commented 1 year ago

it looks to me like RA is starting too early and not waiting for WAN to be fully configured by ISP?

2023-09-15T09:27:50   Notice   configctl    event @ 1694766469.65 exec: system event config_changed
2023-09-15T09:27:50   Notice   configctl    event @ 1694766469.65 msg: Sep 15 09:27:49 OPNsense.home.arpa config[62224]: config-event: new_config /conf/backup/config-1694766469.6436.xml
2023-09-15T08:53:23   Notice   kernel    <7>cannot forward src fe80:2::<redacted>, dst 2a03<redacted>, nxt 58, rcvif igc1, outif pppoe0
2023-09-15T08:53:12   Notice   kernel    <7>cannot forward src fe80:2::<redacted>, dst 2600<redacted>, nxt 58, rcvif igc1, outif pppoe0
2023-09-15T08:53:07   Notice   kernel    <7>cannot forward src fe80:2::<redacted>, dst 2a00:<redacted>, nxt 17, rcvif igc1, outif pppoe0
2023-09-15T08:52:31   Notice   opnsense    /usr/local/etc/rc.newwanipv6: Failed to detect IP for interface wan
2023-09-15T08:52:29   Notice   opnsense    /usr/local/etc/rc.newwanipv6: Failed to detect IP for interface wan
2023-09-15T08:52:28   Notice   dhcp6c    dhcp6c_script: REQUEST on pppoe0 renewal
2023-09-15T08:52:28   Notice   dhcp6c    dhcp6c_script: REQUEST on pppoe0 executing
2023-09-15T08:52:27   Notice   dhcp6c    RTSOLD script - Sending SIGHUP to dhcp6c
2023-09-15T08:52:27   Notice   dhcp6c    dhcp6c_script: REQUEST on pppoe0 renewal
2023-09-15T08:52:27   Notice   dhcp6c    dhcp6c_script: REQUEST on pppoe0 executing
2023-09-15T08:52:26   Notice   opnsense    /usr/local/etc/rc.newwanipv6: Failed to detect IP for interface wan
2023-09-15T08:52:24   Error   dhcp6c    transmit failed: Network is down
2023-09-15T08:52:23   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (execute task : webgui_configure_do(,wan))
2023-09-15T08:52:23   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (execute task : vxlan_configure_do())
2023-09-15T08:52:23   Error   dhcp6c    transmit failed: Permission denied

2023-09-15T08:52:23   Notice   kernel    <118> iot (vlan01)    -> v4: 192.168.5.1/24
2023-09-15T08:52:23   Notice   kernel    <118> WAN (pppoe0)    -> v4/PPPoE: 86.<redacted>/32
2023-09-15T08:52:23   Notice   kernel    <118> LAN (igc1)      -> v4: 192.168.1.1/24
2023-09-15T08:52:23   Notice   kernel    <118>
2023-09-15T08:52:23   Notice   kernel    <118>*** OPNsense.home.arpa: OPNsense 23.7.4 ***
2023-09-15T08:52:23   Notice   kernel    <118>
2023-09-15T08:52:23   Notice   kernel    <118>Fri Sep 15 08:52:22 BST 2023
2023-09-15T08:52:23   Notice   kernel    <118>Root file system: /dev/gpt/rootfs
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (execute task : unbound_configure_do(,wan))
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (execute task : openssh_configure_do(,wan))
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (execute task : opendns_configure_do())
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (execute task : ntpd_configure_do())
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (execute task : dnsmasq_configure_do())
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure newwanip (,wan)
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: Resyncing OpenVPN instances for interface WAN.
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure vpn (execute task : openvpn_configure_do(,wan))
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure vpn (execute task : ipsec_configure_do(,wan))
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure vpn (,wan)
2023-09-15T08:52:22   Notice   kernel    [fib_algo] inet.0 (bsearch4#18) rebuild_fd_flm: switching algo to radix4_lockless
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure monitor (execute task : dpinger_configure_do(,WAN_PPPOE))
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: plugins_configure monitor (,WAN_PPPOE)
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: ROUTING: keeping current inet default gateway '172.<redacted>'
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: ROUTING: configuring inet default gateway on wan
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: ROUTING: entering configure using 'wan'
2023-09-15T08:52:22   Notice   dhcp6c    RTSOLD script - Starting dhcp6c daemon
2023-09-15T08:52:22   Notice   opnsense    /usr/local/etc/rc.newwanip: IP renewal starting (new: 86.<redacted>, old: , interface: wan, device: pppoe0, force: yes)

2023-09-15T08:52:20   Notice   kernel    ipfw2 (+ipv6) initialized, divert loadable, nat loadable, default to accept, logging disabled

2023-09-15T08:52:17   Notice   kernel    <118>Starting router advertisement service...done.

2023-09-15T08:52:17   Error   opnsense    /usr/local/etc/rc.bootup: ROUTING: not a valid default gateway address: ''
2023-09-15T08:52:17   Notice   opnsense    /usr/local/etc/rc.bootup: ROUTING: configuring inet6 default gateway on wan
Altycoder commented 1 year ago

Merged into https://github.com/opnsense/core/issues/6671