Машина 62: Ubuntu 16.04, имеет доступ к интернету, может быть доступна через интернет. На машине 62 есть VirtualBox с виртуальной машиной (тоже Ubuntu).
Я хотел бы, чтобы виртуальная машина вела себя как «обычная» машина (ip-запросы). Я зарезервировал для нее статический IP, но теперь не уверен, как настроить интерфейсы хоста и гостя таким образом, чтобы я мог пинговать гостевую машину так же, как я обычно пингую хостовую машину (через зарезервированный IP вместо 62...).
ReverseProxy работал некоторое время, но потом мне понадобились вебсокеты через порты, которые я не знаю заранее. Так что теперь моя следующая догадка — NAT? ipforwarding? Мостовые сети? Маскарадинг?
решение1
Вам необходимо создать мостовую сеть между хостом и виртуальной машиной. Конфигурация зависит от поставщика гипервизора.
Если вы используете Oracle Virtual Box
- Откройте
Oracle VM VirtualBox Manager
, выберите виртуальную машину и перейдите в раздел «Сеть». - На
Adopter 1
вкладке измените значение по умолчаниюNAT
наBridged Adopter
и выберите сетевой адаптер хоста изName
выпадающего списка. Примените его. - Теперь настройте сеть внутри VirtualBox в соответствии с конфигурацией вашего интернет-провайдера, например, статичную, динамическую и т. д.
Если вы используетеQEMU-KVM
- Откройте
Virtual Machine Manager
инструмент GUI (если вы используете GUI) - Выберите определенную виртуальную машину и
Open
ее. Затем выберитеNIC
- Измените настройки по умолчанию
NAT
,Host Device xxxxxx: macvtap
а затем настройте сеть внутри виртуальной машины в соответствии с конфигурацией интернет-провайдера. - Если у вас нет инструмента с графическим интерфейсом, то используйте
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-адрес для каждой виртуальной машины, как уже упоминалось в вопросе.