首先内网端口是192.168.166.13:8000(linux环境),然后通过防火墙映射到外网IP:8000端口了,现在的问题是在外网(比如自己本机)都可以telnet通这个外网端口,但是内部服务器集群里面所有服务器都无法telnet这个外网8000端口。
经过测试内网服务器集群都是有外网环境的。也都通内网192.168.166.13:8000端口的。
现在就是有需求必须要服务器集群环境内有一台服务器也能访问外网IP:8000端口, 服务器是windows2016的。
请问各位我该如何排查问题
因为你的外网url是在外网的,你的数据包要先出去到外网,然后经过dns解析,再回到外网端口8000,再重新映射到内网ip,形成环了
最简单的办法就是给内网配置host,把url指向内网ip,让它不用从外面绕一圈
解决方法
telent 通,有时候表现的不够具体
你可以试下 linux内网这台机器 安装个nginx 8000访问为默认页面,
然后
curl 192.168.166.13:8000
查看是否获得nginx默认页面,如果是说明 192.168.166.13:8000
正常外网ip:8000
端口来查看是否是nginx默认页面, 如果是说明192.168.166.13:8000
到外网ip:8000
端口的映射正常外网ip:8000
端口来查看是否是nginx默认页面,顺便说下,按照你的描述可能有几种情况:
1、内网机器的防火墙没开,不允许访问这个外网ip:8000
,如果是这样需要联系it开放下
因为有的内网,允许上网,但是默认值开放22端口,443端口
2、内网机器可以访问到 外网ip:8000
,但是在访问转发到内网的8000端口时被限制或者转发失败
但感觉根据你的描述,第一种可能性更大点,
内网其他机器虽然可能可以上网(比如http:http://www.baidu.com/ https://www.baidu,com),但只是22、443端口,可能是默认开放的
对于其他端口需要单独开放。
如有问题及时沟通
-
要保证服务器集群环境内的那一台服务器可以ping通 192.168.166.13 这台服务器。
这个和路由器有关,需要支持一个功能,名字忘记了,具体功能就是通过路由器的外网IP,访问同一个内网的设备。
刚想起来,好像叫NAT回环,端口回流什么的。
一般防火墙是禁止从内网绕道出口再访问内网服务映射后的外网端口的。
需要在防火墙上做下配置,这个需要根据你互联网出口防火墙的类型来。
1、H3C防火墙,你需要在内网接口加上命令:nat hairpin enable
2、华为防火墙,你需要8000端口允许的安全域你需要加上trust,需要允许从内网访问。
其他的厂商防火墙可以咨询厂商。
首先你要确保你的内网服务器可以访问外网。如果内网服务器都访问不了外网,他怎么能去访问外网的端口呢?