例如,公网IP为111.44.22.23,内网IP有
如何通过公网IP随意端口号访问内网指定的服务器
一个公共ip对应多个内网,使用的是nat,地址转换协议。
做个nat转换就可以
公网IP并不能知道要访问哪台服务器。
这个问题要分两种,服务端和客户端。
客户端的时候,例如192.168.0.3向外访问CSDN。
192.168.0.3发送的请求通过路由器时,会被再打包,外面会添加上路由信息。
如 【访问CSDN】 被打包为 【192.168.0.3访问CSDN】
然后发给宽带服务商,每次经过一个路由都会被打包一次,添加每个路由节点信息。
返回的信息也会被每个节点解包,最终由家庭路由器发到相应的客户端。
服务端的时候,通常是通过反向代理(一般是NGINX)。
反向代理的配置里面指定了优先接收的内网服务器,可以是随机,可以是上次访问的机器,可以是空闲的机器,这个根据session判断。
理想状态是空闲机器,但大部分软件设计的关系,需要访问上次访问的机器,所以这些要看系统设计和配置。
如果要通过端口访问,那就最简单了,直接在公网入口路由配置就可以了,指定端口转发到哪台机器的哪个端口,就可以了。