Запуск сервера с двумя сетевыми картами: пошаговое руководство
Настройка сервера с двумя сетевыми картами — задача, которая может вызвать трудности, особенно если одна из карт использует статический 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, возможно, это связано с конфликтом маршрутов между двумя сетевыми интерфейсами. Пакеты могут отправляться только на одну из карт, что приводит к проблемам с маршрутизацией.
Возможные решения
-
Изменение маршрутов: Убедитесь, что маршрут по умолчанию правильно настроен. Возможно, стоит изменить метрики маршрутов, чтобы определить, какой интерфейс использовать.
-
Изменение адреса сети: Если у вас две сетевые карты в одной подсети, попробуйте настроить их в разные подсети. Например, используйте 192.168.1.0/24 для одной из карт.
- Включение локальной маршрутизации: Если вам необходимо использовать две сетевые карты в одной подсети, необходимо отключить широковещательную передачу и включить локальную маршрутизацию, используя команду:
sysctl -w net.ipv4.conf.all.route_localnet=1
Эта команда разрешает маршрутизацию пакетов с одного интерфейса на другой, что может помочь восстановить доступ.
Заключение
Настройка сервера с двумя сетевыми картами может представлять собой проблему, но следуя данным шагам и рекомендациям, вы сможете успешно реализовать необходимую конфигурацию. Если у вас возникла проблема с доступом по SSH, проверьте конфигурацию маршрутов и метрики, а также убедитесь, что ваши интерфейсы находятся в разных подсетях для устранения конфликта. Каждый раз после внесения изменений не забудьте применять конфигурации с помощью Netplan, чтобы гарантировать, что настройки вступили в силу.