Вопрос или проблема
Наш IT-специалист настроил сеть для моего сервера с использованием сетевой карты (enp1sp
) для работы через https в интернете и подключения двух NAS (чьи IP – 147.100.157.226 и 147.100.157.227), и отдельной сетевой карты (enp69s0
) для SSH в нашей внутренней сети. Он не работает с Linux, а я ничего не знаю о сетях.
Я понял, что мне нужно указать IP для двух карт (которые имеют разные шлюзы) с использованием netplan.
Мы почти настроили всё, но проблема в том, что сервер не может подключиться к внешнему миру, будь то два NAS или такие вещи, как apt update и так далее…
Вот наша текущая конфигурация (/etc/netplan/99_config.yaml
):
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
# PROD карта/IP (только https)
dhcp4: no
addresses:
- 147.100.157.194/29
routes:
- to: 0.0.0.0/0
via: 147.100.157.193
table: 100
- to: 147.100.157.225/29
via: 147.100.157.193
table: 100
routing-policy:
- from: 147.100.157.194/29
table: 100
nameservers:
search: [inra.local]
addresses: [147.100.157.242, 147.100.166.31]
enp69s0:
# MGM карта/IP (только SSH через VPN)
dhcp4: no
addresses:
- 147.100.157.202/29
routes:
- to: 0.0.0.0/0
via: 147.100.157.201
table: 200
routing-policy:
- from: 147.100.157.202/29
table: 200
nameservers:
search: [inra.local]
addresses: [147.100.157.242, 147.100.166.31]
Когда я пытаюсь подключить NAS или когда я пытаюсь выполнить curl/ping внешнего мира, я получаю ошибку “Network is unreachable”.
В чем наша ошибка?
Ответ или решение
Настройка файла Netplan в Ubuntu 22.04 для использования двух сетевых карт с двумя статическими IP-адресами может быть сложной задачей, особенно если у вас нет опыта работы с Linux и сетями. В вашей текущей конфигурации кажется, что проблема может быть связана с неправильной маршрутизацией или разрешением DNS. Давайте шаг за шагом разберем, как правильно настроить файл /etc/netplan/99_config.yaml
, чтобы обе сетевые карты работали корректно, и вы могли подключаться к внешним ресурсам.
Анализ текущей конфигурации
-
Сетевая карта
enp1s0
: настроена для работы в интернете по HTTPS. Однако, из текущей конфигурации видно, что сеть не может выйти в интернет. Причиной может быть неправильно настроенный маршрут по умолчанию. -
Сетевая карта
enp69s0
: используется для подключения через SSH во внутренней сети через VPN.
Рекомендации по исправлению
-
Настройка маршрутов:
- Убедитесь, что правильный шлюз указан для обоих интерфейсов и что только один из сетевых интерфейсов имеет маршрут по умолчанию. Обычно, для выхода в интернет, один из интерфейсов должен иметь маршрут
0.0.0.0/0
с соответствующим шлюзом.
- Убедитесь, что правильный шлюз указан для обоих интерфейсов и что только один из сетевых интерфейсов имеет маршрут по умолчанию. Обычно, для выхода в интернет, один из интерфейсов должен иметь маршрут
-
Снимите ненужные маршруты:
- Например, в настройке
enp1s0
только один маршрут по умолчанию (0.0.0.0/0
) и дополнительный маршрут к сети NAS, если она действительно используется. Аналогично дляenp69s0
.
- Например, в настройке
-
Обратите внимание на DNS:
- Вероятно, разрешение имен также не будет работать из-за неправильной конфигурации DNS-серверов. Убедитесь, что DNS-серверы доступны и корректны.
-
Проверьте табличные настройки:
- В конфигурации маршрутизации возможно перемещать маршруты между разными таблицами, однако это может вызвать конфликты. Обычно это делают для продвинутой настройки, но для многих ситуаций достаточно одной таблицы.
Исправленная конфигурация
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: no
addresses:
- 147.100.157.194/29
gateway4: 147.100.157.193
nameservers:
search: [inra.local]
addresses: [147.100.157.242, 147.100.166.31]
enp69s0:
dhcp4: no
addresses:
- 147.100.157.202/29
# В данном случае предполагается, что для этого интерфейса не нужен маршрут по умолчанию
# Если необходим доступ в интернет, возможно, понадобится отдельная настройка VPN
routes:
- to: 147.100.157.224/29
via: 147.100.157.201
Последние шаги
-
Примените изменения:
sudo netplan apply
-
Проверьте подключение:
- Используйте
ping
,curl
и команды для монтирования NAS, чтобы убедиться, что сервер может соединяться с внешними адресами и локальными ресурсами.
- Используйте
Заключение
Если после этого вы все еще столкнетесь с проблемами, рекомендуется проверить, нет ли ограничений на уровне сети или брандмауэра, которые могут блокировать внешние соединения. Удачи в процессе настройки и, пожалуйста, не стесняйтесь обращаться за дополнительной помощью, если потребуется.