Задать вопрос
@Lavash0

Не работает интернет соединение на сетевом мосте (да и впринципе NAT тоже) VirtualBox .Причина?

В процессе создания mpi кластера использовал сетевой мост, после конфигурации Netplan для установки статического IP всё работало прекрасно, после некоторого времени перестало функционировать внешнее интернет соединение, при этом адаптеры машины видят, и между ними есть сеть, тот же ssh прекрасно работает.
67c6d6cf78524633299662.jpeg
После чего добавил ещё один адаптер NAT. После некоторого времени тоже самое, внешнего соединения нету.
67c6d779b71c3877305367.jpeg

67c6d7842bd7b428212445.jpeg
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Akina
Сетевой и системный админ, SQL-программист.
Destination Host Unreacheable, если перевести с буржуинского, означает "Хост назначения недостижим".
Если переводить дальше - на обывательский, то это означает "У меня нет маршрута (адреса шлюза), через который я должен послать пакет узлу назначения".

Следовательно, хост 192.168.0.108 не имеет необходимого для общения с указанным адресом 52.43.49.19 дефолтного либо частного маршрута.

А с узлами своей подсети он общается напрямую, без шлюза. То есть виртуальный коммутатор функционирует нормально.
Ответ написан
Комментировать
@Mas_Hakim
Просто маршрутной таблицы недостаточно.

Нужно включать IP Forwarding и NAT (MASQUERADE), иначе пакеты не будут проходить между сетями (две ethernet карты).
По умолчанию в Ubuntu IP Forwarding =0;

Проверить:

cat /proc/sys/net/ipv4/ip_forward


Включить:

echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1


Только что читал про Beowulf Cluster Setup - модная тема :)
Там предполагается что
ADSL router with four ethernet ports,
то есть в оригинальной конфиге предполагается, что трафик в инет есть на разъемах ethernet
А в вашей конфиге указание в нетплане default :
routes:
- to: default
via: 192.168.0.1


В netplan по умолчанию для кластера такая конфига имеется ввиду:
192.168.0.1 это роутер ADSL
192.168.0.8 это master node и с 192.168.0.9 идут slave nodes
Если такое написать в вашей конфиге, то теоретически должно положить интернет вообще с момента рестарта netplan, но он будет работать, пока кеш днс валиден. Для гугла 10 мин, для каких то сайтов до 30 дн. Если у них не выходят обновления по днс записям.

Почему просто маршрутной таблицы недостаточно. ?
IP Forwarding позволяет ядру Linux пересылать пакеты между интерфейсами. Без него пакеты не передаются.
NAT (MASQUERADE) нужен, если устройства из одной сети (enp0s8) должны выходить в интернет через другой интерфейс (enp0s3).

Настроить NAT через iptables или nft :


План А :
Читать netfilter.org:
https://www.netfilter.org/documentation/HOWTO/NAT-...


План Бэ :
Довериться советам из интернета и выполнить команды:

iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
iptables -A FORWARD -i enp0s3 -o enp0s8 -m state --state RELATED,ESTABLISHED -j ACCEPT

работает до перезагрузки надо сохранить если поможет. Но сначала определитесь со шлюзами какой куда ведет. Default route это для шлюза с доступом в интернет.
Мост в ваших скринах не видно. Он вообще есть? Проверьте. Я бы убрал и сделал все на iptables.

Вопрос - промт к chat GPT
NAT между ethernet картами как пробросить интернет в локалку
# netplan /etc/netplan/50-cloud-init.yaml
-----------
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: no
addresses:
- 192.168.0.108/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4

-------------------------------
всё :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы