Аскер и все, кто имеет подобный вариант использования, скорее всего, работают на рабочей станции (не в редакции 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
.
Рекомендации: