Маршрутизация работает по-разному на двух внутренних сетевых картах

Маршрутизация работает по-разному на двух внутренних сетевых картах

на сервере mu Ubuntu 22.04 у меня есть две внутренние сетевые карты и одна внешняя, подключенная к Интернету. Я определил интерфейсы с помощью Netplan следующим образом:

network:
  ethernets:
    eno1:
      dhcp4: true
      dhcp4-overrides:
        route-metric: 100
    enp2s0:
      addresses:
        - 172.16.1.1/24
      nameservers:
        addresses:
        - 127.0.0.53
        - 8.8.8.8
        search:
        - wombats.org
      routes:
        - to: default
          via: 192.168.0.254
        - to: 172.16.1.0/24
          via: 172.16.1.1
          metric: 200
          table: 101
      routing-policy:
        - from: 172.16.1.0/24
          table: 101
    wlp8s0:
      dhcp4: no
      addresses:
        - 172.16.2.1/24
      routes:
        - to: 172.16.2.0/24
          via: 172.16.2.1
          metric: 20
          table: 102
      routing-policy:
        - from: 172.16.2.0/24
          table: 102
  version: 2

Компьютер, подключенный к enp2s0, отлично маршрутизируется в интернет и во внутреннюю сеть. Когда тот же компьютер подключен через wlp8s0, он даже не может достичь сети, управляемой enp2s0 (172.16.1.1/24). Вот две таблицы маршрутизации: подключенный через enp2s0:

ip r
default via 172.16.1.1 dev enxf8e43b9d4867 proto dhcp metric 100 
169.254.0.0/16 dev enxf8e43b9d4867 scope link metric 1000 
172.16.1.0/24 dev enxf8e43b9d4867 proto kernel scope link src 172.16.1.3 metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

подключено через wlp8s0:

ip r
default via 172.16.2.1 dev wlp0s20f3 proto dhcp metric 20600 
169.254.0.0/16 dev wlp0s20f3 scope link metric 1000 
172.16.2.0/24 dev wlp0s20f3 proto kernel scope link src 172.16.2.4 metric 600 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

Заметное различие — это метрика маршрута по умолчанию в обеих конфигурациях. Это не исходит от DHCP-сервера, поскольку обе подсети настроены одинаково. Я пробовал отключить ufw и пробовал добавить iptables. Но все это не изменило результат.

Я не понимаю, почему я не могу маршрутизировать трафик wlp8s0! Объясняет ли разницу тот факт, что одна сетевая карта — кабельная, а другая — Wi-Fi? Не должно, поскольку они получают обслуживаемые IP-адреса одинаково.

Спасибо за помощь. Ян

решение1

Решение этой проблемы было двояким: во-первых, необходимо выполнить маскировку на обоих интерфейсах (подсетях):

-A POSTROUTING -s 172.16.1.0/24 -o eno1 -j MASQUERADE
-A POSTROUTING -s 172.16.2.0/24 -o eno1 -j MASQUERADE

Затем, что не менее важно, это то, что интерфейсы подняты с носителем или без него. Это делается в /etc/netplan/00-installer-config.yaml строкой:

    enp2s0:
      ignore-carrier: true

то же самое для wlp8s0. Если вы не

Связанный контент