ゲストとホスト間の転送時のポート衝突

ゲストとホスト間の転送時のポート衝突

私はセットアップに取り組んできました浮浪者VirtualBox ベース ボックスを使用しており、ゲスト (Ubuntu 12.04) とホスト (Windows 7) の間でポートを転送して、ゲスト上で実行される apache2 サーバーにアクセスしたいと考えています。

80私が遭遇している問題は、ゲストのポートと80ホストのポート (または)の間で転送しようとすると8080、Vagrant がエラーを出し、転送ポートが "..." であるという事実を警告することです。ホストマシン上で既に使用されています

それは違います。

を実行するとnetstat -a、何も接続されていないか、ポート80(または8080) を使用していないことが示されます。いくつか実験した後、どうやら私が使用している Avast! の無料バージョンが転送されたポートをブロックしていることがわかりました。ただし、Avast! のすべてに問題があるわけではなく、Web シールドだけの問題です。

Avast! Web Shield をオフにすると、以下の構成ファイルを使用して VM を起動すると問題なく動作しますが、オンにすると...そこに問題があります。

可能であれば、アンチウイルスの設定を妥協することなく 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

アップデート後avast! 無料アンチウイルスプログラムのバージョン:問題2014.9.0.20112014.9.0.2008解決したようです。Avastのアンチウイルスの2014年以前のリリースとの競合があったようです。更新履歴:

  • WebShield を完全に書き直し、もはや「透過プロキシ」として動作しないようにしました。これにより、安定性とパフォーマンスが全体的に向上します。また、より多くの脅威を検出および検出できます。
  • ファイアウォールコンポーネント(ISおよびPremier)は、JavaやさまざまなVPNサービスなどの他のアプリケーションとの互換性が向上しました。

あるいは、ポート転送の問題を直接解決するわけではありませんが、パブリック ネットワークとプライベート ネットワークはどちらも機能しますが、それぞれに注意事項があります。

  • パブリック ネットワークはネットワーク上で独自の IP を取得し、それにアクセスするには、ifconfig割り当てられた IP を決定するためにゲストで を実行する必要があるようです。これにより、VM を起動するたびにサーバーの IP を決定するための追加手順を実行する必要があるため、VM を使用する個人に大きな負担がかかります。
  • プライベート ネットワークでは、ホストとゲスト間でプライベートに使用するための静的 IP アドレスを割り当てることができます。使用する IP を選択する必要があるという点を除けば、ポート転送を除けばおそらく最善のソリューションです。

関連情報