有这种情况,在家需要访问某个内网环境,但是内网的ip从外网是访问不到的,这种需要怎么处理呢?
答案是使用代理服务器。
结构如下:
首先描述下我的环境状况,有一个公网ip的A主机(win11),在这台主机上跑了几台虚拟机(假设B,C主机是虚拟机),正常情况下,要从外想访问虚拟机是不行,而在A主机上访问虚拟机的ip是可以的。
这里提供两种访问虚拟机的解决办法,
第一种:
使用端口映射的方式。将A主机的一些端口一一映射到虚拟机需要对外提供服务的端口;
如B虚机上运行mysql端口为3306,那么将A主机的某个端口映射到B虚机的3306,如A主机8889端口映射到B主机3306,此时访问A主机的ip:8889就会访问到B虚机端口3306的mysql服务。(比较简单的是使用nginx进行反向代理)
第二种:
使用代理服务器的方式。因为我A主机是win11,所有这里找到了ccproxy客户端进行开放socks5协议1080端口。然后在需要访问内网地址的电脑上运行proxifier代理客户端,进行代理。
备注说明:如果是公司局域网内电脑通过代理服务器上网,也是同样适用。
代理服务器搭建步骤:
可以点击设置进行修改默认端口。
我使用的mac版本proxifier就不提供下载方式,可以自行搜索下安装包。
配置代理服务器步骤:
保存以后结果:
尝试访问内网地址服务:
代理服务器从搭建到使用就配置好了。