Аскер и все, кто имеет подобный вариант использования, скорее всего, работают на рабочей станции (не в редакции Windows Server) для целей локальной разработки, и в этом случае существует относительно простое решение.
Создать переключатель
В диспетчере Hyper-V создайте новый виртуальный коммутатор на Actions panel -> Virtual Switch Manager... -> Create Virtual Switch
. Предполагая, что виртуальная машина должна иметь возможность подключаться к Интернету, выберите тип External
коммутатора.
На следующем экране присвойте коммутатору имя, например, с поддержкой internet-enabled
, и выберите физический сетевой интерфейс, подключенный к Интернету.
Результирующий переключатель должен выглядеть примерно так:
Жесткий код IP-адреса коммутатора (шлюз для виртуальной машины)
Найдите сетевой адаптер, связанный с новым коммутатором, т. Е. В разделе Control Panel -> Network and Internet -> Network Connections
; его имя будет отражать имя, данное на предыдущем шаге, например, vEthernet (internet-enabled)
. Щелкните правой кнопкой мыши адаптер и выберите « Properties
.
Затем нажмите « Internet Protocol Version 4 (TCP/IPv4)
и нажмите « Properties
. Введите 192.168.10.1
для IP address
и 255.255.255.0
для Subnet mask
. Настройки должны выглядеть так:
Назначить статический IP-адрес в гостевой виртуальной машине
Последний шаг - назначить статический IP-адрес в гостевой виртуальной машине.
К сожалению, Vagrant не поддерживает (начиная с v2.2.1) статическую конфигурацию IP (см. Https://github.com/hashicorp/vagrant/issues/8384 ), поэтому этот статический IP нельзя назначить до подготовки виртуальной машины.
Пока Vagrant не поддерживает эту возможность, можно просто подготовить ВМ в обычном режиме и впоследствии отредактировать конфигурацию сети.
Процесс установки статического IP-адреса варьируется в зависимости от гостевой ОС, но в Ubuntu 18.04 LTS, например, это так же просто, как редактировать /etc/netplan/01-netcfg.yaml
чтобы включить значения, которые соответствуют конфигурации виртуального коммутатора сверху (пробелы должен быть точным!)
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.10.10/24]
gateway4: 192.168.10.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
После сохранения файла примените изменения с помощью:
$ sudo netplan apply
ВМ должна немедленно отражать статический IP-адрес, что можно подтвердить с помощью ifconfig
:
$ sudo ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::215:5dff:fe38:12a prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:38:01:2a txqueuelen 1000 (Ethernet)
...
Хост теперь может пинговать гостя в 192.168.10.10
, а гость может пинговать хоста в 192.168.10.1
.
Рекомендации: