Настройка сетевого подключения в Hyper-V

Я создал несколько виртуальных машин на Hyper-V на клиенте Windows 10 Pro с проводным адаптером USB Ethernet. Компьютер с Windows сохраняет свой IP-адрес после перезагрузки, компьютер с Linux (сервер Ubuntu) - нет. Оба используют переключатель по умолчанию (примечание: внешний переключатель не работает на адаптерах USB Ethernet).

Я заметил, что виртуальная машина Windows сохранила свой MAC-адрес, поэтому я попытался изменить MAC-адрес виртуальной машины Linux с динамического на статического. К сожалению, это не помогло.

Цель состоит в том, чтобы установить SSH-соединение между хостом и виртуальной машиной Linux (всегда через один и тот же IP-адрес). В дополнение к этому я хочу, чтобы виртуальная машина имела доступ к Интернету. Примечание: хост - это ноутбук, поэтому подключение к Интернету будет установлено через разные локальные сети и через разные интерфейсы (встроенная беспроводная сеть, разные проводные USB-сетевые адаптеры на разных док-станциях и т. Д.)

РЕШЕНИЕ:

В настоящее время я рассмотрим настройку внутреннего коммутатора. Это предложение по настройке основано на задании статических настроек внутреннего коммутатора. К сожалению, это не позволяет настроить шлюз по умолчанию, поэтому виртуальная машина не может использовать подключение к Интернету Хостов (по крайней мере, я не нашел решения для этого с помощью внутреннего коммутатора).

Примечание: Я использую 192.168.192.1/24 для коммутатора и 192.168.192.2/24 для виртуальной машины. Я могу пропинговать коммутатор и виртуальную машину с хоста и наоборот (те, которые я установил в окнах брандмауэр на хосте соответствующим образом).

Для получения одновременного доступа в Интернет (при использовании внутреннего коммутатора для подключения от хоста к виртуальной машине через неизменяемый IP-адрес) Я добавил второй сетевой интерфейс к виртуальной машине и установил для него переключатель по умолчанию. Я настроил вторую сетевую карту, чтобы получить ее конфигурацию через DHCP (через /etc/netplan/00-installer-config.yaml):

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.192.2/24]
    eth1:
      dhcp4: true

ip a показывает, что он запущен и работает:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
   link/ether 00:15:5d:97:34:01 brd ff:ff:ff:ff:ff:ff
   inet 192.168.192.2/24 brd 192.168.192.255 scope global eth0
      valid_lft forever preferred_lft forever
   inet6 fe80::215:5dff:fe97:3401/64 scope link
      valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
   link/ether 00:15:5d:97:34:03 brd ff:ff:ff:ff:ff:ff
   inet 192.168.204.131/28 brd 192.168.204.143 scope global dynamic eth1
      valid_lft 86333sec preferred_lft 86333sec
   inet6 fe80::215:5dff:fe97:3403/64 scope link
      valid_lft forever preferred_lft forever

Вызов внутреннего переключателя (192.168.204.129) работает (обратите внимание на брандмауэр Windows!), вызов внешний сервер, например, 8.8.8.8 тоже работает. Спасибо JW0914 за его предложения в комментариях!

Пожалуйста, также обратите внимание на ответ Джона. Это не подходило для моего случая, но это дает вам приятный бонус, что виртуальная машина доступна из локальной сети маршрутизаторов (а не только с хоста).