Настройка 2 сетевых карт с помощью Netplan на сервере Ubuntu

Запуск сервера с двумя сетевыми картами: пошаговое руководство

Настройка сервера с двумя сетевыми картами — задача, которая может вызвать трудности, особенно если одна из карт использует статический IP-адрес, а другая — динамический. В этой статье мы рассмотрим, как успешно настроить сетевые интерфейсы на Ubuntu 22.04 с использованием Netplan и разберем возможные проблемы, с которыми вы можете столкнуться.

Текущая конфигурация системы

Для начала посмотрим, какая конфигурация сеть будет без изменений. На сервере установлена Ubuntu 22.04.5 LTS, что подтверждает командная строка:

Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy

Убедитесь, что у вас две сетевые карты: одна с интерфейсом enp4s0 (1 ГБ) с DHCP, и другая с интерфейсом enp5s0 (10 ГБ) с статическим адресом 192.168.0.24.

Настройка сетевых карт с помощью Netplan

Исходная конфигурация сетевых интерфейсов представлена в файле /etc/netplan/50-cloud-init.yaml. Основная задача — модифицировать этот файл для добавления статического IP-адреса.

Пример начальной конфигурации

network:
    ethernets:
        enp4s0:
            dhcp4: true
    version: 2
    wifis: {}

Необходимо будет настроить вторую сетевую карту с указанием статического IP-адреса и маршрутов. Вот как может выглядеть обновленная конфигурация:

Новая конфигурация Netplan

network:
  version: 2
  renderer: networkd
  ethernets:
    enp4s0:
      dhcp4: true
    enp5s0:
      dhcp4: false
      addresses:
        - 192.168.0.24/24
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

Применение настроек

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

sudo netplan apply

Если все настроено правильно, система должна получить доступ к сети через обе сетевые карты.

Проблемы с подключением по SSH

Несмотря на корректное применение настроек, вы можете столкнуться с проблемой потери доступа к серверу через SSH. Убедитесь, что ваши маршруты настроены правильно. Например, вы можете видеть состояние сетевых интерфейсов и маршрутов:

Проверка состояния сетевых карт

ip link show

и

Проверка маршрутов

ip route

Если вы столкнулись с потерей доступа по SSH, возможно, это связано с конфликтом маршрутов между двумя сетевыми интерфейсами. Пакеты могут отправляться только на одну из карт, что приводит к проблемам с маршрутизацией.

Возможные решения

  1. Изменение маршрутов: Убедитесь, что маршрут по умолчанию правильно настроен. Возможно, стоит изменить метрики маршрутов, чтобы определить, какой интерфейс использовать.

  2. Изменение адреса сети: Если у вас две сетевые карты в одной подсети, попробуйте настроить их в разные подсети. Например, используйте 192.168.1.0/24 для одной из карт.

  3. Включение локальной маршрутизации: Если вам необходимо использовать две сетевые карты в одной подсети, необходимо отключить широковещательную передачу и включить локальную маршрутизацию, используя команду:
sysctl -w net.ipv4.conf.all.route_localnet=1

Эта команда разрешает маршрутизацию пакетов с одного интерфейса на другой, что может помочь восстановить доступ.

Заключение

Настройка сервера с двумя сетевыми картами может представлять собой проблему, но следуя данным шагам и рекомендациям, вы сможете успешно реализовать необходимую конфигурацию. Если у вас возникла проблема с доступом по SSH, проверьте конфигурацию маршрутов и метрики, а также убедитесь, что ваши интерфейсы находятся в разных подсетях для устранения конфликта. Каждый раз после внесения изменений не забудьте применять конфигурации с помощью Netplan, чтобы гарантировать, что настройки вступили в силу.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *