3

Я работал над настройкой Vagrant с использованием базового блока VirtualBox и хотел бы перенаправить порты между моим гостем (Ubuntu 12.04) и моим хостом (Windows 7) для доступа к серверу apache2, который будет работать на госте.

Проблема, с которой я сталкиваюсь, заключается в том, что при попытке переадресации между портом 80 на гостевой и портом 80 на хосте (или даже 8080) Vagrant будет жаловаться и предупреждать меня о том, что форвардный порт "... уже используется на хост-машине. "

Это не так.

Запуск netstat -a показывает, что ничего не подключено или порт 80 (или даже 8080). После некоторых экспериментов я обнаружил, что, очевидно, бесплатная версия Avast! который я использую, блокирует перенаправленные порты. Не все в Авасте! виноват только их веб-щит.

С Avast! Web Shield отключен, использование приведенного ниже файла конфигурации работает безупречно при загрузке виртуальной машины, когда она включена ... в этом и заключается проблема.

Я хочу попытаться найти решение, которое позволит мне использовать Vagrant, не подвергая риску настройки антивируса, если это вообще возможно, или, по крайней мере, есть решение, которое не имеет тонны предостережений. Намерение состоит в том, чтобы использовать Vagrant как средство, упрощающее настройку разработки, а не усложняющее ее.

Для справки вот мой Vagrantfile:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "precise32"
  config.vm.box_url = "http://files.vagrantup.com/precise32.box"

  config.vm.network :forwarded_port, guest: 80, host: 80

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

end

Я пробовал частные сети, публичные сети и т.д., Но я могу неправильно их настраивать.

Примечание автора. Возможно, этот вопрос уже задавался кем-то другим, и, если это так, я прошу прощения. Все, что я нашел до сих пор, кажется, не подходит в качестве решения, я думаю, что часть проблемы в том, что я не уверен, что знаю правильный вопрос, чтобы задать правильное решение. Если для этого есть существующее решение, пожалуйста, обязательно связывайте его!

1 ответ1

0

После обновления avast!Бесплатный антивирус для версии программы: 2014.9.0.2011 от 2014.9.0.2008 Проблема, похоже, решилась сама собой. Похоже, что произошел конфликт в начале выпуска антивируса Avast в 2014 году. Из их истории обновлений:

  • Полностью переписан WebShield, так что теперь он больше не работает как "прозрачный прокси", что должно привести к общему улучшению стабильности и производительности. Это также позволяет видеть и обнаруживать больше угроз
  • Компонент Firewall (в IS и Premier) стал более совместимым с другими приложениями, такими как Java и различными службами VPN.

В качестве альтернативы, хотя это и не решает проблему перенаправления портов напрямую, публичные и частные сети работают, но имеют свои собственные предостережения:

  • Публичные сети получают собственный IP-адрес в сети, и для доступа к ним необходимо запустить ifconfig в гостевой системе, чтобы определить назначенный IP-адрес. Это увеличивает нагрузку на пользователя, использующего виртуальную машину, так как ему приходится делать дополнительный шаг каждый раз, когда он раскручивает виртуальную машину, чтобы определить IP-адрес своего сервера.
  • Частные сети позволяют назначать статический IP-адрес для частного потребления между хостом и гостем. Возможно, наилучшее из возможных решений, запрещающее переадресацию портов, за исключением того, что вам нужно выбрать IP-адрес для использования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .