内网穿透小工具

       内网让网络较为安全,但是也影响了服务暴露和公网实验。现在也有固定公网ip+nat的方式暴露的方案,但是此方案需要向运营商申请固定IP和配置NAT网关,并不适用家用的网络和一些非固定IP环境。 网上虽然有服务商提供动态DNS来解决,但是需要花钱,不是一个做技术的人的好选。 偶然有机会了解一些小工具(frp、ngrok 、 natapp(收费)、小米球、sunny-ngrok、echosite、ssh(autossh)、lanproxy、spike、fcn), 可以完成此类实验工作。本文只介绍frp这个免费的小工具。

准备工作:

       有一个公网IP的服务器(VPS),根据服务器环境,和主机环境下载相应的frp服务器端和客户端。我这里服务器服务器环境是linux 64位,客户端环境是linux 64 端。所以到官网https://github.com/fatedier/frp/releases下载相应版本,写文档时,版本为: v0.21.0; 解压后获得7个文件

开始配置服务端:

服务端只需要两个文件: frps和frps.ini ; 其中frps是服务端执行文件, frps.ini是配置文件; 配置文件如下:

[common]

bind_addr = 0.0.0.0

bind_port = 7000

auto_token = sss

bind_addr 为绑定的本机IP,bind_port 为frp客户端连接的端口, auto_token是客户端与服务端的连接密码。

配置好后即可以运行, 运行命:  :./frps -c ./frps.ini


配置客户端:

同样,客户端配置也只需要两个文件: frpc和frpc.ini    其中frpc是客户端执行文件, frpc.ini是配置文件, 配置文件如下:

[common]

server_addr = 172.16.0.31

server_port = 7000

auto_token = sss

[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6000

server_addr是服务器端的公网IP地址,server_port是frp服务端口号,auto_token是连接服务器的口令,必须和服务器保持一致。[ssh]是客户端通过服务器与用户之间的通道名,每个客户端必须不一样,remote_port是服务器端对外提供本机服务的端口号,即用户连接172.16.0.31:6000,相当于连接127.0.0.1:22,即客户端上的ssh服务。

运行客户端:./frpc -c ./frpc.ini

测试

这样我们就可以在外网通过 ssh 172.16.0.31 -p 6000 连接到内网机器的ssh服务上了。 同理  也可代理https  http 等tcp服务。

你可能感兴趣的:(内网穿透小工具)