FRP
FRP的好处是不需要公网IP,但是租用服务器的费用是有点高的,而且有的服务器是按流量计费,传输大文件比较心痛。
frp所需条件:一台 VPS、一个域名、一个 Putty 软 件
1、选购 VPS:一般分国内、国外两种,国内的延迟低但价格略高,有时还需要备案; 国外的延迟高,相对便宜。国内推荐阿里云、腾讯云等,国外的推荐一年 19.9 刀的搬 瓦工。
VPS的操作系统务必选择Linux,推荐CentOS
2、选购域名:阿里云的 top 域名首年才 2 块钱,可以一次性买 5 年、10 年。买好之后进入管理界面,点击“解析”。增加两条 A 记录,记录值为刚才 VPS 的 IP 地址,主机记录分别为*和@,意思是把这个域名的所有子域名全部指向 VPS 主 机。
3、安装 Putty:Xshell 或者 Putty 都可以,这个是一个命令行工具,是用于登陆 VPS 执 行操作的工具。由于用的是 Linux 系统,所以所有的操作基本都是命令行的,很少有图 形化界面。下载好打开 putty 后,输入你 VPS 的 ip 地址和端口号:
之后输入用户名 root,输入密码(VPS 的密码,就是 password 的右边),注意在输入密 码的时候是不会显示的,但是实际上是已经输进去了,输好后直接回车。最方便的做法 是先复制密码,之后再 password 的右边点击一次右键然后回车,密码就自动输上去了。
二、安装 frp 服务端、客户端 Frp 是一个开源程序,已经基本都作成了一键脚本,非常方便。 1.服务端(VPS)输入以下命令(CentOS请使用yum安装):
wget https://github.com/fatedier/frp/releases/download/v0.12.0/frp_0.12.0_linux_amd64.tar.gz
2.使用 tar 指令解压 tar.gz 文件
tar -zxvf frp_0.12.0_linux_amd64.tar.gz
3.进入 frp 目录
cd frp_0.12.0_linux_amd64
4.删除不必要的客户端文件
rm -f frpc frpc_full.ini frpc.ini
//版本不同可能稍有差异,
//frpc 为客户端文件
//frps 为服务器端文件
5.配置服务器端文件
vi frps.ini
6.编辑配置文件
[common]
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 7500
dashboard_user = 用户名
dashboard_pwd = 密码
max_pool_count = 5
authentication_timeout = 900
subdomain_host = lekee.cc
[ssh]
listen_port = 6000
auth_token = 和客服端 token 对应
详细解释:
[common] 必填的
bind_port Frp 服务端口(可自定义)
vhost_http_port http 访问端口(可自定义)
dashboard_port dashboard 界面端口
dashboard_user 登录 dashboard 用户名
dashboard_pwd 登录 dashboard 密码
max_pool_count 最大连接池数量
authentication_timeout 超时验证时间
subdomain_host 自定义二级域名
[ssh]
listen_port ssh 访问端口
auth_token 用户身份认证
7.保存上面配置文件,启动 frp 服务器
./frps -c ./frps.ini
客户端配置
1.SSH 登录群晖 NAS (群晖必须开启 ssh)
2.下载 Frp, 删除服务端文件。(因为和服务端配置一样,不再一一赘述。)
sudo -i // 切换 root 用户
wget https://github.com/fatedier/frp/releases/download/v0.12.0/frp_0.12.0_linux_386.tar.gz
tar -zxvf frp_0.12.0_linux_386.tar.gz
cd frp_0.12.0_linux_386
rm -f frps frps_full.ini frps.ini
3.编辑 frpc.ini 文件(客户端配置文件)
vi frpc.ini
4.编辑配置文件如下
[common]
server_addr = ip
server_port = 7000
auth_token = 和服务器端对应
pool_count = 1
[ssh]
type = tcp
local_ip = NAS 局域网ip
local_port = 22
remote_port = 6000
[nas]
type = http
local_port = 5000
subdomain = nas
[web]
type = http
local_port = 80
subdomain = web
详细解释
[common] 必填的
server_addr 服务器端公网
server_port frp 服务端口,和服务器端 bind_port 一致
auth_token 和前面服务器端 [ssh] auth_token 一致
pool_count 连接池数量
[ssh]
type 服务类型(tcp、http、https、udp)
local_ip NAS 本地局域网内网 ip
local_port NAS 开启 ssh 服务端口号,默认 22
remote_port 服务器端 ssh 端口,和服务器端 [ssh] listen_port 配置一致
[nas] NAS 管理界面
subdomain 二级域名 nas.lekee.cc 访问 NAS
type = http 服务类型为 http
local_port NAS 默认端口 5000
[web] NAS web Station 服务,没用可以不用设置
type = http 类型为 http
local_port = 80 NAS web 服务端口
subdomain = web 二级域名 web.lekee.cc
使用自定义二级域名的时候,域名 *.lekee.cc 要解析到服务器 IP
5.保存,运行。(后台运行,请看下面)
./frpc -c ./frpc.ini
此时在服务端会看到”start proxy sucess”字样,即连接成功。
测试运行
ssh 测试
ssh -p 6000 user@服务器ip
user为登录群晖的用户名
能ssh连上去说明成功了。
后台运行
后台运行服务的方法有很多,这里只说一种可以在服务器端(Linux)和客户端(NAS)都可以用的nohup指令。
服务器端
nohup ./frps -c ./frps.ini &
客户端
nohup ./frpc -c ./frpc.ini &
自动启动
参见此教程:frp 自动启动 – 码农的世界
发表回复