VirtualBox командная строка – настройка переадресации портов

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

Я знаю, как настроить проброс портов на основе NAT с помощью графического интерфейса VirtualBox (как в примере ниже).

Как я могу сделать то же самое через командную строку?

Проброс портов через графический интерфейс VirtualBox

Если машина выключена, вы можете использовать команду modifyvm:

VBoxManage modifyvm "Имя ВМ" --natpf1 "guestssh,tcp,,2222,,22"

Если она включена, используйте controlvm.

В VirtualBox 6+ --natpf1 не поддерживается. Ответ @Lyndsy Simon содержит лишь одно изменение (--natpf1 просто заменяется на natpf1). Измененная команда выглядит следующим образом:

VBoxManage controlvm "Имя ВМ" natpf1 "guestssh,tcp,,2222,,22" 

Очевидно, я вношу изменения в работающую ВМ, поэтому я использовал controlvm. Если ВМ выключена, используйте вместо этого modifyvm.

Теперь, с VirtualBox 7+, командная строка снова изменилась. Она выглядит так:

VBoxManage modifyvm "Имя ВМ" --nat-pf1="guestssh,tcp,,2222,,22"

https://docs.oracle.com/en/virtualization/virtualbox/7.1/user/networkingdetails.html#networkingdetails

  • --natpf<номер сетевого интерфейса> используется с modifyvm для выключенной или выключенной ВМ.

    VBoxManage modifyvm <uuid|имя_вм> --natpf<1-N> [<имя_правила>],tcp|udp,[<hostip>],<hostport>,[<guestip>],<guestport>

  • natpf<номер сетевого интерфейса> используется с controlvm для работающей ВМ.

    VBoxManage controlvm <uuid|имя_вм> natpf<1-N> [<имя_правила>],tcp|udp,[<hostip>],<hostport>,[<guestip>],<guestport>

<1-N> обозначает номер контроллера сетевого интерфейса, который варьируется от 1 до N. Для VirtualBox, N может быть до 8. — [архивная веб-страница]

Виртуальные сетевые адаптеры

Каждая ВМ VirtualBox может использовать до восьми виртуальных сетевых адаптеров, каждый из которых в свою очередь называется контроллером сетевого интерфейса (NIC). Четыре виртуальных сетевых адаптера могут быть настроены в графическом интерфейсе VirtualBox. Все виртуальные сетевые адаптеры (до 8) могут быть настроены с помощью команды VBoxManage modifyvm. VBoxManage — это инструмент управления командной строкой VirtualBox, который можно использовать для настройки всех параметров VirtualBox, включая параметры сети VirtualBox. Параметры сетевого адаптера VirtualBox можна получить в настройках виртуальной машины (выберите вашу ВМ, нажмите «Настройки» и перейдите в раздел «Сеть» в окне настроек ВМ).

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

Настройка переадресации портов в VirtualBox через командную строку

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

Определение переадресации портов

Переадресация портов позволяет вам перенаправлять запросы на определенный порт вашей хост-машины на порт виртуальной машины. Это особенно полезно для работы с сервисами, которые должны быть доступны через сеть, например, SSH.

Общие команды для настройки переадресации портов

Действия для отключенной виртуальной машины

Если ваша виртуальная машина отключена, вы можете использовать команду modifyvm. Пример команды:

VBoxManage modifyvm "Имя VM" --nat-pf1="имяправила,tcp,,2222,,22"

В этом примере:

  • Имя VM — имя вашей виртуальной машины.
  • имяправила — имя правила переадресации (например, guestssh).
  • tcp — протокол, который вы хотите использовать (можно использовать также udp).
  • 2222 — порт на вашей хост-машине.
  • 22 — порт на гостевой машине.

Действия для работающей виртуальной машины

Если ваша виртуальная машина включена, вам нужно использовать команду controlvm. Пример команды:

VBoxManage controlvm "Имя VM" natpf1 "имяправила,tcp,,2222,,22"

Изменения в версиях VirtualBox

С каждой новой версией VirtualBox команда переадресации портов подверглась изменениям:

  1. Для VirtualBox 6+:**
    Здесь просто убрали --, и команда будет выглядеть так:

    VBoxManage controlvm "Имя VM" natpf1 "имяправила,tcp,,2222,,22"
  2. Для VirtualBox 7+:
    Команда изменилась снова, и вам нужно использовать следующий синтаксис для отключенной виртуальной машины:

    VBoxManage modifyvm "Имя VM" --nat-pf1="имяправила,tcp,,2222,,22"

Общая структура команд

  • Для отключенных виртуальных машин:

    VBoxManage modifyvm "имя_или_uuid_машины" --natpf<NIC номер> ["правило"],tcp|udp,[хостip],[хостпорт],[гостевойip],[гостевойпорт]
  • Для работающих виртуальных машин:

    VBoxManage controlvm "имя_или_uuid_машины" natpf<NIC номер> ["правило"],tcp|udp,[хостip],[хостпорт],[гостевойip],[гостевойпорт]

Особое внимание обратите на значение <NIC номер>, которое должно быть в диапазоне от 1 до N (где N может быть до 8 для VirtualBox).

Заключение

Переадресация портов в VirtualBox через командную строку — это удобный способ управления сетевыми настройками вашей виртуальной машины. Используя команды modifyvm для отключенных и controlvm для работающих машин, вы можете легко настроить доступ к необходимым сервисам. Настоятельно рекомендуется использовать актуальные версии VirtualBox для получения всех новых возможностей и улучшений производительности.

Полезные ссылки

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

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

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