无法从主机访问流浪虚拟机


Cannot access vagrant vm from the host machine

我已经用Puphpet设置了一个流浪的虚拟盒子,它运行良好(在Ubuntu 14.04中),我可以通过ssh连接到它。我还使用vagrant hostmanager将虚拟机的IP自动添加到hosts文件中。

hosts文件:

127.0.0.1   localhost
127.0.1.1   pcuser-HP-EliteBook-8470p
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

## vagrant-hostmanager-start id: 2314dd30-24cf-4122-8779-8b755f5e6186
172.22.22.22    projectname.local
172.22.22.22    www.projectname.local
## vagrant-hostmanager-end
## vagrant-hostmanager-start id: c20d4d7f-3ada-4b2a-b142-e44826571754
192.168.56.101  machine1.puphpet
192.168.56.101  symfony.dev
## vagrant-hostmanager-end

问题是当我试图通过IP地址或通过我设置的虚拟主机服务器名称(symfony.dev)从主机访问VM时。

无论何时它都无法连接到它,尽管我已经从主机ping了机器IP,它的响应很好。

起初我没有安装流浪主机管理器,只是手动添加IP和虚拟主机服务器名称(symfony.dev)到hosts文件,但它无法连接。

我已经检查了配置中的设置。他们似乎都很好:

vagrantfile:
target: local
vm:
    provider:
        local:
            box: puphpet/ubuntu1404-x64
            box_url: puphpet/ubuntu1404-x64
            box_version: '0'
            chosen_virtualizer: virtualbox
            virtualizers:
                virtualbox:
                    modifyvm:
                        natdnshostresolver1: false
                    showgui: 0
                vmware:
                    numvcpus: 1
                parallels:
                    linked_clone: 0
                    check_guest_tools: 0
                    update_guest_tools: 0
            machines:
                vflm_zaw8al7jczu3:
                    id: machine1
                    hostname: machine1.puphpet
                    network:
                        private_network: 192.168.56.101
                        forwarded_port:
                            vflmnfp_67om22p4f0j3:
                                host: '5608'
                                guest: '22'
                    memory: '1024'
                    cpus: '1'
    provision:
        puppet:
            manifests_path: puphpet/puppet/manifests
            module_path:
                - puphpet/puppet/modules
                - puphpet/puppet/manifests
            options:
                - '--verbose'
                - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
    synced_folder:
        vflsf_y5mnuhi3ihqh:
            source: ./
            target: /var/www
            sync_type: nfs
            smb:
                smb_host: ''
                smb_username: ''
                smb_password: ''
                mount_options:
                    dir_mode: '0775'
                    file_mode: '0664'
            rsync:
                args:
                    - '--verbose'
                    - '--archive'
                    - '-z'
                exclude:
                    - .vagrant/
                    - .git/
                auto: 'true'
            owner: www-data
            group: www-data
    usable_port_range:
        start: 10200
        stop: 10500
    post_up_message: ''

我是否需要更改配置中的任何内容,或者我缺少或做错了什么?

你启动你的服务器,但它绑定到127.0.0.1/localhost IP,所以它只能从VM访问

需要使用虚拟机的IP或0.0.0.0 IP启动。像这样的代码应该可以工作

php bin/console server:start 0.0.0.0:8000

现在运行正常。最后我发现这是我安装的PuphPet包的问题。我发现apache没有安装在虚拟机上,尽管我在Puphpet GUI上的包构建中选择了它,而且它似乎也按照配置安装了。yaml文件。

谢谢你的助手,弗雷德里克·亨利!