Default route not working after reboot

I have a default route setup using the following:
set protocol static route 0.0.0.0/0 next-hop 10.0.0.1

When it is initially setup and I run ip route I see:

default nhid 4 via 10.0.0.1 dev eth0 proto static metric 20
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.253

When I reboot and run ip route I see:

10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.253

so the default route is missing.

Here is my config.boot:

interfaces {
    ethernet eth0 {
        address 10.0.0.253/24
        description lan
        hw-id xx:xx:xx:xx:xx:xx
    }
    loopback lo {
    }
}
protocols {
    static {
        route 0.0.0.0/0 {
            next-hop 10.0.0.1 {
            }
        }
    }
}
...

What does “show ip route” show after reboot?

Which version?
show version

Version info:


Version:          VyOS 1.3dev0-3942-ge890a70d1
Release train:    equuleus

Built by:         Sentrium S.L.
Built on:         2023-04-04 13:53:55 UTC
Build UUID:       ff390e75-5a03-4ab2-8498-1355e399b2cd
Build commit ID:  unknown

Architecture:     x86_64
Boot via:         installed image
System type:      bare metal

Hardware vendor:  HP
Hardware model:   HP ProDesk 600 G3 DM
Hardware S/N:     8CG8343BZR
Hardware UUID:    eb9311ab-2144-c4e4-6861-66903f739ace

Copyright:        VyOS maintainers and contributors

show ip route shows zebra is not running

Also, if, after reboot, I recreate the route with:

delete protocol static route 0.0.0.0/0
commit
set protocols static route 0.0.0.0/0 next-hop 10.0.0.1
commit
save
exit

The route works again.

Not reproducible
VyOS 1.3.2-20230412083020
VyOS 1.3-stable-202304260442

Is it some specific image with custom packages?
I see correct routes after reboot

vyos@r1:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup

S>* 0.0.0.0/0 [1/0] via 192.168.122.1, eth0, weight 1, 00:02:18
C>* 192.0.2.25/32 is directly connected, dum0, 00:02:19
C>* 192.168.122.0/24 is directly connected, eth0, 00:02:19
vyos@r1:~$ 

Try another image, or provide a complete configuration “show conf com”
Also, could you provide logs after reboot? sudo journalctl -b | tee

show conf com
set interfaces ethernet eth0 address '10.0.0.253/24'
set interfaces ethernet eth0 description 'wan'
set interfaces ethernet eth0 hw-id '00:15:5d:01:b6:1d'
set interfaces ethernet eth0 offload gro
set interfaces ethernet eth0 offload gso
set interfaces ethernet eth0 offload sg
set interfaces ethernet eth0 offload tso
set interfaces loopback lo
set nat source rule 10 destination address '10.1.0.0/24'
set nat source rule 10 exclude
set nat source rule 10 outbound-interface 'eth0'
set nat source rule 10 source address '10.0.0.0/24'
set protocols static route 0.0.0.0/0 next-hop 10.0.0.1
set service ssh port '22'
set system config-management commit-revisions '100'
set system console device ttyS0 speed '115200'
set system domain-name '<REDACTED>'
set system host-name 'vyos2'
set system login user vyos authentication encrypted-password '<REDACTED>'
set system login user vyos authentication plaintext-password ''
set system name-server '10.0.0.1'
set system ntp server time1.vyos.net
set system ntp server time2.vyos.net
set system ntp server time3.vyos.net
set system syslog global facility all level 'info'
set system syslog global facility protocols level 'debug'
set system time-zone 'America/New_York'
set vpn ipsec esp-group ESP-AZURE compression 'disable'
set vpn ipsec esp-group ESP-AZURE lifetime '3600'
set vpn ipsec esp-group ESP-AZURE mode 'tunnel'
set vpn ipsec esp-group ESP-AZURE pfs 'dh-group2'
set vpn ipsec esp-group ESP-AZURE proposal 1 encryption 'aes256'
set vpn ipsec esp-group ESP-AZURE proposal 1 hash 'sha1'
set vpn ipsec ike-group IKE-AZURE close-action 'none'
set vpn ipsec ike-group IKE-AZURE dead-peer-detection action 'restart'
set vpn ipsec ike-group IKE-AZURE dead-peer-detection interval '15'
set vpn ipsec ike-group IKE-AZURE dead-peer-detection timeout '30'
set vpn ipsec ike-group IKE-AZURE ikev2-reauth 'yes'
set vpn ipsec ike-group IKE-AZURE key-exchange 'ikev2'
set vpn ipsec ike-group IKE-AZURE lifetime '28800'
set vpn ipsec ike-group IKE-AZURE proposal 1 dh-group '2'
set vpn ipsec ike-group IKE-AZURE proposal 1 encryption 'aes256'
set vpn ipsec ike-group IKE-AZURE proposal 1 hash 'sha1'
set vpn ipsec ipsec-interfaces interface 'eth0'
set vpn ipsec site-to-site peer 40.85.167.160 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer 40.85.167.160 authentication pre-shared-secret '<REDACTED>'
set vpn ipsec site-to-site peer 40.85.167.160 connection-type 'respond'
set vpn ipsec site-to-site peer 40.85.167.160 default-esp-group 'ESP-AZURE'
set vpn ipsec site-to-site peer 40.85.167.160 ike-group 'IKE-AZURE'
set vpn ipsec site-to-site peer 40.85.167.160 ikev2-reauth 'inherit'
set vpn ipsec site-to-site peer 40.85.167.160 local-address '10.0.0.253'
set vpn ipsec site-to-site peer 40.85.167.160 tunnel 1 allow-nat-networks 'disable'
set vpn ipsec site-to-site peer 40.85.167.160 tunnel 1 allow-public-networks 'disable'
set vpn ipsec site-to-site peer 40.85.167.160 tunnel 1 local prefix '10.0.0.0/16'
set vpn ipsec site-to-site peer 40.85.167.160 tunnel 1 remote prefix '10.1.0.0/16'

