Вопрос или проблема
Я запускал веб-сервер Django на виртуальной машине Ubuntu 22.04 с помощью Parallels (Стандартная версия 20.0.1) на моем Mac M2.
python manage.py runserver 0.0.0.0:8000
Затем я открываю веб-сайт в Chrome/Safari/Firefox на своем Mac OS, указывая в браузере IP виртуальной машины на порту 8000.
http://ip.of.ubuntu.vm:8000
Все работало отлично.
Но вчера я обновил свой MacOS до Sequoia 15.0. Теперь я больше не могу видеть веб-сайт, раздаваемый с виртуальной машины, в браузере хоста.
Я пробовал переключить VM > Настроить > Оборудование > Сеть > Источник с Общая сеть
на Стандартный адаптер
, а также на WiFi
, но это не помогло.
Я могу пинговать IP виртуальной машины с MacOS в терминале, и он находит его. Но браузер не может видеть веб-сайт. Chrome сообщает мне:
Этот сайт недоступен
http://ip.of.ubuntu.vm:8000/donate/ недоступен.
ERR_ADDRESS_UNREACHABLE
Я перезагрузил все. Это не помогло.
В качестве обходного пути, конечно, я могу открыть сайт в Ubuntu. Это работает правильно. Но мне бы хотелось видеть его и на хосте Mac.
Есть ли какие-нибудь предложения?
Заранее спасибо!
Ответ или решение
Чтобы решить проблему с доступом к веб-серверу Django, запущенному в виртуальной машине Ubuntu 22.04 через Parallels на Mac с операционной системой Sequoia 15.0, выполните следующие шаги:
-
Проверка настроек сети виртуальной машины:
- Убедитесь, что ваша виртуальная машина настроена на использование режима "Сетевой мост" (Bridged Network). Это позволит вашей VM получать IP-адрес в той же подсети, что и ваш основной хост (Mac).
- Для этого откройте Parallels, выберите вашу виртуальную машину, перейдите в "Настройки" (Configure) -> "Сеть" (Network) и выберите "Мостовой адаптер" (Bridged Network). Выберите адаптер, который используется вашим Mac.
-
Перезапустите виртуальную машину: После изменения настроек сети обязательно перезапустите виртуальную машину, чтобы изменения вступили в силу.
-
Проверьте IP-адрес виртуальной машины: Откройте терминал в вашей Ubuntu VM и выполните команду
ifconfig
илиip addr
. Убедитесь, что IP-адрес находится в той же подсети, что и IP-адрес вашего Mac. Вам нужен IP-адрес, который начинается с тех же первых двух или трех чисел, например 192.168.x.x. -
Настройка брандмауэра: Убедитесь, что брандмауэр (например, UFW) в Ubuntu не блокирует входящие соединения на порт 8000. Чтобы проверить это, выполните следующие команды в терминале вашей VM:
sudo ufw status
Если UFW включен и порт 8000 не открыт, то выполните следующую команду для его открытия:
sudo ufw allow 8000
-
Запустите сервер Django: Убедитесь, что вы снова запустили сервер Django, используя команду:
python manage.py runserver 0.0.0.0:8000
Это заработает на всех интерфейсах вашего VM.
-
Проверка доступа из браузера на Mac:
- Откройте браузер на вашем Mac (Chrome, Safari или Firefox) и введите адрес, например,
http://ip.of.ubuntu.vm:8000
, гдеip.of.ubuntu.vm
— это IP-адрес, который вы получили на шаге 3.
- Откройте браузер на вашем Mac (Chrome, Safari или Firefox) и введите адрес, например,
-
Дополнительные проверки:
- Если проблема не решена, проверьте вашу интернет-соединение и убедитесь, что другие сетевые условия не мешают (например, VPN, прокси и т. д.).
- Попробуйте временно отключить брандмауэр на Mac и проверьте, сможете ли вы получить доступ к вашему сайту.
Если после выполнения всех вышеперечисленных шагов доступ по-прежнему невозможен, возможно, возникли специфические изменения или конфликты после обновления macOS. Постарайтесь проверить поддержку через документацию Parallels или форумы поддержки, так как может потребоваться установка обновлений или патчей для совместимости.