Помогите с конфигурацией netplan

Здравствуйте! Прохожу курс “от 0 до Linux админа” на https://yodo.im/courses/linux/?v=1d20b5ff1ee9 и столкнулся с проблемой при настройке netplan.

У меня сервер на Ubuntu 24.04 с двумя сетевыми интерфейсами (NIC): eth0, который подключен к локальной сети с адресом 10.0.20.20/24, и eth1, подключенный к DMZ с адресом 10.0.30.20/24. Я хочу, чтобы сервер выходил в интернет через eth1, а eth0 использовался только для пересылки почты на почтовый сервер в локальной сети.

Вот мой текущий конфиг, который, кажется, работает, но:

  • ping -I eth0 yahoo.com не проходит (таймаут), но пинг до шлюза и локальных IP работает.
  • ping -I eth1 yahoo.com проходит без проблем.
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - 10.0.20.20/24
      routes:
        - to: 10.0.20.0/24
          via: 10.0.20.1
          table: 101
      nameservers:
        addresses:
          - 10.0.20.30
          - 8.8.8.8
          - 1.1.1.1
      routing-policy:
        - from: 10.0.20.0/24
          table: 101
    eth1:
      dhcp4: false
      addresses:
        - 10.0.30.20/24
      routes:
        - to: default
          via: 10.0.30.1
        - to: 10.0.30.0/24
          via: 10.0.30.1
          table: 102
      routing-policy:
        - from: 10.0.30.0/24
          table: 102

Однако ChatGPT предложил свой вариант настройки:

network:
  version: 2
  renderer: networkd

  ethernets:
    eth0:
      dhcp4: false
      addresses: [10.0.20.20/24]
      routes:
        - to: 0.0.0.0/0
          via: 10.0.20.1
          metric: 100
      nameservers:
        addresses: [10.0.20.30, 1.1.1.1, 8.8.8.8]

    eth1:
      dhcp4: false
      addresses: [10.0.30.20/24]
      routes:
        - to: 0.0.0.0/0
          via: 10.0.30.1
          table: 100

  routing-policy:
    - from: 10.0.30.20/32
      table: 100

Но при проверке конфигурации (sudo netplan --debug generate) возникает ошибка:

/etc/netplan/50-cloud-init.yaml:24:3: Error in network definition: unknown key 'routing-policy'

Я пытался корректировать отступы у routing-policy, но она работает только если находится под eth1. Как правильно настроить конфигурацию, чтобы устранить эту ошибку и добиться необходимого поведения сети? Спасибо!

Здравствуйте!

Большое спасибо за вашу помощь с конфигурацией netplan! У меня всё получилось, и теперь всё работает как надо.

Ещё раз спасибо за поддержку!