我的网站部署搭建在本地服务器上的,在内网可以正常访问,但是外网无法访问,该怎么排查?局域网内部经过路由器的,有设置了虚拟服务器转发规则,在互联网公网上还是无法访问服务器怎么办?相信很多人都会遇到类似的内网让公网使用的跨网问题,下面来看看详细的原因和排查方法。
本地服务器部署后外网访问不了的原因主要有以下几种:
1、服务器状态
检查服务器是否开启,并在局域网内测试是否能成功访问。如果服务器未开启或网络不通,外网访问也会失败。
确认服务器状态:在局域网内测试服务器是否开启并能正常访问。
2、程序端口开放情况
确保所有必要的端口都已开放。例如,如果是使用Tomcat等应用,需要确保站点用的如8080端口已开放。可以通过本地telnet端口号,或查看防火墙设置来确认端口是否开放。
开放必要端口:在路由器和本地服务器的防火墙中开放所有必要的端口。
3、防火墙设置
检查路由器和本地服务器的防火墙设置,确保没有过滤掉服务器通信的端口。如果防火墙设置了过滤规则,可能会导致访问失败。
检查防火墙设置:确保没有过滤掉服务器通信的端口。
4、路由器端口映射问题
网络带宽线路经过路由设备的,需要确保路由器端口映射设置正确,即端口转发规则是否正确映射到内网的服务器IP地址。如果端口映射设置不正确,外网用户将无法访问内网服务器。
检查并正确设置端口映射:确保端口转发规则正确映射到服务器的IP地址和端口。
4、特殊应用问题
对于一些特殊应用(如FTP、VoIP等),可能需要路由器支持应用层网关(ALG)功能。如果路由器不支持所需协议,也会导致访问失败。
特殊应用支持:对于特殊应用,确保路由器支持所需协议。如FTP是多端口使用的,需要确保所使用的多个端口号都放行。
5、服务商屏蔽
有些情况下,服务商可能屏蔽了相应的端口,导致外网无法访问。可以通过在路由器WAN口接一台电脑模拟内外网环境进行测试,并通过更换其他非常规进行访问测试。
测试服务商屏蔽:通过模拟内外网环境测试是否被服务商屏蔽端口,通过更换非常规端口号测试。
6、无公网IP网络环境
家庭带宽和普通公司接入网络时,默认没有获取分配到公网IP,这时需要借助类似nat123这样的网络端口映射工具,实现内网地址提供给互联网使用。
内网IP端口变公网地址:使用nat123客户端添加映射,并自定义好对应内外网地址,然后通过自己域名或自动生成的二级域名进行连接访问,且固定域名可以在任意互联网上网地方使用的。
附:检查本地是否公网IP的方法
对比自己本地路由后台WAN口IP和百度搜索“IP”结果的IP地址,来判断:
-如果一样的,表示自己路由获取的是公网IP;
-如果不一样,则表示自己路由本身是内网IP,经过本地网络商中转后的私有地址。