Здравствуйте! Прохожу курс “от 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. Как правильно настроить конфигурацию, чтобы устранить эту ошибку и добиться необходимого поведения сети? Спасибо!