Доступ к виртуальной машине через статический IP (NAT?)

Доступ к виртуальной машине через статический IP (NAT?)

Машина 62: Ubuntu 16.04, имеет доступ к интернету, может быть доступна через интернет. На машине 62 есть VirtualBox с виртуальной машиной (тоже Ubuntu).

Я хотел бы, чтобы виртуальная машина вела себя как «обычная» машина (ip-запросы). Я зарезервировал для нее статический IP, но теперь не уверен, как настроить интерфейсы хоста и гостя таким образом, чтобы я мог пинговать гостевую машину так же, как я обычно пингую хостовую машину (через зарезервированный IP вместо 62...).

ReverseProxy работал некоторое время, но потом мне понадобились вебсокеты через порты, которые я не знаю заранее. Так что теперь моя следующая догадка — NAT? ipforwarding? Мостовые сети? Маскарадинг?

решение1

Вам необходимо создать мостовую сеть между хостом и виртуальной машиной. Конфигурация зависит от поставщика гипервизора.

Если вы используете Oracle Virtual Box

  1. Откройте Oracle VM VirtualBox Manager, выберите виртуальную машину и перейдите в раздел «Сеть».
  2. На Adopter 1вкладке измените значение по умолчанию NATна Bridged Adopterи выберите сетевой адаптер хоста из Nameвыпадающего списка. Примените его.
  3. Теперь настройте сеть внутри VirtualBox в соответствии с конфигурацией вашего интернет-провайдера, например, статичную, динамическую и т. д.

Если вы используетеQEMU-KVM

  1. Откройте Virtual Machine Managerинструмент GUI (если вы используете GUI)
  2. Выберите определенную виртуальную машину и Openее. Затем выберитеNIC
  3. Измените настройки по умолчанию NAT, Host Device xxxxxx: macvtapа затем настройте сеть внутри виртуальной машины в соответствии с конфигурацией интернет-провайдера.
  4. Если у вас нет инструмента с графическим интерфейсом, то используйте virsh edit virtual-machine-nameи измените конфигурацию, как описано ранее.

Третий вариант — создание iptable NATправила на хосте. Затем перенаправьте весь трафик к этому IP (который вы хотите назначить виртуальной машине) на внутренний IP-адрес виртуальной машины. Вам нужно написать несколько iptablesстрок, пожалуйста, погуглите. Но для меня это наименее предпочтительный метод.

ПРИМЕЧАНИЕ-1 Bridged Networkи macvtapне работает с большинством WiFiпользователей в хосте.

ЗАМЕТКА 2В случае, если macvtapваш хост будет недоступен из виртуальной машины и наоборот. Оба они будут доступны из внешней сети. Кроме того, если у вас несколько виртуальных машин, они останутся доступными друг для друга. Вот как это macvtapработает. Чтобы получить доступ к виртуальным машинам с хоста и наоборот, создайте еще один адаптер NAT в случае Oracle VirtualBox и еще одну сетевую карту с NAT для QEMU-KVM.

ЗАМЕТКА 3Для обоих Bridged Networkвариантов macvtapсетевой адаптер хоста должен иметь зарезервированный IP-адрес для каждой виртуальной машины, как уже упоминалось в вопросе.

Связанный контент