-
问题描述:
我在主机开启了一个phpstudy的服务,在虚拟机中开启了一个weblogic的服务。
主机可以访问主机开启的phpstudy服务,虚拟机不可以。虚拟机可以访问其开启的weblogic服务,主机不可以。 -
配置:
物理机:win10
虚拟机:win7 sp
软件:VM virtualbox -
解决:
-
看着很简单,但是我真的查资料改了好久好久好久好久。。。
- 使用两个网卡,第一个使用NAT模式,第二个使用桥接模式。
几个模式的区别:https://www.xinnet.com/xinzhi/66/116252.html
桥接模式无法设置的解决:https://jingyan.baidu.com/article/9faa7231cbbd7f473c28cba0.html
如何设置第一个为NAT,第二个为桥接模式
如果桥接模式的ip还是不能互相ping通的话,再设置一个host-only网卡。
网络连接3的ip用来主机ping虚拟机。
- 设置防火墙的入站规则
附当时的错误记录:
5.靶机无法访问攻击机网址,攻击机无法访问靶机网址
解决措施:这个问题很难搞,想过有两种可能性,首先就是phpstudy配置不能让外网访问,试了试用手机访问phpstudy搭建的网站(外网访问),发现不能正常访问。再新建了一个网站,查看许多经验贴,然后端口不设置成80,设置端口为6785,然后又新建了一个网站,发现本机可以访问,但是手机还是不能访问这连接。而主机不能访问虚拟机的服务还有一种情况,就是主机和虚拟机互相ping不通,尝试ping了一下虚拟机,显示网络连接超时。这个时候不知道要从哪一方面入手了,应该要先让phpstudy能够被外网访问还是先解决主机和虚拟机不能互ping的问题?我选择先试着让phpstudy能被外网访问,尝试了许久,发现phpstudy只能被处在同一网段的ip访问,没有服务器不能让手机访问。于是换一种解决问题的思路,解决主机和虚拟机不能互相ping的问题。首先,查看自己主机和虚拟机连接的方式是NAT模式,然后疯狂地去查找网络资料。尝试了关闭防火墙,建立端口映射,物理机使用网络共享等等方式,逐一失败。然后去了解关于主机和虚拟机的其他连接方式,尝试使用其他连接方式,但是发现虚拟机只有一个网卡而且只支持NAT模式或者HOST-ONLY模式。先尝试添加一个网卡,添加网卡尝试失败。再使用host-only模式,发现ping主机的报错方式变了。原来的报错方式是:主机ping虚拟机显示网络连接超时;虚拟机ping主机发送四个数据包其中两个包显示网络超时两个包显示访问目标拒绝访问。使用host-only模式时主机ping虚拟机还是显示网络超时,而虚拟ping主机显示general…error。查找的资料中,这一段话对我启发很大,附在下方资料1. 于是想到应该使用桥接模式是最好的。之后重新查看了一下ipconfig。发现了一个ip地址,是物理机上的virtualbox-host-only-network网卡的地址192.168.56.1。尝试主机ping这个地址,成功了,虚拟机ping这个地址,成功了,主机使用phpstudy的localhost地址用wlan地址和这个地址都能成功,以为问题可以解决了,结果在虚拟机中访问物理机搭建的phpstudy服务还是失败了。于是继续准备使用桥接模式,使用桥接模式我却只有一个网卡,重新回到之前的要添加多个网卡,尝试添加网卡失败。换个思路准备把现有的唯一的网卡修改为桥接模式,搜索桥接模式为什么不能使用,查到一篇百度知识的帖子,说桥接模式无法使用是因为主机中没有装上桥接模式的网卡驱动,一查看,确实没有此网卡驱动,于是准备按照说明安装上这个驱动。安装上驱动之后,可以使用桥接模式了。发现虚拟机使用桥接模式之后无法上网,但是可以访问物理机搭建的网站了!查找资料发现虚拟机要连接上外网还要与物理机通信,可以配置两个网卡,第一个使用NAT连接,第二个使用桥接模式。发现无法添加网卡,查找资料也无法添加网卡,然后我把虚拟机关机了,再去点击设置-网络,发现网卡选项可以启用了,原来在开机模式下是无法添加网卡的。解决了问题。最后,使用桥接模式后,主机可以ping通了。