前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >frp内网穿透(已验证)

frp内网穿透(已验证)

作者头像
用户10002156
发布2022-12-21 21:40:04
5290
发布2022-12-21 21:40:04
举报
文章被收录于专栏:生活处处有BUG生活处处有BUG

云服务器frp内网穿透教程

软件源码在https://github.com/fatedier/frp/releases上,根据系统类型,按需下载。

教程术语描述

A 是有固定IP的云服务器(这里以阿里云服务器为例) B 是公司内网服务器 C 是家里windowns系统

配置服务器A

步骤1:源码准备

代码语言:javascript
复制
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
cd frp_0.45.0_linux_amd64/

步骤2:修改frps.ini

代码语言:javascript
复制
[common]
bind_port = 7000

步骤3:开放端口

  1. 开放服务器防火墙

7000端口是供内网服务器B来监听 10000端口是供云服务器A转发到内网服务器B用的

代码语言:javascript
复制
apt install firewalld # 安装防火墙
firewall-cmd --permanent --zone=public --add-port=7000/tcp
firewall-cmd --permanent --zone=public --add-port=10000/tcp
systemctl reload firewalld
  1. 阿里云控制台开放7000、10000端口

实例详情》配置安全组规则》配置规则 (协议TCP)

步骤4:部署frp

代码语言:javascript
复制
./frps -c frps.ini

# 成功运行如下
2022/12/10 11:59:30 [I] [root.go:206] frps uses config file: frps.ini
2022/12/10 11:59:31 [I] [service.go:196] frps tcp listen on 0.0.0.0:7000
2022/12/10 11:59:31 [I] [root.go:215] frps started successfully

配置内网服务器B

步骤1:源码准备

代码语言:javascript
复制
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
cd frp_0.45.0_linux_amd64/

步骤2:修改frpc.ini

代码语言:javascript
复制
[common]
server_addr = 8.134.210.33 # 服务器的公网IP
server_port = 7000

[ssh] #这个名字可以随便改
type = tcp
local_ip = 127.0.0.1 #一般不修改
local_port = 22 #外界连接本机的哪个端口
remote_port = 10000 #外界可以通过哪个端口访问进来

#外界通过  公网IP + remote_port  ---访问--->  local_ip + local_port 
#如:访问8.134.210.33:10000 实质访问 127.0.0.1:22

步骤3:户端部署frp

代码语言:javascript
复制
./frpc -c frpc.ini

# 成功运行如下
2022/12/10 12:09:51 [I] [service.go:357] [bdd6a6b31aa4727a] login to server success, get run id [bdd6a6b31aa4727a], server udp port [0]
2022/12/10 12:09:51 [I] [proxy_manager.go:142] [bdd6a6b31aa4727a] proxy added: [ssh]
2022/12/10 12:09:51 [I] [control.go:177] [bdd6a6b31aa4727a] [ssh] start proxy success

在家里登录公司内网服务器

通过公网IP+端口访问公司内网的服务器

ssh的IP是云服务器的公网IP 端口号是内网服务器B的对外开放端口(云服务器也需要开放这个端口)

代码语言:javascript
复制
ssh xj@8.134.210.33:10000

附加操作

1、将服务器端、客户端程序放到后台运行

代码语言:javascript
复制
服务器端
nohup ./frps -c frps.ini >/dev/null 2>/dev/null &

客户端
nohup ./frpc -c frpc.ini >/dev/null 2>/dev/null  &

2、将frp放至开机自启动(Ubuntu20.04方案)

step1.创建rc-local.service文件
代码语言:javascript
复制
sudo cp /lib/systemd/system/rc-local.service /etc/systemd/system

然后修改/etc/systemd/system/rc-local.service,在文件最下方添加如下两行

代码语言:javascript
复制
[Install]   
WantedBy=multi-user.target   
Alias=rc-local.service
step2:创建rc.local文件

创建**sudo vi /etc/rc.local **,里边写自己想要运行的命令。例:

代码语言:javascript
复制
#!/bin/sh
echo "This is test(xj)" > /tmp/my.log

#自行修改为绝对路径
nohup /root/frp/frpc -c /root/frp/frpc.ini &

/etc/rc.local加上可执行权限

代码语言:javascript
复制
sudo chmod +x /etc/rc.local
step3.测试

启动后可以发现:/tmp下已经有了my.log文件,里边内容为:"This is test"。

systemctl命令

启动服务

代码语言:javascript
复制
sudo systemctl start rc-local.service

查看服务状态

代码语言:javascript
复制
sudo systemctl status rc-local.service

好了,教程就到这里了

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-13,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 生活处处有BUG 微信公众号,前往查看

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

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 云服务器frp内网穿透教程
    • 配置服务器A
      • 步骤1:源码准备
      • 步骤2:修改frps.ini
      • 步骤3:开放端口
      • 步骤4:部署frp
    • 配置内网服务器B
      • 步骤1:源码准备
      • 步骤2:修改frpc.ini
      • 步骤3:户端部署frp
    • 在家里登录公司内网服务器
      • 附加操作
        • 1、将服务器端、客户端程序放到后台运行
        • 2、将frp放至开机自启动(Ubuntu20.04方案)
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
    http://www.vxiaotou.com