网站技术 · 2017 年 09 月 11 日 0

frp内网穿透服务器搭建笔记以及免费frp内网穿透服务器的使用方法

为什么琢磨这个frp内网穿透服务,因为有一套视频监控系统使用的移动的网络,一直用的好好的,在远程也可以监控,但是突然不能用了,经过检查移动把分配的公网IP变成了内网IP,跟运营商理论也挺费劲的,所以就用了监控录像机里自带的云端转发,但是使用效果明显不行,速度太慢了,于是就想自己搭建一个内网穿透的服务器,网上虽然有这些服务,比如花生壳、国内的ngrok等等,但是觉得还是自己搭建服务器带宽有保证,下面记录frp服务器安装的笔记。

一、frp服务器搭建的准备工作

1、一台有公网IP的服务器或者VPS,我这里选择了阿里云的vps;

2、一个域名,把这个域名解析到上面所说的服务器或者VPS的IP上,根据需要可以解析泛域名,我这里用了一个frp.xxorg.com做解析,同时解析*.frp.xxorg.com

3、下载frp服务器软件https://github.com/fatedier/frp/releases ,根据自己的系统选择,我的是linux 64位的系统,所以下载了frp_0.9.3_linux_amd64.tar.gz ,文件解压后只需要frps开头的,这个服务器端的文件,frpc开头的是客户端(待穿透的内网计算机)的文件。

二、frp服务器的搭建

其实很简单,把上面下载的frps文件和frps.ini文件复制到服务器上的某个目录,加入放在 /root/frp目录下,然后修改frps文件的权限为可执行,或者直接给予777的权限。然后修改frps.ini的内容为下面的内容,可以删除原文件直接用下面的代码粘贴到frps.ini里面,这里是以特权模式运行,方便添加客户端。

[common]
bind_port = 7000                           # 服务器监听端口
vhost_http_port = 8080                     # http协议穿透时使用的端口
privilege_mode = true                      # 以特权模式运行
privilege_token = keuqricjswosdpfk         # 这个值随意填写,但是要与客户端的值相同
privilege_allow_ports = 50000-60000        # 端口白名单,只有这个范围内的端口可以被使用
max_pool_count = 100
dashboard_port = 5500                      # 管理面板的端口号               
dashboard_user = admin                     # 管理面板的用户名
dashboard_pwd = admin                      # 管理面板的密码

 

然后就可以运行frp服务了,先进入frp目录,然后运行,至此frp服务器就算搭建完成了。

cd /root/frp
nohup ./frps -c ./frps.ini &               # nohup是为了让frp后台运行,关闭控制台后依然能运行,或者使用./frps -c ./frps.ini 关闭控制台后程序就停止了

 

三、内网客户端穿透设置

跟第一步下载软件一样,根据客户端电脑的系统下载对应的程序,我的待穿透的内网电脑是win7 32位系统,所以选择下载frp_0.9.3_windows_386.zip ,解压后,只需要frpc.exe和frpc.ini,这两个文件是客户端文件,同样修改frpc.ini为以下内容。

[common]
server_addr = www.xxorg.com
server_port = 7000
privilege_token = keuqricjswosdpfk          #这个值要与前面服务器端设置的一致
host_http_port = 8080

[ssh1]
type = http
custom_domains = test.frp.xxorg.com         #修改test为其他,不要重名
privilege_mode = true
use_gzip = true
use_encryption = true
local_port = 80
pool_count = 20

然后可以运行客户端的程序进行链接服务器进行穿透了,在命令行里输入

d:\frp\frpc.exe -c d:\frp\frpc.ini

这时访问http://test.frp.xxxx.com:8080就可以看到内网电脑上安装的http服务了。