I have a setup where I use a 10G bond to work with a remote system, but it intermittently gets disconnected, as traffic will occasionally be routed over another interface. I think I have the problem solved with the following routing for 192.168.0.31:
    Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 nm-bond
0.0.0.0         192.168.1.1     0.0.0.0         UG    90000  0        0 eno2
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eno2
192.168.0.0     0.0.0.0         255.255.254.0   U     1      0        0 nm-bond
192.168.0.0     0.0.0.0         255.255.254.0   U     90000  0        0 eno2
192.168.0.31    0.0.0.0         255.255.255.255 UH    0      0        0 nm-bond
Seems to work so far. Is there a better approach? How do I make this permanent?
I have tried many variations of this netplan file: 01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
    version: 2
    renderer: NetworkManager
    ethernets:
            nm-bond:
                addresses:
                    - 192.168.0.1/23
                routes:
                    - to: 192.168.0.31
                      via: 0.0.0.0
                      metric: 0
Probably the basic principal of converting the route -n table item to a netplan entry is where my problem is.  Still learning...
Actually, my end goal is to have all traffic to/from the internet to use eno2 and intranet to use nm-bond. I have port forwarding on my router to forward https to the IP address assigned to eno3.
 
    