VBox Bridge ゲストへの転送 (NAT) が機能しない

VBox Bridge ゲストへの転送 (NAT) が機能しない

私が実現しようとしている設定は次のとおりです。パブリック IP から VBox VM にアクセスできる必要があります。現在、非常に質の悪い Linksys ルーターを使用していますが、外部ポート 8181 を内部ポート 192.168.1.230:8080 (Linux) に転送するように設定しました。192.168.1.230 は、現在ホスト 192.168.1.6 (Linux) で実行されているゲスト VM です。

ブラウザ、または内部ネットワーク 192.168.1.230:8080 から wget をゲスト VM にポイントすると、問題なく動作します。Web ページまたは wget リクエストが返されます。

public_ip:8181 を指定すると、動作しません。ロードがいつまでも続き、wget はエラー応答なしでハングします。ゲストの tcpdump ではパケットの着信が表示されません。ただし、ポート範囲転送アドレスをゲストからホストに変更すると、動作します (ホストで簡単な netcat サーバーを実行しました)。

ホストとゲストの両方の iptables は、すべてのチェーンですべてを受け入れるように設定されています。したがって、パケットがルーターから来ていることが何らかの理由で拒否されているのではないかと考えています。アドバイスや支援をいただければ幸いです。以下は Vagrant の設定です。

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.define "odlVM" do |odlVM|
     odlVM.vm.box = "ubuntu/trusty64"
     config.vm.provider "virtualbox" do |v|
       v.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
       v.customize ["modifyvm", :id, "--memory", "2048"]
     end
     odlVM.vm.hostname = "odl-vm"
     odlVM.vm.network "public_network", bridge: "enp5s0f1"
     odlVM.vm.provision :shell, inline: $bootstrap_ubuntu
     odlVM.vm.provision :shell, inline: $install_java
     odlVM.vm.provision :shell, inline: $download_odl
    end
end

答え1

それで、私はそれを理解しました。それについて考えていなかったのはちょっとバカな気がしますが、VM はデフォルト ゲートウェイをルーターではなくブリッジ アダプターを指すように設定していました。それを変更すると、外部ネットワークから VM にアクセスできるようになりました。

関連情報