我的上一篇内容讨论了使用frp的客户端服务器上,只有一个或者没有NAT的情况;这次讨论一下frp的服务端服务器如果是在一个NAT中的情况。
当然前提是服务端的NAT是公网。
第一步,在服务端上搭建frps,具体步骤不在此说明(此处的服务端是接入NAT的机器,本身没有公网IP)。
第二步,在客户端上搭建frpc。
/* frps和frpc的配置文件(.toml)的0.54.0格式可以看我的上一篇文章 */
第三步(划重点),在第一层NAT即服务端所在的NAT上进行下列操作(这里不再赘述在哪操作):
开放至少两个内外网端口,且内外网端口要一样,比如一个内网端口是34567,那么外网端口也是34567;另一个内网端口是34568,那么外网端口是34568。
tip:具体协议根据个人需要,这里推荐两个都选:udp/tcp。
2、修改具体的frpc配置(推荐在我之前文章中的实例上进行修改):
serveraddr改为你所开放的外网端口,如34567。
你需要的服务对应的remoteport改为你所开放的另一个外网端口,如34568。服务本身的localip不用改。
第四步(可选),在第二层NAT(i.e.客户端服务器所在的NAT)上开放端口,也叫搭建虚拟服务器,和第一层的操作类似,但是内网端口为你的所需服务的监听端口,外网端口为你的服务对应的remoteport,协议与第一层一样。
ps:为什么这一步可选?因为大部分路由器(或者NAT)都是自动开放相应的端口和协议,所以不用手动操作。
总结:好好学习天天向上!学无止境啊xdm,虽然自己是搞软件的,但是对其他很多方面都很感兴趣,在努力学习,比如计算机网络这方面。希望诸位共同努力。