前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Frps使用说明

Frps使用说明

作者头像
mikelLam
发布2022-10-31 14:41:24
1.4K0
发布2022-10-31 14:41:24
举报

frp 简介

frp 让本地局域网的机器可以暴露到公网,简单的说就是在世界的任何地方,你可以访问家里开着的那台电脑。 FRP 支持 TCP、UDP、HTTP、HTTPS, 就是说不仅仅限于本地web服务器可以暴露,整台机器都可以暴露,windows的远程控制,mac和linux的ssh都可以被暴露。

配置 FRP 服务端的前提条件是需要一台具有**公网 IP **的设备,得益于 FRP 是 Go 语言开发的,具有良好的跨平台特性。你可以在 Windows、Linux、MacOS、ARM等几乎任何可联网设备上部署。

frp 架构

https://mingyue-1300243549.cos.ap-chengdu.myqcloud.com/picgo/20191205/frp-index.png
https://mingyue-1300243549.cos.ap-chengdu.myqcloud.com/picgo/20191205/frp-index.png

frp 原理

frp 主要由客户端(frpc)和服务端(frps)组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。隐藏用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信

https://tc.ctq6.cn/tc/未命名文件.png
https://tc.ctq6.cn/tc/未命名文件.png
  • 首先启动frpc,frpc启动后会向frps注册,也就是内网WEB服务器会向VPS请求注册。
  • 客户端请求frps,也就是当我们的攻击机去访问frps。
  • frps告知frpc有新请求,需要建立连接,也就是VPS告知内网WEB服务器,需要建立连接。
  • frps收到frpc的请求,建立新的连接,也就是VPS接收到了内网WEB服务器的请求,建立了新的连接。
  • frps把frpc和攻击机的流量互相转发,将frps服务器当成流量中转站,也就是VPS将攻击机的流量转发给内网WEB服务器,把内网WEB服务器的流量转发给攻击机

frp 使用systemd管理

安装frps
代码语言:shell
复制
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz -P /usr/local/src

配置服务端frps
代码语言:shell
复制
# 复制进程
cp /usr/local/src/frp/frps /usr/local/bin/frps
cp frps.ini /etc/frp/frps.ini
# 拷贝配置文件
cp frps.ini /etc/frp/frps.ini
# 服务端配置文件说明
cat > /etc/frp/frps.ini <<- 'EOF'
[common]
bind_port = 7000
vhost_http_port = 8000
#subdomain_host = 01member.com
log_level = debug
pool_count = 0
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
EOF
# 配置systemd管理
cat > /usr/lib/systemd/system/frps.service <<- 'EOF'
[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
# 启动
systemctl enable frps
systemctl start frps
systemctl status frps
配置客户端frpc
代码语言:shell
复制
# 复制进程
cp /usr/local/src/frp/frpc /usr/local/bin/frpc
# 拷贝配置文件
cp /usr/local/src/frp/frpc.ini /etc/frp/frpc.ini
# 客户端配置文件说明
cat > /etc/frp/frpc.ini <<- 'EOF'
[common]
server_addr = 10.100.29.41
server_port = 7000

[ssh]
type = tcp
local_ip = 10.20.127.65
local_port = 6667
remote_port = 6667
EOF

# 配置systemd管理
cat > /usr/lib/systemd/system/frpc.service <<- 'EOF'
[Unit]
Description=frpc
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
ExecStop=/bin/kill $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
# 启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • frp 简介
    • frp 架构
      • frp 原理
        • frp 使用systemd管理
          • 安装frps
          • 配置服务端frps
          • 配置客户端frpc
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档