Ubuntu 20.04. Две сетевые карты. Netplan. Невозможно настроить параллельно.

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

У меня проблема. Есть сервер. На нем установлены две сетевые карты.

Логически, одна сетевая карта (enp4s0) для Интернета.

Вторая сетевая карта (enp2s5) для пользователей сети, чтобы получить доступ к серверу (IP сервера: 192.168.1.5).

Проблема в том, что моя конфигурация работает только для одной сетевой карты.

Когда я меняю метрики, работает только доступ из сети или доступ к серверу из Интернета. Мне нужно, чтобы все работало параллельно.

Подскажите, в чем моя ошибка?

Согласно приведенной ниже конфигурации, я могу получить доступ к серверу как из Интернета, так и из локальной сети, но пользователи не видят его (так как метрики для enp4s0 ниже, чем для enp2s5)

Netplan

network:
  ethernets:
    enp4s0:
      dhcp4: no
      addresses: [192.168.0.222/24]
      nameservers:
        addresses: [1.1.1.1, 2.2.2.2]
    routes:
      - to: 0.0.0.0/0
        via: 192.168.0.1
        metric: 1
    enp2s5:
      dhcp4: no
      addresses: [192.168.1.5/24]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.1.1
          metric: 2
        - to: 0.0.0.0/0
          via: 192.168.2.1
          metric: 2
  version: 2
  renderer: networkd          

Почему вы настраиваете маршруты по умолчанию (to: 0.0.0.0/0) на обеих картах? Это не будет работать корректно, когда обе сетевые карты активны и происходит попытка соединения из сети, отличной от локальной. Скорее всего, вы будете использовать маршрут по умолчанию только на сетевой карте, подключенной к Интернету (enp4s0), и вам придется добавить явные маршруты (192.168.1.0 и 192.168.2.0) к IP-адресам локальной сетевой карты (enp2s5)

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

Решение проблемы с конфигурацией сетевых интерфейсов в Ubuntu 20.04 с использованием Netplan

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

1. Анализ текущей конфигурации

Исходная конфигурация, приведённая ниже, имеет несколько проблем, которые необходимо решить:

network:
  ethernets:
    enp4s0:
      dhcp4: no
      addresses: [192.168.0.222/24]
      nameservers:
        addresses: [1.1.1.1, 2.2.2.2]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
          metric: 1
    enp2s5:
      dhcp4: no
      addresses: [192.168.1.5/24]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.1.1
          metric: 2
        - to: 0.0.0.0/0
          via: 192.168.2.1
          metric: 2
  version: 2
  renderer: networkd          

2. Проблемы в конфигурации

  • Конфликтующие маршруты по умолчанию: У вас есть две конфигурации маршрута по умолчанию (0.0.0.0/0) для обоих интерфейсов, что делает непонятным, в какую сторону отправлять пакеты. Обычно нужно иметь один маршрут по умолчанию и добавить специфические маршруты для локальной сети.

  • Метрики маршрутов: Метрики используются для определения приоритетов маршрутов. Установленные вами значения создают неразбериху, из-за чего пакеты могут уходить не в ту сторону, что и вызывает проблемы с доступом.

3. Рекомендованное решение

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

network:
  ethernets:
    enp4s0:
      dhcp4: no
      addresses: [192.168.0.222/24]
      nameservers:
        addresses: [1.1.1.1, 2.2.2.2]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
          metric: 100
    enp2s5:
      dhcp4: no
      addresses: [192.168.1.5/24]
  version: 2
  renderer: networkd          

4. Пояснение изменений

  • Удалены маршруты по умолчанию для enp2s5: Теперь только enp4s0 имеет маршрут по умолчанию. Это значит, что все пакеты, которые выходят в интернет, будут использовать этот интерфейс.

  • Установленная метрика по умолчанию: Увеличена метрика для интерфейса enp4s0, чтобы избежать конфликта. Таким образом, активный маршрут будет направлен через интерфейс, подключённый к интернету.

  • Подключение к локальной сети: Пакеты, направленные на локальные IP (в данном случае 192.168.1.0/24), автоматически будут направляться через enp2s5 без необходимости добавления дополнительных маршрутов, так как они находятся в том же подсети.

5. Проверка и применение конфигурации

Сохраните файл конфигурации и примените изменения:

sudo netplan apply

После применения изменений вы можете использовать команду ip route для проверки ваших маршрутов и убедиться, что всё настроено верно. Убедитесь, что пользователи из локальной сети могут получить доступ к серверу по адресу 192.168.1.5, а также проверить доступ к интернет-ресурсам.

Заключение

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

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

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