当前位置:网站首页>frp:开源内网穿透工具
frp:开源内网穿透工具
2022-08-03 07:30:00 【木尧大兄弟】
前言
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
官网GitHub:https://github.com/fatedier/frp
官网文档:https://gofrp.org/docs/
下载与安装
安装包:https://github.com/fatedier/frp/releases
以Ubuntu为例,执行命令下载:
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
执行命令解压:
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
客户端(公网IP设备):保留文件 frps
和 frps.ini
服务端(局域网设备):保留文件 frpc
和 frpc.ini
服务端配置
[common]
bind_port = 8888
token = this_is_your_token
dashboard_port = 10000
dashboard_user = username
dashboard_pwd = password
vhost_http_port = 12888
配置完成后,服务端完成了这些事情:
- 配置了 frp 服务监听端口 8888
- 配置了访问秘钥为 “this_is_your_token”
- 配置了 dashboard 的 port、用户名、密码,访问公网IP:10000,输入用户名密码即可登陆后台
- 配置了监听 12888 端口代理 http 请求
快速启动服务端,执行:
./frps -c ./frps.ini
更多配置,详见:https://gofrp.org/docs/reference/server-configures/
客户端配置
[common]
# 公网IP和服务端监听端口,以及连接秘钥
server_addr = 188.188.188.188
server_port = 8888
token = this_is_your_token
[ssh_local]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10099
[static_file]
type = tcp
remote_port = 11099
plugin = static_file
# 要对外暴露的文件目录
plugin_local_path = /home/xxxx/xxx/share
# 用户访问 URL 中会被去除的前缀,保留的内容即为要访问的文件路径
plugin_strip_prefix = static
plugin_http_user = uuuuuuusername
plugin_http_passwd = ppppppppassword
[web_01]
type = http
local_port = 12888
custom_domains = www.fuck.cn
配置完成后,服务端完成了这些事情:
- common:把服务端的IP、监听端口告诉客户端,然后配置好秘钥以顺利连接
- ssh_local:ssh连接,访问公网IP:10099 即可转发到内网机器22端口
- static_file:公开文件,访问公网IP:11099 输入user和password就可访问共享文件
- web_01:http映射,访问www.fuck.cn:12888 即可发起内网IP:12888 的HTTP请求
快速启动客户端,执行:
./frpc -c ./frpc.ini
注意:应配置防火墙放通上述端口。
开机自启
使用 systemd
来控制 frps,需要先安装 systemd
,然后在 /etc/systemd/system
目录下创建一个 frps.service
文件,写入以下内容:
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.ini
[Install]
WantedBy = multi-user.target
管理frp服务:
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
配置 frps 开机自启:
systemctl enable frps
边栏推荐
- 【图像边缘检测】基于matlab灰度图像的积累加权边缘检测【含Matlab源码 2010期】
- Roson的Qt之旅#105 QML Image引用大尺寸图片
- consul理解
- JS函数获取本月的第一天和最后一天
- 【图像去雾】基于matlab暗通道和非均值滤波图像去雾【含Matlab源码 2011期】
- Roson的Qt之旅#104 QML Image控件
- pyspark---low frequency feature processing
- 华为设备配置BFD与接口联动(触发与BFD联动的接口物理状态变为Down)
- requests库
- - display image API OpenCV 】 【 imshow () to a depth (data type) at different image processing methods
猜你喜欢
现货黄金分析的主要流派
【云原生--Kubernetes】Pod重启策略
Postman will return to results generated CSV file to the local interface
postman将接口返回结果生成json文件到本地
学习笔记:机器学习之逻辑回归
xshell开启ssh端口转发,通过公网机器访问内网机器
华为设备配置BFD多跳检测
【第1天】SQL快速入门-基础查询(SQL 小虚竹)
- display image API OpenCV 】 【 imshow () to a depth (data type) at different image processing methods
品牌方发行NFT时,应如何考量实用性?
随机推荐
智能客服,还有多少AI泡沫?
LiveData 记录下 +
[机缘参悟-59]:《素书》-6-安于礼仪[安礼章第六]
mysqlbinlog: unknown variable 'default-character-set=utf8'
mysql的innodb存储引擎和myisam存储引擎的区别
千万级别的表分页查询非常慢,怎么办?
vs 2022无法安装 vc_runtimeMinmum_x86错误
从学生到职场的转变
sqlserver2019安装失败
推荐系统-排序层-特征工程:用户特征、物品特征
循环神经网络RNN基础《PyTorch深度学习实践》
Shell运维开发基础(一)
【云原生--Kubernetes】Pod重启策略
c现代方法16章基础
解决移动端有纵向滚动条但是不能滚动的问题
tmp
pyspark df secondary sorting
实时目标检测新高地之#YOLOv7#更快更强的目标检测器
用云机器/虚拟机架设方舟游戏?
thop 使用心得