Вопрос или проблема
Я опубликовал этот вопрос на форумах Server Fault, но пока не получил ни ответа, надеюсь получить информацию, опубликовав его здесь.
Я настраиваю виртуальную машину Fedora с использованием HyperV на компьютере с Windows 10. Я установил ее, виртуальная машина запускается без проблем, но я не могу подключиться к Интернету с виртуальной машины через хост-компьютер.
Вот настройки:
Хост-машина:
Windows 10 enterprise 22H2
Сборка ОС: 19045.5011
Пакет функций Windows Experience 1000.19060.1000.0
HyperV Manager: v10.0.19041.1
Хост находится в корпоративной сети за прокси-сервером.
Детали ВМ:
Fedora Workstation
версия 40 (издание рабочей станции)
platform_id: platform:f40
При настройке сетевого адаптера для ВМ я следовал этому набору инструкций (я знаю, что это предназначено для использования Hyper-V для настройки виртуальной машины Windows, а не Linux, но я подумал, что если я буду следовать тем же принципам, это сработает. Кроме того, это единственное, что я смог найти, что близко к моей ситуации).
После выполнения этих инструкций я создал внутренний виртуальный коммутатор, ВМ Fedora, работающая в Hyper-V, настроена с этим коммутатором, на хост-машине есть NetIPAddress в новой NAT-сети, и я могу пинговать хост с ВМ и наоборот. Однако я не могу получить доступ к Интернету с ВМ Fedora. Открытие браузера (Firefox) в Fedora и попытка зайти в Интернет вызывает ошибку в браузере, говоря “У нас проблемы с поиском этого сайта”.
Я не знаю, может ли это быть связано с тем, что хост-компьютер находится в рабочей сети и, как следствие, за прокси-сервером, или есть что-то, что я неправильно настроил в ВМ Fedora. Судя по всему, что я читал о NAT-сетях с такими ВМ, пакеты должны маршрутизироваться с ВМ на шлюз по умолчанию (в данном случае IP-адрес, который я настроил для своей хост-машины в NAT-сети), а затем пакеты должны выходить из хост-машины.
Вот вывод ipconfig /all на моей хост-машине, детали нового виртуального коммутатора в красном квадрате.
А вот вывод ifconfig на ВМ Fedora:
Я новичок в конфигурации Linux и exhausted все свои знания, которые могу применить для устранения этой проблемы. Если кто-то сможет помочь мне выяснить, что мне нужно сделать, чтобы получить доступ к Интернету с этой ВМ Fedora, работающей в Hyper-V на моем компьютере с Windows 10, я буду очень признателен.
ИЗМЕРЕНИЕ: Я только что проверил, что с ВМ Fedora на Hyper V я могу пинговать DNS-сервер, к которому настроен хост, так что поскольку я могу пинговать внешний IP-адрес, это заставляет меня думать, что либо DNS не настроен правильно на ВМ Fedora, либо что-то неправильно настроено с тем, как хост должен маршрутизировать пакеты обратно в ВМ. Изначально я настроил шлюз по умолчанию как DNS-сервер, что не сработало, поэтому я попытался настроить DNS-сервер на IP-адрес DNS-сервера, на который указывает хост. Ни одно из них не сработало. Кроме того, значок сети в правом верхнем углу имеет вопросительный знак.
Ответ или решение
Проблема с отсутствием доступа в интернет для виртуальной машины (VM) Fedora, работающей на хосте Windows 10 с установленным Hyper-V и находящейся за прокси-сервером, может быть вызвана несколькими факторами. Давайте рассмотрим, как можно решить эту проблему, детально анализируя настройки и конфигурационные элементы.
1. Понимание конфигурации сети
Согласно вашему описанию, вы создали внутренний виртуальный коммутатор (Internal Virtual Switch) и настроили NAT (Network Address Translation). Важно убедиться, что ваш виртуальный адаптер сети правильно подключен к этому коммутатору. Проверьте настройки виртуальной машины и убедитесь, что она использует именно этот коммутатор.
2. Настройка NAT для виртуальной машины
Для корректной работы NAT необходимо, чтобы хост компьютер выполнял роль маршрутизатора. Настроим NAT следующим образом:
-
Запустите PowerShell с правами администратора и выполните следующие команды:
# Создание NAT сети New-NetNat -Name "NATNetwork" -InternalIPInterfaceAddressPrefix "192.168.100.0/24" # Настройка IP-адреса для NAT New-NetIPAddress -IPAddress "192.168.100.1" -PrefixLength 24 -InterfaceAlias "vEthernet (NATNetwork)"
Убедитесь, что "192.168.100.0/24" подходит для ваших нужд, и измените его, если это необходимо.
3. Проверка маршрутизации
На Fedora VM проверьте, правильно ли настроены маршруты и используется ли правильный шлюз. Введите команду:
ip route
Вы должны увидеть маршрут, указывающий на IP-адрес NAT, например:
default via 192.168.100.1 dev eth0
Если маршрута по умолчанию нет, добавьте его:
sudo ip route add default via 192.168.100.1
4. Настройка DNS
Как вы указали, у вас проблемы с разрешением имён. Убедитесь, что файл /etc/resolv.conf
содержит корректные DNS-серверы. Например:
nameserver 8.8.8.8
nameserver 8.8.4.4
Или используйте DNS-серверы вашей компании, если они предоставлены.
5. Проверка прокси
Так как ваш хост находится за прокси-сервером, возможно, вам необходимо настроить прокси и на виртуальной машине. Вы можете добавить настройки прокси в переменные окружения:
export http_proxy="http://proxy.company.com:port"
export https_proxy="http://proxy.company.com:port"
Не забудьте заменить proxy.company.com
и port
на фактические данные вашего прокси-сервера.
6. Проверка соединения
После внесения вышеуказанных изменений, проверьте, доступен ли интернет с помощью пинга:
ping google.com
Если всё настроено правильно, вы должны получать ответы от сервера.
7. Устранение неполадок
Если проблема не решена, выполните следующие команды диагностики:
-
Проверьте настройки сетевого интерфейса с помощью
ifconfig
илиip addr
. -
Убедитесь, что службы сети запущены на Fedora:
systemctl status NetworkManager
-
Перезагрузите сетевой интерфейс:
sudo systemctl restart NetworkManager
Заключение
С учетом вышеизложенного, проблема с доступом в интернет на виртуальной машине Fedora в Hyper-V на Windows 10 может быть решена путем проверки конфигураций сети, настройки NAT, правильного указания маршрутов и DNS, а также учёта настроек прокси-сервера. При выполнении всех шагов, указанных в этом гайде, вы должны получить стабильный доступ в интернет на вашей Fedora VM. Если проблема сохраняется, могут потребоваться более глубокие исследования конфигураций вашего прокси-сервера и сетевой инфраструктуры.