
У меня возникла очень странная проблема с VirtualBox.
Большую часть времени мой ноутбук подключен к Ethernet-соединению. Иногда, когда я нахожусь вдали от своего рабочего стола, у меня нет других вариантов, кроме Wi-Fi. При подключении к Wi-Fi мой хост-компьютер (Windows 10) получает сетевой доступ за несколько секунд без каких-либо проблем. Однако гостевой компьютер (Windows XP SP3) будет вести себя так, как будто он все еще находится в автономном режиме.
Моя сетевая конфигурация в VirtualBox такова NAT
.
Странно, что это происходит только на беспроводном соединении. Всякий раз, когда я подключаю компьютер, хостовая ОСникогдаимеетлюбойпроблемы с получением сетевого соединения. Я настроил его как NAT, потому что мне нужно, чтобы гостевая ОС имела доступ в Интернет, но я не хочу, чтобы к нему подключались клиенты за пределами хоста. Я также не хотел привязывать гостевую машину ни к проводной сетевой карте, ни к беспроводной сетевой карте, потому что тогда она работала бы только на одной из них.
С другой стороны, всякий раз, когда я подключаюсь к Wi-Fi, появляютсявсегдапроблемы с подключением к Интернету у гостя.
Однажды у меня были проблемы, я набрал текст ipconfig /flushdns
, и вдруг все заработало. С тех пор этого было недостаточно. Очистки DNS недостаточно, чтобы все заработало по Wi-Fi.
Единственный способ, который я нашел, чтобы заставить его работать, — это зайти в настройки VirtualBox для гостя и изменить сетевой адаптер с NAT
на Bridged
. На этом этапе он все еще не будет работать. Однако,сейчасесли я печатаю ipconfig /flushdns
(на госте), все внезапно работает: у меня есть доступ к сети. Более странная вещь, что я теперь могу изменить его обратно на NAT
. Внезапно он перестает работать, но затем, если я это сделаюipconfig /flushdns
снова, это будет работать.
Другими словами, я прошел полный круг, вернувшись к NAT
соединению, которое наконец-то работает. Начальное и конечное состояния — этоточно такой же, так что я в замешательстве, почему гость не может получить сетевое соединение самостоятельно. Если бы мне приходилось вводить команду только ipconfig /flushdns
при каждом подключении к Wi-Fi, это было бы одно, но это настоящая боль — выходить из гостя и менять адаптер с NAT
на Bridged
и обратно на NAT
и затем вводить команду.
Почему это происходит, и, что еще важнее, как это исправить, чтобы все работало так же гладко, как и при проводном подключении? (Мне никогда не приходится печатать ipconfig /flushdns
при переходе с Wi-Fi обратно на Ethernet, например, или возиться с настройками адаптера).
Вот вывод командной строки из недавнего сеанса устранения неполадок:
Только что подключился к Wi-Fi, доступа к сети нет:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\InterLinked>ping google.com
Ping request could not find host google.com. Please check the name and try again
.
C:\Documents and Settings\InterLinked>ping google.com
^C
C:\Documents and Settings\InterLinked>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\Documents and Settings\InterLinked>ping google.com
Ping request could not find host google.com. Please check the name and try again
.
Измените NAT
на Bridged
и попробуйте еще раз:
C:\Documents and Settings\InterLinked>
C:\Documents and Settings\InterLinked>ping google.com
Я прервал его раньше времени, поэтому вывод отсутствует, но пинг не проходит, пока я не очистлю DNS:
^C
C:\Documents and Settings\InterLinked>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\Documents and Settings\InterLinked>ping google.com
Pinging google.com [172.217.7.14] with 32 bytes of data:
Reply from 172.217.7.14: bytes=32 time=15ms TTL=48
Reply from 172.217.7.14: bytes=32 time=13ms TTL=48
Reply from 172.217.7.14: bytes=32 time=15ms TTL=48
Reply from 172.217.7.14: bytes=32 time=20ms TTL=48
Ping statistics for 172.217.7.14:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 20ms, Average = 15ms
C:\Documents and Settings\InterLinked>
Я Bridged
снова переключаюсь на NAT
:
C:\Documents and Settings\InterLinked>ping google.com
Pinging google.com [172.217.7.14] with 32 bytes of data:
Reply from 172.217.7.14: bytes=32 time=15ms TTL=47
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Ping statistics for 172.217.7.14:
Packets: Sent = 4, Received = 1, Lost = 3 (75% loss),
Approximate round trip times in milli-seconds:
Minimum = 15ms, Maximum = 15ms, Average = 15ms
C:\Documents and Settings\InterLinked>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\Documents and Settings\InterLinked>ping google.com
Pinging google.com [172.217.7.14] with 32 bytes of data:
Reply from 172.217.7.14: bytes=32 time=12ms TTL=47
Reply from 172.217.7.14: bytes=32 time=6ms TTL=47
Reply from 172.217.7.14: bytes=32 time=188ms TTL=47
Reply from 172.217.7.14: bytes=32 time=14ms TTL=47
Ping statistics for 172.217.7.14:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 6ms, Maximum = 188ms, Average = 55ms
C:\Documents and Settings\InterLinked>
решение1
Как уже было сказано, решением является включение DNS-резолвера VirtualBox.
Вот точные шаги:
- Выключите ВМ. Включение DNS-резолвера невозможно, когда машина включена.
- Перейдите в каталог VirtualBox нахозяиниз командной строки:
cd C:\Program Files\Oracle\VirtualBox
- Выполните следующую команду:
VBoxManage modifyvm "<VM name>" --natdnshostresolver1 on
<VM name>
— это просто имя виртуальной машины, которое VBoxManage list runningvms
также можно найти, запустив.