Score:0

Networking: 4 Separate Subnets Default Route Consistency Warning?

ru flag

Just installed Ubuntu and one of my network card ports does not work and has no ping to it's IP - eno2.

Netplan as configured during install:

    # This is the network config written by 'subiquity'
network:
  ethernets:
    eno1:
      addresses:
      - 11.22.33.210/24
      - 1a2a:3a4a:5a6a:16::601/64
      gateway4: 11.22.33.1
      gateway6: 1a2a:3a4a:5a6a:16::1
      nameservers:
        addresses:
        - 1.1.1.1
        - 1.0.0.1
        - 8.8.8.8
        - 8.8.4.4
        - 2606:4700:4700::1111
        - 2606:4700:4700::1001
        - 2001:4860:4860::8888
        - 2001:4860:4860::8844
      accept-ra: no
    eno2:
      addresses:
      - 22.33.44.210/24
      - 1a2a:3a4a:5a6a:17::602/64
      gateway4: 22.33.44.1
      gateway6: 1a2a:3a4a:5a6a:17::1
      nameservers:
        addresses:
        - 1.1.1.1
        - 1.0.0.1
        - 8.8.8.8
        - 8.8.4.4
        - 2606:4700:4700::1111
        - 2606:4700:4700::1001
        - 2001:4860:4860::8888
        - 2001:4860:4860::8844
      accept-ra: no
    eno3:
  addresses:
  - 33.44.55.210/24
  - 1a2a:3a4a:5a6a:18::603/64
  gateway4: 33.44.55.1
  gateway6: 1a2a:3a4a:5a6a:18::1
  nameservers:
    addresses:
    - 1.1.1.1
    - 1.0.0.1
    - 8.8.8.8
    - 8.8.4.4
    - 2606:4700:4700::1111
    - 2606:4700:4700::1001
    - 2001:4860:4860::8888
    - 2001:4860:4860::8844
    - 2606:4700:4700::1111
    - 2606:4700:4700::1001
    - 2001:4860:4860::8888
    - 2001:4860:4860::8844
  accept-ra: no
eno4:
  addresses:
  - 44.55.66.210/24
  - 1a2a:3a4a:5a6a:19::604/64
  gateway4: 44.55.66.1
  gateway6: 1a2a:3a4a:5a6a:19::1
  nameservers:
    addresses:
    - 1.1.1.1
    - 1.0.0.1
    - 8.8.8.8
    - 8.8.4.4
    - 2606:4700:4700::1111
    - 2606:4700:4700::1001
    - 2001:4860:4860::8888
    - 2001:4860:4860::8844
  accept-ra: no
  version: 2

Ran this

echo 101 eno1-route >>/etc/iproute2/rt_tables
echo 102 eno2-route >>/etc/iproute2/rt_tables
echo 103 eno3-route >>/etc/iproute2/rt_tables
echo 104 eno4-route >>/etc/iproute2/rt_tables

rc.local

#!/bin/bash 

# Increasing The Transmit Queue Length
/sbin/ifconfig eno1 txqueuelen 10000
/sbin/ifconfig eno2 txqueuelen 10000
/sbin/ifconfig eno3 txqueuelen 10000
/sbin/ifconfig eno4 txqueuelen 10000
/sbin/ifconfig lo txqueuelen 10000
#routes
ip route add default via 11.22.33.1 dev eno1 table eno1-route
ip rule add from 11.22.33.210 lookup eno1-route
ip route add default via 22.33.44.1 dev eno2 table eno2-route
ip rule add from 22.33.44.210 lookup eno2-route
ip route add default via 33.44.55.1 dev eno3 table eno3-route
ip rule add from 33.44.55.210 lookup eno3-route
ip route add default via 44.55.66.1 dev eno4 table eno4-route
ip rule add from 44.55.66.77 lookup eno4-route

Getting this error when applying netplan.

** (generate:5742): WARNING **: 05:13:22.079: Problem encountered while validating default route consistency.Please set up multiple routing tables and use `routing-policy` instead.
Error: Conflicting default route declarations for IPv4 (table: main, metric: default), first declared in eno2 but also in eno4

All IPs both IPv4 and IPv6 seem pinglable after reboot. What is going on? I already have different routing tables. Conflicting default route declarations!?

ip route list returns

default via 22.33.44.1 dev eno2 proto static 
default via 33.44.55.1 dev eno3 proto static 
default via 11.22.33.1 dev eno1 proto static 
default via 44.55.66.1 dev eno4 proto static 
44.55.66.0/24 dev eno4 proto kernel scope link src 44.55.66.210 
11.22.33.0/24 dev eno1 proto kernel scope link src 11.22.33.210 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
22.33.44.0/24 dev eno2 proto kernel scope link src 22.33.44.210 
33.44.55.0/24 dev eno3 proto kernel scope link src 33.44.55.210 
Score:1
us flag

You have different routing tables, but when you use the gateway4 and gateway6 shorthand, this does not make use of those routing tables. To get the results you want, you will need to spell out the default routes as routes: instead as described at https://netplan.io/reference/#default-routes.

ru flag
Tried. Returns Invalid YAML: mapping values are not allowed in this context: routes: ^
us flag
Updated the answer with a pointer to complete documentation of `routes:`, including use of routing tables for multiple default routes.
ru flag
If the routes and rules are not added like described in rc.local above, there is no ping to the IPs, so I take it they are in use. Thanks for the update, anyway.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.