Boot log attached
boot.log (170.7 KB)

At first look the issue could be with driver

Apr 27 08:56:36 vyos2 vyos-configd[40]: Received message: {"type": "node", "data": "VYOS_TAGNODE_VALUE=eth0/usr/libexec/vyos/conf_mode/interfaces-ethernet.py"}
Apr 27 08:56:36 vyos2 netplugd[197]: eth0: state INSANE flags 0x00011043 UP,BROADCAST,RUNNING,MULTICAST,10000 -> 0x00001002 BROADCAST,MULTICAST
Apr 27 08:56:36 vyos2 netplugd[671]: /etc/netplug/netplug eth0 probe -> pid 671
Apr 27 08:56:36 vyos2 netplugd[197]: eth0: state PROBING flags 0x00001002 BROADCAST,MULTICAST -> 0x00011043 UP,BROADCAST,RUNNING,MULTICAST,10000
Apr 27 08:56:36 vyos2 ZEBRA[235]: Received signal 11 at 1682600196 (si_addr 0xd0, PC 0x55becce1faf4); aborting...
Apr 27 08:56:36 vyos2 netplugd[197]: eth0: state PROBING_UP pid 671 exited status 0
Apr 27 08:56:36 vyos2 netplugd[673]: /etc/netplug/netplug eth0 in -> pid 673
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(zlog_backtrace_sigsafe+0x57) [0x7f026f7111a7]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(zlog_signal+0xdd) [0x7f026f71139d]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(+0x83124) [0x7f026f738124]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x12730) [0x7f026f59d730]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/frr/zebra(zebra_vxlan_macvlan_up+0x24) [0x55becce1faf4]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/frr/zebra(if_up+0x1d8) [0x55beccdb6c18]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/frr/zebra(netlink_link_change+0x90f) [0x55beccdb0b9f]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/frr/zebra(netlink_parse_info+0x183) [0x55beccdb99f3]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/frr/zebra(+0x38cc5) [0x55beccdb9cc5]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(thread_call+0x56) [0x7f026f7474b6]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(frr_run+0xe0) [0x7f026f70fda0]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/frr/zebra(main+0x31d) [0x55beccdaad0d]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f026f3ef09b]
Apr 27 08:56:36 vyos2 ZEBRA[235]: /usr/lib/frr/zebra(_start+0x2a) [0x55beccdab65a]
Apr 27 08:56:36 vyos2 ZEBRA[235]: in thread kernel_read scheduled from zebra/kernel_netlink.c:406
Apr 27 08:56:36 vyos2 zebra[235]: unlink logbuf: Bad file descriptor (9)
Apr 27 08:56:36 vyos2 watchfrr[199]: [EC 268435457] zebra state -> down : read returned EOF
Apr 27 08:56:36 vyos2 watchfrr[199]: zebra state -> up : connect succeeded
Apr 27 08:56:36 vyos2 netplugd[197]: eth0: state INNING pid 673 exited status 256
Apr 27 08:56:36 vyos2 watchfrr[199]: [EC 268435457] zebra state -> down : unexpected read error: Connection reset by peer
Apr 27 08:56:36 vyos2 vyos-configd[40]: Sending response 1

Apr 27 08:57:36 vyos2 watchfrr[199]: Forked background command [pid 1147]: /usr/lib/frr/watchfrr.sh restart all

Zebra restarted and you get config without any routing, only connected networks.
I don’t not where you get this image but try another image

1 Like

I did rebuild from the rolling version of 1.3 and it is now working. By the way, I was able to recreate the issue using the docker container for 1.3 so there must have been a change somewhere that fixed it.

Thank you very much @Viacheslav and @kyle I appreciate the help.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.