准备工作

首先,需要有一个外网能访问到的服务器,以及一个域名。我用的是腾讯云的服务器,买的是体验版,买的时候附赠了一个域名

1.一个有公网IP的服务器

2.一个域名

3.本地服务器(内网的电脑)

有了这些就可以准备做内网穿透了,先查一下自己电脑的系统是多少位的,不会的自行百度。

注意:一定要安装和自己电脑对应的frp软件。

如:服务器是centOS的就安装linux的服务端软件,而内网的是windows的就安装windows的客户端。

软件下载

先说内网穿透工具,我用的是frp,要说为什么,因为它开源啊,以后有时间了再测试别的吧。 frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

开源免费

使用相对复杂,需要代理服务器支持

官网:https://github/fatedier/frp

文档:自己看官方文档就可以啦

穿透测试:

我是用的可道云做的测试(毕竟简单),可道云地址:https://kodcloud/

说一下,下载,网址:https://github/fatedier/frp/releases

 

软件下载完成了剩下的就是配置和运行了。

配置

准备工作完了,接下来就是配置了,有的说相对复杂,我还真没感觉到,可能是我看的太浅了吧。

首先说服务端的配置,也就是有公网ip的那个服务器的配置。我的是用的腾讯云服务器。

先解释一下frp各个文件,我这里随便找了一个例子,其他的类似,

服务端配置

只要配置到 18080 这里就可以了,下面的是控制板,配置上也可以,

配置:

[common]

bind_port = 7000

vhost_http_port = 18080

[common]

dashboard_port = 7500

# dashboard 用户名密码,默认都为 admin

dashboard_user = admin

dashboard_pwd = admin

 

控制板效果图:

 

到这里就配置完成了,就可以愉快的启动了。

服务端启动:

./frps -c ./frps.ini

 

服务端启动成功,及启动的流程。

 

ps:centOS杀掉指定端口号的进程, SSH执行以上命令,可以查看到88端口正在被哪个进程使用。如进程号为 1777 。

netstat -lnp|grep 88   #88请换为你的apache需要的端口,如:80

kill -9 1777        #杀掉编号为1777的进程(请根据实际情况输入)

客户端的配置

windows的客户端,这里需要windows的frp客户端

右键 frpc.ini =》 选择打开方式 =》 记事本打开;代码如下:

[common]

server_addr = 118.xx.xx.186 #公网ip

server_port = 7000 #服务端配置的端口



#网站服务

[web]

type = http            #类型

local_port = 80        #本地服务的端口号

custom_domains = pan.bt*****a  #我的一个二级域名



[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6000

 

 

客户端启动

 

之后,以管理员身份打开cmd,进入到我们客户端所在的文件夹,运行,代码如下:

C:\windows\system32>d:            //切换到D盘



D:\>cd D:\Users\BABY\Desktop\下载\frp_0.21.0_windows_amd64  //切换到frpc的文件夹



D:\Users\BABY\Desktop\下载\frp_0.21.0_windows_amd64>dir

驱动器 D 中的卷没有标签。

卷的序列号是 F668-2868



D:\Users\BABY\Desktop\下载\frp_0.21.0_windows_amd64 的目录



2018/10/11  14:49    <DIR>          .

2018/10/11  14:49    <DIR>          ..

2018/08/12  12:36         7,539,712 frpc.exe

2018/10/11  14:51               199 frpc.ini

2018/08/12  12:38             5,708 frpc_full.ini

2018/08/12  12:36         9,003,008 frps.exe

2018/08/12  12:38                26 frps.ini

2018/08/12  12:38             2,398 frps_full.ini

2018/08/12  12:38            11,358 LICENSE

               7 个文件     16,562,409 字节

               2 个目录 29,226,008,576 可用字节



D:\Users\BABY\Desktop\下载\frp_0.21.0_windows_amd64>frpc.exe -c frpc.ini  //运行客户端

 

 

 

本机运行的项目就可以访问了,我运行的是可道云,端口号本地是80,代理的端口号是18080  所以访问的时候就是http://pan.xxxx:18080

测试效果如下:

 

linux下配置文件相同,启动的时候和服务端类似,命令是:

./frpc -c ./frpc.ini

 

总结:

 

实现了内网穿透,但是还存在一些问题,如:

每次访问还要输入端口号,感觉很不好,所以想要实现一个直接输入http://pan.xxxx 就能自动代理的

网速收到公网服务器的限制

但总体达到目标。

 

更多推荐

frp进行内网穿透(一)---搭建自己私有网站群及网盘,部署