Вопрос или проблема
Я пытаюсь настроить две виртуальные машины VirtualBox, подключенные друг к другу через мост. Операционная система – Almalinux 8. Трафик второй ВМ должен маршрутизироваться через первую ВМ.
Настройки сети первой ВМ:
TYPE=Ethernet
##PROXY_METHOD=none
#BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#3IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=eui64
NAME=enp0s3
#UUID=2083ef20-b0d9-4928-a095-e166e673c409
DEVICE=enp0s3
ONBOOT=yes
IPADDR=185.100.87.151
NETMASK=255.255.255.0
GATEWAY=185.100.87.1
Настройки второй ВМ:
TYPE=Ethernet
##PROXY_METHOD=none
#BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#3IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=eui64
NAME=enp0s3
#UUID=2083ef20-b0d9-4928-a095-e166e673c409
DEVICE=enp0s3
ONBOOT=yes
IPADDR=185.100.87.152
NETMASK=255.255.255.0
GATEWAY=185.100.87.151
Когда я меняю шлюз на второй ВМ на 185.100.87.1, все работает, но когда возвращаю обратно – нет интернета на второй ВМ
Как это исправить?
Ответ или решение
Для настройки двух виртуальных машин (ВМ) в VirtualBox на AlmaLinux 8 с целью маршрутизации трафика второй ВМ через первую, требуется выполнить ряд шагов, связанных с настройкой сети и маршрутизацией. Рассмотрим, как можно решить эту задачу.
Шаг 1: Подключение виртуальных машин через мост
Убедитесь, что обе ваши виртуальные машины подключены к VirtualBox через сетевой тип "Bridged Adapter". Это обеспечит их подключение к вашей локальной сети.
Шаг 2: Настройка первой виртуальной машины
Первая виртуальная машина выполняет роль маршрутизатора. Для этого выполните следующие действия:
-
Настройка сетевого интерфейса: как уже задано в конфигурации, первая ВМ имеет статический IP-адрес
185.100.87.151
и доступ в интернет через шлюз185.100.87.1
. -
Включение IP-Forwarding: Чтобы первая ВМ могла маршрутизировать трафик от второй ВМ, необходимо включить пересылку IP-пакетов:
В командной строке выполните:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p
-
Настройка IPTables или firewalld: Если в системе используется firewalld, то добавьте правило на MASQUERADE:
firewall-cmd --permanent --add-masquerade firewall-cmd --reload
Если вы используете iptables:
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
Шаг 3: Настройка второй виртуальной машины
Вторая виртуальная машина будет направлять свой трафик через первую:
-
Настройка сетевого интерфейса: Убедитесь, что вторая ВМ использует первую в качестве шлюза, то есть с адресом
185.100.87.151
, что уже настроено. -
Тестирование соединения: После применения всех изменений, попробуйте выполнить следующие команды на второй ВМ для проверки соединения:
ping 185.100.87.151 ping 8.8.8.8
Важные моменты:
- Убедитесь, что первая ВМ имеет доступ в интернет и правильно маршрутизирует пакеты.
- Проверка политики маршрутизации и активация необходимых служб: Включение
firewalld
или аналогичных служб может повлиять на правила пересылки пакетов и маршрутизацию, это необходимо учитывать.
Заключение
Настройка маршрутизации во второй ВМ через первую в VirtualBox с ОС AlmaLinux 8 требует корректно настроенных сетевых интерфейсов и включения функции пересылки IP-пакетов на первой ВМ. Убедитесь, что все шаги выполнены правильно, и протестируйте подключение с помощью ping-ов. Это решит проблему отсутствия Интернета на второй ВМ при использовании её шлюза.