Как настроить netplan в Ubuntu 18.04 для DHCP и статических маршрутов

Вопрос или проблема

У меня есть сервер на Ubuntu 18.04 с двумя сетевыми интерфейсами.
Каждый интерфейс подключен к разной сети.
Моя текущая конфигурация выглядит так:

cat /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [10.3.1.102/24]
      gateway4: 10.3.1.20
      nameservers:
        addresses: [8.8.8.8, 10.3.1.5]
    eth1:
      dhcp4: yes
      dhcp6: no
      nameservers:
        addresses: [10.127.112.140, 10.126.11.1]
      routes:
        - to: 10.127.113.0/24
          via: 10.127.113.254
          metric: 100
        - to: 10.127.112.0/24
          via: 10.127.113.254
          metric: 100

Однако, с этой конфигурацией eth1 не получает IP.
Если я изменю это на:

eth1:
  dhcp4: no
  dhcp6: no
  addresses: [10.127.113.253/24]
  nameservers:
    addresses: [10.127.112.140, 10.126.11.1]
  routes:
    - to: 10.127.113.0/24
      via: 10.127.113.254
      metric: 100
    - to: 10.127.112.0/24
      via: 10.127.113.254
      metric: 100

Тогда я получаю IP и маршрутизацию как ожидается.
Однако, eth1 должно быть в режиме dhcp. Есть идеи, как настроить eth1, чтобы оно было и dhcp, и имело статические маршруты в netplan?

Попробуйте (добавьте “on-link: true”)

eth1:
  dhcp4: yes
  dhcp6: no
  nameservers:
    addresses: [10.127.112.140, 10.126.11.1]
  routes:
    - to: 10.127.113.0/24
      via: 10.127.113.254
      metric: 100
      on-link: true
    - to: 10.127.112.0/24
      via: 10.127.113.254
      metric: 100
      on-link: true

Попробуйте использовать эту конфигурацию netplan, если используете статический адрес:

    network:
      ethernets:
        ens18:
          dhcp4: false
          addresses: [10.0.15.122/24] # замените на ваш ip  
          gateway4: 10.0.15.1 # замените на ваш шлюз
          nameservers:
            addresses:
            - 10.2.1.2 # замените на ваш
      version: 2

sudo netplan generate
sudo netplan apply

Ответ или решение

Конфигурирование сети в Ubuntu 18.04 с использованием Netplan — это важный шаг для обеспечения стабильного и эффективного сетевого подключения на вашем сервере. В данной ситуации, у вас сервер с двумя сетевыми интерфейсами (NIC), и вам необходимо настроить один из интерфейсов под динамическое IP-адресацию (DHCP), а также задать статические маршруты. Давайте рассмотрим, как правильно настроить подобную конфигурацию.

Шаг 1: Базовая настройка Netplan

Ваш текущий файл конфигурации /etc/netplan/01-netcfg.yaml содержит информацию о сетевых настройках. Для начала убедимся, что конфигурация для eth0 корректна:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [10.3.1.102/24]
      gateway4: 10.3.1.20
      nameservers:
        addresses: [8.8.8.8, 10.3.1.5]

Шаг 2: Настройка eth1 для DHCP и статических маршрутов

Чтобы eth1 мог получать IP-адрес через DHCP, но при этом также иметь заданные статические маршруты, необходимо внести изменения в конфигурацию и добавить параметр on-link: true. Это укажет системе, что маршрут должен находиться на уровне линка, даже если сеть не обнаруживается локально через DHCP. Конфигурация будет выглядеть следующим образом:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth1:
      dhcp4: yes
      dhcp6: no
      nameservers:
        addresses: [10.127.112.140, 10.126.11.1]
      routes:
        - to: 10.127.113.0/24
          via: 10.127.113.254
          metric: 100
          on-link: true
        - to: 10.127.112.0/24
          via: 10.127.113.254
          metric: 100
          on-link: true

Этот подход позволит eth1 получать IP-адрес автоматически, при этом сохраняя заданные статические маршруты.

Шаг 3: Применение изменений

После обновления конфигурации, необходимо сохранить файл и применить изменения, используя следующие команды:

sudo netplan generate
sudo netplan apply

Эти команды генерируют необходимые системные конфигурации и применяют их для активации новых сетевых настроек.

Заключение

Процесс настройки сети с использованием Netplan — это мощный инструмент, который позволяет гибко управлять сетевыми интерфейсами. Добавление параметра on-link в маршруты для интерфейса eth1 помогает в ситуациях, когда необходимо совместить динамическую IP-адресацию с конкретными сетевыми маршрутами, которые должны быть доступны независимо от обнаруженных маршрутов через DHCP. Такая настройка обеспечивает стабильность и эффективность работы сервера в сетях с многоуровневыми конфигурациями.

Оцените материал
Добавить комментарий

Капча загружается...