虚拟机安装的ubutu系统 ping不同宿主机
今天在开发的时候在虚拟机上运行的UButu系统,ping 主机时死活ping不同的问题,一直提示报错,不能达到主机啥的,忘记截图,现在也没有搜到当时的错误,意思就是说访问不到主机的意思,在网上搜了好久,改静态IP 更改虚拟网络设置,关闭防火墙等。一系列措施均没有解决。。就在苦苦挣扎的时候,看到一篇博文是用桥接模式,设置静态IP才可以的。
因此我抱着最后的希望,把虚拟机的所有更改网卡的设置恢复默认状态
还原后,更改模式为 桥接模式,设置桥接模式为自己的网卡配置,再更改虚拟上的虚拟网卡为桥接模式
然后,打开虚拟机系统 UBuntu,设置静态的IP,我的系统为UBuntu20.04设置的静态IP跟其他的版本的不太一样,需要在终端中输入以下命令:
sudo vim /etc/netplan/01-network-manager-all.yaml
修改配置文件,如上填写,根据自己的宿主机上的网卡、DNS填上,ip需要与主机不同;
然后输入命令
sudo netplan apply
重启网络服务。
在ping主机的话就能ping的通,也能访问外网。
总结这次踩坑的原因也不太明确,自己对虚拟机网络这块不太了解,之前设置的 NAT模式为啥一直ping 不通的原因也是不太清楚。感觉像是,网络IP,网关这快设置的有问题,导致的问题。宿主机能PING的通虚拟机,虚拟机PING不通宿主机。。
后续:
这次主要目的不是解决PING通主机的问题,主要还是自己在虚拟机上运行的Django项目不能在Windows上访问,感觉不太方面,主要还是对UBuntu 系统的不熟悉,操作起来也比较的繁琐,就一直想把这个坑给解决了。上面解决了第一步,能够主机和虚拟机能够相互通信。
第二步,我在UBuntu上运行Django项目,在本地可以正常的访问,但是在WINDOWS上还是显示无法连接的问题。百度后找到原因,是在即在pycharm上直接运行的manage.py出现的问题,访问的Url 为 http://1207.0.0.1:8000 这个只能在本地访问,无法在同局域网的其他机器访问,因此将在终端中运行命令:
python manage.py runserver 0.0.0.0:8000
Django项目正常启动后,在WINDOWS上输入UBuntu的ip地址和端口和则可以正常的访问,问题终于得到了解决,心里那个苦啊,不过还好还是解决了问题,不枉我熬了两个晚上来查这个问题。。。
最后,我是个懒人还是想通过pycharm直接点击运行,不行在终端里输入命令比较麻烦。查到可以在pycharm的左上角有个编辑运行的配置的东东,将运行的HOST改成本机的IP运行即可。
路漫漫其修远兮,我将上下而探索!