web-dev-qa-db-ja.com

Wi-Fi経由で他のコンピューターからプライベートにアクセスVM

Macで開発するためのプライベートネットワークVMがあります。AndroidデバイスがVM現在、MacのVagrantfile 10.10.10.10で定義されているIPにアクセスして問題なくアクセスできますが、同じWi-Fiの電話からはアクセスできません。

ローカルネットワークで利用できるようにし、Wi-Fi経由で携帯電話に表示するにはどうすればよいですか?

これが私のVagrantfileです

Vagrant.configure("2") do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"

  config.vm.network :private_network, ip: "10.10.10.10"
    config.ssh.forward_agent = true

  config.vm.provider :virtualbox do |v|
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    v.customize ["modifyvm", :id, "--memory", 1024]
    v.customize ["modifyvm", :id, "--name", "PHPBoxWith54"]
  end

  nfs_setting = Ruby_PLATFORM =~ /darwin/ || Ruby_PLATFORM =~ /linux/
  config.vm.synced_folder "./", "/var/www", id: "vagrant-root" , :nfs => nfs_setting
  config.vm.provision :Shell, :inline =>
    "if [[ ! -f /apt-get-run ]]; then Sudo apt-get update && Sudo touch /apt-get-run; fi"


  config.vm.provision :Shell, :inline => 'echo -e "mysql_root_password=root
controluser_password=awesome" > /etc/phpmyadmin.facts;'

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.module_path = "modules"
    puppet.options = ['--verbose']
  end
end
14
David

ホストマシンからのみアクセス可能なプライベートネットワークIPを使用しています(同じWLAN内にある場合でも他のマシンには表示されません)。

あなたの場合、最良の選択は、パブリックネットワーク(ブリッジ)を使用して、Androidデバイスがアクセスできるようにすることです。

追加 config.vm.network "public_network"configブロックのVagrantファイルにあります。

ところで:デフォルトのNATモードは問題ありませんが、アクセスするサービスごとに適切なポート転送ルールを設定する必要があります(SSH、HTTP、HTTPSなど)。

14
Terry Wang

ポート転送ルールがローカルホスト(127.0.0.1)にバインドされていないことを確認するだけで、ネットワーク上の任意のマシンからVagrantに簡単にアクセスできます。

プロバイダーとしてVirtualBoxを使用している場合は、これをその場で変更できるため、デフォルトでプライベートにすることができ(もちろん、より安全です)、VMが実行されて、ネットワーク上の他のマシン(および場合によってはインターネット)にポートを公開します。注意してください!)

ポートを公開するには:

  • VirtualBoxを起動します
  • 左側のサイドバーでVMを選択します
  • Settings | Network | Advanced | Port Forwardingをクリックします
  • ポートリストで公開するポートを見つけます
  • Host IPを空の文字列に設定し、[OK]をクリックします。

これで、ネットワーク上の他のマシン、場合によってはインターネットでポートを使用できるようになりました。ポートを開いても問題がないことが確実でない限り、これを行わないでください。

もちろん、元に戻すには、同じプロセスを実行して、Host IPを127.0.0.1に再度設定します。

1
Brad Parks

これは、ポート転送/ dmzの設定に関する小さな問題である可能性があります。同じマシン上にあるので、物理的に同じアダプタ上にあるため、対話できます。ただし、それ以外の場所にアクセスしようとしている場合は、ポートをいじってみてください。

0
PotatoChip

受け入れられた回答を少し拡張します。vagrantファイルにパブリックネットワークオプションを追加して再読み込みした後、古い方法でsshを実行し、ifconfigを実行して、他の場所からローカルネットワークのVMにアクセスするために使用できるIPを取得します。端末。

ドキュメント: https://www.vagrantup.com/docs/networking/public_network.html

0
user3436598