Настройка сетевого подключения в 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 за его предложения в комментариях!
Пожалуйста, также обратите внимание на ответ Джона. Это не подходило для моего случая, но это дает вам приятный бонус, что виртуальная машина доступна из локальной сети маршрутизаторов (а не только с хоста).