Frp内网穿透

一、Frp简介

frp是一个可用于内网穿透的高性能的反向代理应用,支持tcp、udp协议,为http和https应用协议提供了额外的能力,且尝试支持了点对点穿透。

二、环境准备

1、需要一台可以直接访问外网的服务器,比如腾讯云的云服务器(CVM)服务端

2、需要做内网穿透的服务器,比如公司内部的局域网测试服务器(客户端)

下载地址:
https://github.com/fatedier/frp/releases

选择最新的就行,一般都是Linux环境。

三、内网穿透案例

1、服务端(又公网IP的)

复制代码
# 创建frp存放目录
[root@VM-16-54-centos ~]# mkdir frp

# 下载压缩包
[root@VM-16-54-centos ~]# wget https://github.com/fatedier/frp/releases/download/v0.34.0/frp_0.34.3_linux_386.tar.gz

# 解压
[root@VM-16-54-centos ~]# tar -zxvf frp_0.34.3_linux_386.tar.gz -C ./frp

[root@VM-16-54-centos frp_0.34.3_linux_386]# pwd
/root/frp/frp_0.34.3_linux_386
[root@VM-16-54-centos frp_0.34.3_linux_386]# ll
total 19348
-rwxr-xr-x 1 1001  116  8392704 Nov 20  2020 frpc
-rw-r--r-- 1 1001  116     8328 Nov 20  2020 frpc_full.ini
-rw-r--r-- 1 root root      132 Jul 25 14:35 frpc.ini
-rwxr-xr-x 1 1001  116 11366400 Nov 20  2020 frps
-rw-r--r-- 1 1001  116     4928 Nov 20  2020 frps_full.ini
-rw-r--r-- 1 1001  116      250 Jul 25 12:48 frps.ini
-rw-r--r-- 1 root root      250 Jul 25 13:21 frps.ini.bak
-rw-r--r-- 1 1001  116    11358 Nov 20  2020 LICENSE
-rw------- 1 root root     2147 Jul 25 15:31 nohup.out
drwxr-xr-x 2 1001  116     4096 Nov 20  2020 systemd

说明:
frpc:客户端可执行程序
frpc_full.ini:客户端所有配置项(可以再此文件查看frp的所有的配置项)
frpc.ini:客户端配置项
frps:服务端可执行程序
frps_full.ini:服务端所有配置项(可以再此文件查看frp的所有的配置项)
frps.ini:服务端配置项
LICENSE:许可证

●服务端只需要编辑frps.ini文件
●客户端只需要编辑frpc.ini文件

# 服务端配置
[root@VM-16-54-centos frp_0.34.3_linux_386]# vim frps.ini
[common]
# 与客户端建立连接端口
bind_port = 7001
# 与客户端校验的token
token = my_token
# 提供web界面端口
dashboard_port = 7600
# web界面登录用户名
dashboard_user = admin
# web界面登录密码
dashboard_pwd = password

说明:默认的配置信息中只有一个绑定端口为7000,意思是我们在外网服务器中绑定7000端口和客户端进行通信。注:端口可以自定义,但是需要客户端和服务端进行统一,腾讯云cvm要在安全组开放7000端口

# 启动
[root@VM-16-54-centos frp_0.34.3_linux_386]# ./frps -c frps.ini


# 后台启动
[root@VM-16-54-centos frp_0.34.3_linux_386]# nohup ./frps -c frps.ini &

2、客户端(内网服务器)

1)客户端服务器可以访问外网

上传压缩包查看frpc.ini文件,修改为如下内容

复制代码
[common]
# 连接frps的IP地址
server_addr = 124.222.214.105     #公网ip
# 连接frps的端口
server_port = 7001                         #和bind_port要一直
# 和frps服务端校验的token
token = my_token
 
# 这里取名随意,一般有意义就行
[ssh1]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6                        # 转发到的内网ip地址
# 本地访问的端口
local_port = 36000                        
# 在frps服务器上对应的端口        # 通过公网的端口进行转发
remote_port = 6000
#也可以在开放一个端口,看需求
[ssh2]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6
# 本地访问的端口
local_port = 36000
# 在frps服务器上对应的端口
remote_port = 6002

# 启动就好了
nohup ./frpc -c ./frpc.ini > file.log 2>&1 &

2)客户端服务器不可以访问外网

首先自己的pc端需要链接内网服务器的交换机

在自己的pc端安装frp到指定文件夹

修改文件:

复制代码
# 修改frpc.ini文件
[common]
# 连接frps的IP地址
server_addr = 124.222.214.105
# 连接frps的端口
server_port = 7001
# 和frps服务端校验的token
token = my_token
 
# 这里取名随意,一般有意义就行
[ssh1]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6
# 本地访问的端口
local_port = 36000
# 在frps服务器上对应的端口
remote_port = 6000

[ssh2]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6
# 本地访问的端口
local_port = 36000
# 在frps服务器上对应的端口
remote_port = 6002

# 添加静态路由
C:\WINDOWS\system32>route add 10.9.0.0 mask 255.255.255.128 10.9.80.1
永久添加就是:route -p add 10.9.0.0 mask 255.255.255.128 10.9.80.1

# pc端启动服务
C:\Users\郭伟杰\Desktop\frp\frp_0.34.3_linux_386>./frpc -c frpc.ini


启动成功。别人就可以通过公网加指定端口链接穿透的服务器了,会直接跳转到内网服务器

复制代码
[c:\~]$ ssh -p6000 root@124.222.124.105
相关推荐
zh路西法5 小时前
【navigation2全局路径更新频率修正】行为树框架的巧妙利用
linux
苏宸啊6 小时前
IPC管道
linux·c++
bush46 小时前
嵌入式linux学习记录十,定时器
linux·嵌入式
峥无6 小时前
Linux进程信号:从基础概念到内核底层原理
linux·运维·服务器·信号处理
广州灵眸科技有限公司6 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 开发(编译)方式说明
linux·服务器·单片机·嵌入式硬件·电脑
土星云SaturnCloud7 小时前
土星云AI边缘计算SE110S系列模型部署实战-YOLOv5
服务器·人工智能·yolo·docker·边缘计算
北山有鸟7 小时前
用开发板的.config替换ubuntu中内核源码目录的.config
linux·运维·ubuntu
qq_452396237 小时前
第二十篇:《Docker 故障排查常用命令与技巧》
运维·docker·容器
jcbut7 小时前
离线安装dify 1.7
linux·运维·dify
艾iYYY7 小时前
string 类的模拟实现
android·服务器·c语言·c++·算法