研究frp笔记,内网穿透,基于Ubuntu20.04
的frp安装
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
一、下载frp
在github地址:https://github.com/fatedier/frp
Release:https://github.com/fatedier/frp/releases
以下是在服务器中的操作
# 创建文件夹
mkdir frp && cd frp
# 下载frp0.38版本(如果下载速度慢,可采用本地下载后,通过ftp传输到服务器中)
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gzß
# 解压指定目录
tar -zxvf frp_0.38.0_linux_amd64.tar.gz
cd frp_0.38.0_linux_amd64
当前所在目录即为frp
二、运行frps
frp的服务端,需在服务器中运行
修改配置文件
根据frps_full.ini
选出自己所需要的配置
常用配置信息:
frps.ini
[common]
; 绑定frps地址
bind_addr = 0.0.0.0
; frps端口号
bind_port = 7000
; 仪表盘配置
dashboard_addr = 0.0.0.0
dashboard_port = 7500
; 仪表盘账号密码
dashboard_user = admin
dashboard_pwd = admin
; 当前server端的日志输出文件
log_file = ./frps.log
; 日志等级 trace, debug, info, warn, error
log_level = info
; 日志保存最大天数
log_max_days = 3
; 验证方法
authentication_method = token
; token验证
token = 12345678
; if you want to support virtual host, you must set the http port for listening (optional)
; Note: http port and https port can be same with bind_port
; 虚拟http端口
vhost_http_port = 8080
; vhost_https_port = 443
; 域名设置
subdomain_host = yother.cn
将frps.ini保存在与frps同级目录下,运行命令
./frps -c frps.ini
将不会显示log信息,因为在frps.ini
中设置了log_file
的地址,如果想要在控制台中输出日志,注释即可
如果服务器中有防火墙,需要打开7000
和7500
这两个端口,
并且在服务器后台管理中,将端口加入规则
# 使用的是ufw管理Ubuntu防火墙
# 开启端口
ufw allow 7000
ufw allow 7500
三、网关设置
个人服务器使用的nginx做网关,操作如下
设置子域名
在域名解析中,将子域名解析到当前服务器的ip
nginx配置
server {
listen 80;
server_name 域名解析中的子域名/域名;
location / {
proxy_pass http://127.0.0.1:7000;
}
}
四、运行frpc
在本机中设置frp的Client端
将release中的文件,下载到本机中,注意架构的选择
配置frpc.ini
解压目录下的frpc_full.in
为所有的frpc
的配置信息,同上
常用配置:
frpc.ini
[common]
; 连接frps
server_addr = yother.cn
server_port = 7000
; 认证token
token = 12345678
; 日志保存目录
; log_file = ./frpc.log
; 日志等级 trace, debug, info, warn, error
; log_level = info
; 日志保存最大天数
; log_max_days = 3
# your proxy name will be changed to {user}.{proxy}
user = xxxxx
; [ssh]
; type = tcp
; local_ip = 127.0.0.1
; local_port = 22
; remote_port = 6000
[web1]
type = http
; 本机监听地址/端口
local_ip = 127.0.0.1
local_port = 8081
; 是否加密
use_encryption = false
; 是否压缩
use_compression = true
; 子域名[frp.yother.cn]
subdomain = frp
五、仪表盘
frp的web端,可直接查看frp的状态
在frps.ini中的dashBoard配置信息
...frps.ini
; 仪表盘配置
dashboard_addr = 0.0.0.0
dashboard_port = 7500
; 仪表盘账号密码
dashboard_user = admin
dashboard_pwd = admin
注意,需要将7500端口打开
HTTP的连接信息
六、运行结果
创建RestFul项目
在浏览器测试连通
http://frp.yother.cn:8080/ping