背景:
从网上克隆下一个项目后,老师让我们把这个项目在服务器上跑起来,在不购买服务器的情况下,想着有什么办法可以让虚拟机充当服务器。
找原因:
这里我的虚拟机里面的linux版本是CentOS7 NAT连接 WiFi接入网络
确认数据流走向
PS:服务器真实IP为私网地址,且路由器无指向该IP的路由,所以,A需要通过访问服务器的联网地址来访问。由此得出,A访问的实际网址为:192.168.124.11:6080,服务器上需要做地址映射,把访问192.168.124.11:6080的数据转换成192.168.31.128:6080.
尝试解决
这里我虚拟机自己设置的是静态IP,动态IP重启改变很麻烦。
如果还是访问不了,考虑其他因素
排查过程
1、在192.168.124.11的联网口,也就是wlan口用wireshark抓包,192.168.124.10访问192.168.124.11的数据有到达wlan口,再到 VMware虚拟网口抓包,看是否访问的数据包到达且地址是否与转换成功。
2、进入虚拟服务器上抓包,看访问的数据是否到达,如未到达,一步一步排查再哪里断的。
3、如访问的数据到达,看服务器是否回包,如未,检查服务器是否做了限制
常见-ping不通
1、关闭Windows防火墙
2、打开文件和打印机共享(回显请求-ICMPv4-In)
控制面板=>系统和安全=>Windows Defender 防护墙=>高级设置(左边)=>入站规则=>把文件和打印机共享(回显请求-ICMPv4-In)都启用
3、关闭Linux防火墙
firewall-cmd --state # 查看是否running
systemctl stop firewalld #停止firewall
systemctl disable firewalld #禁止firewall开机启动